Vba 在列中添加数据
我被这部分所困扰,如果我必须单击工作表中的示例activeX按钮,则从另一个工作表保存的数据将显示在从第4行开始的O列中。如果用户单击sample2按钮,则在O列中对sample按钮所做的更改将保存在A列中,为sample2按钮保存的数据(即B列)将替换O列中的数据Vba 在列中添加数据,vba,excel,Vba,Excel,我被这部分所困扰,如果我必须单击工作表中的示例activeX按钮,则从另一个工作表保存的数据将显示在从第4行开始的O列中。如果用户单击sample2按钮,则在O列中对sample按钮所做的更改将保存在A列中,为sample2按钮保存的数据(即B列)将替换O列中的数据 Private Sub OptionButton1_Click() Dim main, data As Worksheet Dim i, lRow As Integer Set main = ThisWorkbook.Sheets
Private Sub OptionButton1_Click()
Dim main, data As Worksheet
Dim i, lRow As Integer
Set main = ThisWorkbook.Sheets("Main")
Set data = ThisWorkbook.Sheets("Data")
For i = 4 To 18 ' starts in 4 because it is where I want to start to copy the data
lRow = lRow + 1
main.Range("O" & i) = data.Range("A" & lRow)
Next i
End Sub
这仅复制数据表中的数据。但是不知道如何做相反的一个,如果我点击另一个按钮,当前在O列中的数据将保存在数据表的A列中。谢谢。只需更改以下内容:
data.Range("A" & lRow) = main.Range("O" & i)
进入:
现在将数据O中的值放入数据A中以上代码从Main中获取值并将其放入数据中。当您声明:这仅复制数据表中的数据?我的意思是从复制的数据表中复制到主表/在同一行中声明多个变量时要小心,您仍然必须为每个变量编写类型,否则它们将是变量:Dim Main As Worker,数据作为工作表,Dim i作为整数,lRow作为整数。此外,不需要循环,因为您的范围不是动态的:main.RangeO4:O18.Value=data.RangeA4:A18.Value足够了。在解释您想要做什么时,您能更清楚一些吗?当我们点击Sample:Cloumn时,数据工作表的A被复制到主工作表的O列中。当我们点击Sample2时:main的O列被复制到数据的Cloumn A中,与Sample完全相反。但是用B列代替O列会怎么样??您可以编辑您的问题吗?只有在用户单击另一个按钮时,才能将数据从主数据表复制到数据表。@ramj您可以使用您的代码创建新按钮并更改我发布的内容。
data.Range("A" & lRow) = data.Range("O" & i)