Я довольно новичок в Excel VBA и сейчас пытаюсь взять данные из нескольких строк и перенести их в один столбец.Я знаю, где начнется первая ячейка данных, но это все, что я знаю.Каждая строка данных - это строка разного размера, и столбцов может быть разное количество.
Так что мой текущий метод использует своего рода транспонирование, когда я просто выбираю очень большой диапазон (в надежде, что онзахватывает все мои данные) и затем транспонирует его.Он работает, хотя и довольно медленно, и также включает в себя все пробелы в моем диапазоне.
Sub transpose()
Dim InputRange As Range
Dim OutputCell As Range
Set InputRange = Sheets("Sheet1").Range("P1:AC100")
'output will begin at this cell and continue down.
Set OutputCell = Sheets("Sheet1").Range("A1")
For Each cll In InputRange
OutputCell.Value = cll.Value
Set OutputCell = OutputCell.Offset(1, 0)
Next
End Sub
Текущий метод не самый плохой, но я уверен, что есть лучшие методы, которые быстрееи игнорировать пробелы.Я не уверен, является ли фактическая транспонирование лучшим способом или, возможно, с использованием какого-либо метода цикла.Данные обычно содержатся в пределах 200 строк и 10 столбцов, если это помогает при выборе метода (возможно, цикл может быть достаточно быстрым).Буду признателен за любую помощь!
Редактировать
Я нашел способ игнорирования пробелов:
For Each cll In InputRange
If Not IsEmpty(cll.Value) Then
OutputCell.Value = cll.Value
Set OutputCell = OutputCell.Offset(1, 0)
End If
Next