У меня есть электронная таблица с более чем 100 вкладками с относительно одинаковым форматом данных, но на некоторых листах больше или меньше строк, чем на других.У меня есть лист с именем EMP_NUM со всеми номерами и именами сотрудников.У меня есть лист Master , в который я хотел бы скопировать все относительные данные на мастер-лист.Номера сотрудников, указанные на листе EMP_NUM , соответствуют именам более 100 листов.В конце я хотел бы, чтобы в каждой строке на листе Master первая ячейка была номером сотрудника, а остальные ячейки в строке - данные, собранные со всех других листов.
Данные листа employee # , которые необходимо скопировать, начинаются с A4 и заканчиваются в TX, где X равно наибольшему номеру строки в столбце A, который все еще имеет значение.
Я думалиспользования данных в EMP_NUM , вызываемых в процедуре, для поиска правильного листа для копирования данных, поскольку они будут соответствовать, но также для использования в качестве первой ячейки в строке.
Когда я закончу, я могу добавить свои формулы для расчета данных.Прошло более 6 лет с тех пор, как я немного поболтал в VB в Excel, и я не уверен, что делать.Спасибо за вашу помощь!!Пожалуйста, дайте мне знать, если мне нужно что-нибудь прояснить.
** ДОБАВЛЕНО **
Я думаю, что первым шагом будет поискпервый лист для копирования данных.Чтобы найти первый лист, функция должна перейти на лист EMP_NUM и посмотреть, что такое первое число, это число точно соответствует названию нужного нам листа.Это может быть intEmpNum
Затем на соответствующем листе я выясняю, сколько строк за строкой 4 содержит данные.Эти строки будут диапазон для копирования.Скопируйте этот диапазон в первую доступную строку на листе Master , начиная со столбца B, оставив пока столбец A пустым.Столбец A предназначен для intEmpNum для всех строк, в которых есть данные в столбце B, но нет столбца A.
Затем найдите номер следующего сотрудника в EMP_NUM и повторите процедурупока в столбце А на листе Emp_NUM
больше нет номеров сотрудников. Это то, что я имею до сих пор -
Sub Button1_Click()
Dim intEmpNum As Integer 'employee number
Dim strEmpCell As String 'row that employee number is in
strEmpCell = 1
Do Until Sheets("EMP_NUM").Range("A" + strEmpCell).Value = 0
intEmpNum = Sheets("EMP_NUM").Range("A" + strEmpCell).Value
strEmpCell = strEmpCell + 1
Loop
MsgBox ("The value was not found!")
End Sub