Колонки збільшення VBA Excel


0

Я намагаюся об'єднати декілька стовпців різної довжини в 1 стовпець на іншому аркуші, щоб забезпечити можливість виводу з цієї колонки.

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

Нижче наведено код, з яким я працював. Я намагаюся використовувати ідентифікацію осередків для збільшення числа стовпців, але я отримую визначення програми або помилку визначення об'єкта 1004.

Sub TestTwo()
   Sheets("Transposed").Activate
   Dim row As Double

   row = 3

  'Do Until Sheets("Transposed").Range("B" & row).Value = ""
   Do Until Sheets("Transposed").Range(Cells(row, "B")).Value = ""

  Sheets("OneList").Range("B" & row - 1).Value = Sheets("Transposed").Range("B" & row).Value
row = row + 1

Loop


End Sub

Перше значення виконуватиметься, поки рядок не буде прокоментовано, оскільки я намагаюся працювати з ідентифікатором комірок, перш ніж спробувати збільшити.

Що я роблю неправильно?

Відповіді:


4

Діапазон () шукає адресу або діапазон осередків. Використовуйте осередки () самостійно:

Do Until Sheets("Transposed").Cells(row, "B").Value = ""

Діапазон не схожий на одиничну посилання Cells ().


Дякую Скотту. Це було так розчаровує, тому що я знав, що це щось просте, але не міг зрозуміти, як вирішити цю проблему. Тепер все працює так, як задумано!
user2957915

2

Скотт точно правильний (+1). Але, я б підійшов до цієї проблеми трохи інакше, ніж ви з For петлі. Таким чином, ви можете бути більш точними, і відстежувати, що все робить, якщо вам потрібно збільшити масштаб

Option Explicit
Sub CombineColumns()
    Dim sourceColumns As Long
    Dim lastRow As Long
    Dim combinedRow As Long
    combinedRow = 1
    Dim sourceRows As Long

    For sourceColumns = 2 To 4 'B, C, D or whatever your range is
        lastRow = Cells(Rows.Count, sourceColumns).End(xlUp).Row
        For sourceRows = 1 To lastRow
            Sheet2.Cells(combinedRow, 1) = Cells(sourceRows, sourceColumns)
            combinedRow = combinedRow + 1
        Next
     Next sourceColumns
End Sub
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.