我对VBA很陌生,并且无法创建用于移动数字块的快速宏。
我想要创建的是按下按钮时的按钮:
将(i,5)的内容移动到E63
从(i,16)到F67的细胞:F110
取决于第10行是否包含“低”或“高”从组中移动三个单元格 N106:N109到单元格(i12:i14)[其中i是列参考)。
代码的Range部分是完成此任务并且它们正常工作,我遇到的问题是我的Do.Until行和引用Column(i)
有谁知道这有用吗?感谢
更新 所以,多亏了Siddharth的帮助,我已经能够解决所有问题,即Range函数中有一个字符串的行。我不在这里使用.Formula而是粘贴的原因是否则所有单元格A12:A14到Z12:Z14将等于相同的不正确的东西。在其他部分无关紧要。我在这些行上遇到类型13不匹配错误。
Sub Columntest()
Dim i As Integer
i = 5
Do Until Cells(5, i).Value = ""
If Cells(10, i).Value = "Low" Then
Range("E63").Formula = Cells(5, i)
Range("F67:F110").Formula = Cells(16, i)
Range("O106:O108").Copy
Range("=" & Columns(i) & "12").PasteSpecial Paste:=xlPasteValues
End If
If Cells(10, i).Value = "High" Then
Range("E63").Formula = Cells(5, i)
Range("F67:F110").Formula = Cells(16, i)
Range("N106:N108").Copy
Range(Columns(i) & "12").PasteSpecial Paste:=xlPasteValues
End If
i = i + 1
Loop
End Sub
答案 0 :(得分:0)
类型不匹配是因为您尝试连接范围引用中的列对象和字符串:
Range("=" & Columns(i) & "12").PasteSpecial Paste:=xlPasteValues
请尝试使用此代码:
Cells(12, i).PasteSpecial Paste:=xlPasteValues