如何在Excel VBA脚本中增加单元格?

时间:2010-12-07 21:59:52

标签: excel vba excel-vba excel-2007

我在excel中有一个数据,我想制作一个VBA脚本,将其复制到一个新的工作表中,但方式不同。 例如,我在A1~A3单元格的sheet1中有这个。

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脚本中使用了refedit控件,但我不确定如何增加单元格数以使其复制并粘贴到新工作表中。我想使用refedit控件,以便我可以分配任何单元格并使其复制并重复自己。我如何在VBA脚本中执行此操作?

3 个答案:

答案 0 :(得分:3)

查看Range RowsCellsAddress媒体资源。这应该有所帮助。你的问题太过模糊,无法直接回答。


(这会让你开始。)

Range.Row Property

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

返回范围中第一个区域的第一行的编号。只读很长。

实施例

For Each rw In Worksheets("Sheet1").Rows
    If rw.Row Mod 2 = 0 Then
        rw.RowHeight = 4
    End If
Next rw 

答案 1 :(得分:2)

要在Excel VBA中增加单元格,可以使用Range对象的Offset属性,例如

ActiveCell.Offset(1, 1).Select

将选择一行向下的单元格和活动单元格右侧的一列。

答案 2 :(得分:0)

要添加Geoffrey关于活动单元格的答案 - 如果它与当前活动的工作表不同,则还需要激活您要输入值的工作表。此外,您必须激活单元以使用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的偏移属性是指基于当前活动单元格的其他单元格。

例如 -

偏移(行,列) -

First Argument - 作为第一个参数的正值表示当前活动单元格下方的行,而负值表示当前活动单元格上方的行

第二个参数 - 作为第二个参数的正值表示当前活动单元格右侧的列,负值表示离开当前活动单元格的列