Я создаю сложный лист распространения, где я могу отслеживать звонки через нашу сеть различным клиентам в соответствии с каждой неделей. У меня есть два листа: «raw_data» и «Sheet1».complex excel macro
Я копирую данные с нашего сервера в «Sheet1» в вертикальную компоновку и запускаю макрос, который удаляет ненужные строки данных.
В «сырых данных» объемы вызовов затем должны сортироваться в соответствии с именем клиента в горизонтальной компоновке. То, что я хочу на этом листе, - это хотя бы одна кнопка с назначенным макросом, который будет искать через столбец А для следующей свободной ячейки, вставить новую строку, добавить следующую дату в последовательности (19/03/2012, 26/03/2012, ...) и, наконец, скопируйте данные из «Sheet1» и вставьте значения под соответствующими заголовками столбцов (тогда я хочу удалить содержимое «Sheet1», но сохраните значения в «raw_data»).
Я знаю, VBA, чтобы вставить новую строку в определенном месте, но не в конце длинного списка Вот код, у меня есть:.
Sub Insertrow()
Rows("33:33").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Любая помощь будет большим или даже подобные примеры было бы здорово поэтому я могу редактировать их самостоятельно, чтобы я мог учиться.
Спасибо!
Марк
UPDATE
Я не мог добавить код на комментарий в правильном формате. Так что здесь идет снова ...
Sub Insertrow()
'Selects next empty cell in column A
ActiveWindow.ScrollRow = 2
Range("A2").Select
Selection.End(xlDown).Offset(1, 0).Select
'Inputs the next date
Dim n As Long, k As Long
Application.ScreenUpdating = False
Rng = 1
Range(ActiveCell, ActiveCell.Offset(Val(Rng) - 1, 0)).EntireRow.Insert
k = ActiveCell.Offset(-1, 0).Row
'copies the formula 1 cell from the left (Column A) to the row below
n = Cells(k, 1).End(xlToLeft).Column
Range(Cells(k, 1), Cells(k + Val(Rng), n)).FillDown
End Sub
То, что я хочу сделать сейчас, это поиск через колонку на Лист1 для конкретной строки текста (заголовок из raw_data) скопировать значение из этого ряда, который находится под дата, которая была сгенерирована из кода (см. выше). Вероятно, я мог бы использовать код, аналогичный приведенному выше, или вложенную инструкцию if, но значения из Листа будут удаляться еженедельно. Возможно ли это, или я просто мечтаю об этом в моей голове?
Попробуйте End (XLdown), чтобы добраться до следующей пустой строке. – Dan