Как увеличить ячейку в скрипте Excel VBA? - PullRequest
2 голосов
/ 08 декабря 2010

У меня есть данные в Excel, которые я хочу сделать сценарий VBA, чтобы скопировать их в новый лист, но другим способом. Например, у меня есть это в sheet1 в ячейках A1 ~ A3.

Adam(A1)
Sam(A2)
Smith(A3)

Я хочу использовать эти ячейки и создать следующую таблицу на другом листе с помощью элемента управления refedit.

Adam(A1)
Adam(A2)
Adam(A3)
Adam(A4)
Sam(A5)
Sam(A6)
Sam(A7)
Sam(A8)
Smith(A9)
Smith(A10)
Smith(A11)
Smith(A12)

В скрипте VBA у меня есть элемент управления reedit, но я не уверен, как увеличивать номера ячеек, чтобы он копировался и вставлялся в новый лист. Я хотел бы использовать refedit control, чтобы я мог назначать любые ячейки, копировать и повторять их. Как мне сделать это в сценарии VBA?

Ответы [ 3 ]

3 голосов
/ 08 декабря 2010

Проверьте свойства Range Rows, Cells и Address.Это должно помочь.Ваш вопрос слишком неопределенный для прямого ответа.


(Это поможет вам начать.)

Range.Row Свойство

http://msdn.microsoft.com/en-us/library/bb221550(office.12).aspx

Возвращает номер первого ряда первой области в диапазоне.Только для чтения Long.

Пример

For Each rw In Worksheets("Sheet1").Rows
    If rw.Row Mod 2 = 0 Then
        rw.RowHeight = 4
    End If
Next rw 
2 голосов
/ 10 декабря 2010

Чтобы увеличить ячейки в Excel VBA, вы можете использовать свойство Offset объекта Range, например,

ActiveCell.Offset(1, 1).Select

выберет ячейку на одну строку вниз и один столбец справа от активной ячейки..

0 голосов
/ 07 января 2013

Чтобы добавить к ответу Джеффри об активной ячейке - вам также потребуется активировать лист, который вы ищете, чтобы ввести свои значения, если он отличается от того, который активен в данный момент. Кроме того, вам нужно будет активировать ячейку, чтобы использовать activecell и свойство смещения activecell. Например

     'Activates the name of the sheet you would like to activate
    Sheets("Sheet2").Activate  

    'Activates cell A1
    Range("A1").Activate

    'Activates cell one row down, one column right
    ActiveCell.Offset(1,1).Select  

   'if current sheet is not activate you just do Sheets("Sheet2").Range("A1").Activate

Свойство смещения ActiveCell относится к другим ячейкам на основе текущей активной ячейки.

Например-

Смещение (строка, столбец) -

Первый аргумент -Положительные значения в качестве первого аргумента указывают на строки ниже текущей активной ячейки, а отрицательные значения указывают на строки выше текущей активной ячейки

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

...