excel宏从单元格向表中添加值

时间:2016-10-09 12:20:03

标签: excel vba excel-vba macros

我希望每次按下按钮时使用宏将工作表中某个单元格的值添加到另一个工作表中的表中。例如,第一次按下按钮我希望工作表2中的单元格A1的值等于工作表1中的单元格C3,下一次工作表2中的B1等于工作表1中的C3,依此类推。如果要添加的单元格为空,宏应该只向表中添加一个值。

这是我到目前为止所做的:

Sub Button32_ClickandUpdate
    myVariable = Worksheets("Worksheet1").Range("C3")

    For i = 1 To 6
        If IsEmpty(Cells(1, i)) Then
            Worksheets("Worksheet2").Range(Cells(1,i)) = myVariable
            Exit Sub
        End If
    Next i
End Sub

非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

尝试以下代码,一次更新一个单元格(当单元格为空时)

Sub Button32_ClickandUpdate()

    For i = 1 To 6
        If IsEmpty(Sheets("Worksheet2").Cells(1, i).Value) Then
            Sheets("Worksheet2").Cells(1, i).Value = Sheets("Worksheet1").Range("C3").Value                
            Exit Sub
        End If
    Next i

End Sub

评论:您也可以在没有.Value

的情况下使用此功能

答案 1 :(得分:0)

试试这个:

Sub Button32_ClickandUpdate
    myVariable = Worksheets("Worksheet1").Range("C3")

    For i = 1 To 6
        If IsEmpty(Worksheets("Worksheet2").Cells(1, i)) Then
            Worksheets("Worksheet2").Cells(1, i) = myVariable
            'Exit Sub (remove or comment this line to update all cells at the sime time)
        End If
    Next i
End Sub

修改 根据给出的新描述:

Sub Button32_ClickandUpdate
    myVariable = Worksheets("Worksheet1").Range("C3")

        i = 1
        While i < 7
            If IsEmpty(Worksheets("Worksheet2").Cells(1, i)) Then
                Worksheets("Worksheet2").Cells(1, i) = myVariable
            End If
            i = i + 1
        Wend
End Sub