Как извлекать данные из других таблиц Excel

Я занимаюсь составлением листа счетов клиентов, у меня есть все мои данные о клиентах на отдельных листах в книге. У меня также есть какая-то приборная панель, которую я бы хотел спроектировать.

Мой вопрос: есть ли способ добавить номер учетной записи, он выполнит поиск во всех листах для соответствующего номера учетной записи и потянет нужные поля, не выполняя поиск по книге.

Пример: Dashboard

Search Button номера счета

на моей панели инструментов следующие поля

 Clients Address, Client billing charges, discounts .... 

при поиске он найдет соответствующий номер счета и потянет информацию в соответствующие ячейки.

какие-нибудь идеи об этом лучше всего?

Это панель инструментов

Я бы хотел ввести номер учетной записи и соответствовать дате на моем листе цен, а также всем элементам Item и дать мне цену. введите описание изображения здесь

Лист цены, строка 1 имеет все номера счетов, а в столбце B указаны все коды номеров позиций. введите описание изображения здесь

спасибо

Вам нужно будет добавить кнопку управления ActiveX и назовите ее GenerateInvoiceButton

Затем вставьте следующий текст в свой личный рабочий лист «DashBoard»

Я указал с комментариями, где вам нужно будет вставить правильное имя рабочего листа и позицию ячейки

  Private Sub GenerateInvoiceButton_Click() Dim AccountNumberRange As Range Dim AccountColumn As Range Dim LastAccountColumn As Long Dim AccountDataRange As Range Dim DataWS As Worksheet Dim DashBoardWS As Worksheet Dim AccountNumber As String Dim SelectedAccountLastRow As Long Dim SpecificAccountDataSet As Range Dim DashBoardDataStartPosition As Range 'Change DataSheet to the sheet name of your sheet with the account data Set DataWS = ThisWorkbook.Sheets("DataSheet") 'Change DashBoardSheet to the sheet name of your sheet with the DashBoard Set DashBoardWS = ThisWorkbook.Sheets("DashBoardSheet") 'This should be set to the cell under the "UnitCost" in the INITIAL TAKE-ON COST section on your DashBoardSheet Set DashBoardDataStartPosition = DashBoardWS.Cells(16, "F") 'This should be the cell in which you insert the account number AccountNumber = DashBoardWS.Range("G3").Value 'Quititng the Code if there is no Account Number If AccountNumber = Empty Then MsgBox "Please Insert an Account Number" End End If With DataWS LastAccountColumn = .Columns(.Columns.Count).End(xlToLeft).Column End With 'Starting from 4 because your account number start at Column D Set AccountNumberRange = DataWS.Range(DataWS.Cells(1, 4), DataWS.Cells(1, LastAccountColumn)) Set AccountColumn = AccountNumberRange.Find(What:=AccountNumber) If AccountColumn Is Nothing Then MsgBox "Account Number: " & AccountNumber & _ vbCr & vbCr & "Not Found!" & vbCr & _ vbCr & _ "Please enter a valid Account Number." Else With DataWS SelectedAccountLastRow = .Rows(.Rows.Count).End(xlUp).Row 'Starting at Row 2 because of your header row Set SpecificAccountDataSet = .Range(.Cells(2, AccountColumn.Column), .Cells(SelectedAccountLastRow, AccountColumn.Column)) SpecificAccountDataSet.Copy End With DashBoardDataStartPosition.PasteSpecial Paste:=xlPasteValues End If End Sub 
Interesting Posts

Excel VBA Повторное обнаружение и замена / из таблицы /

Цвет ячейки смены Excel

Чтение одного файла Excel одновременно в java

Worksheet_Change Macro – Изменение нескольких ячеек

Excel VBA: найдите первое значение в строке больше 0 и суммируйте следующие 4 ячейки

Excel – лучший формат файла для макросов и форм

VBA: создание подстрок из JSON и переформатирование в столбцы

Позиционирование ActiveX Combobox в заголовке документа Excel

Отключить окно проверки сертификата безопасности Windows в IE при запуске скрипта VBA

IF и OR для значений ячеек в столбце (столбцах)

Как сравнить данные в каждой ячейке в столбцах с помощью VBA, скопировать значение ячеек в следующий столбец и вставить в другую таблицу?

Excel Index Top 5 Значения, где другая колонка меньше или больше, чем число

Закругленное значение Неправильная установка в Excel

Добавление месяцев вместе или работа в базе 12

Excel VBA импортирует данные в существующую базу данных Access

Давайте будем гением компьютера.