下面的代码在第四行不起作用。如果有人可以帮助您。我想使用输入框中的信息来输入VBA代码。如果消息框显示b25,我希望它复制b25中的数据并将其粘贴到另一张纸中,如下所示。
谢谢
Sub MsgBoxYesNoCancel()
input_Cells = InputBox("Input column")
MsgBox "Want to Continue?", vbYesNoCancel
input_Celli = InputBox("Input row number")
ActiveSheet.Range("'input_Cells' & 'input_Celli'").Copy
Worksheets("ACV").Activate
Range("G36").PasteSpecial xlPasteValues
End Sub
这是@BigBen建议的实现。您可以输入单元格引用,也可以单击一个单元格或范围。请注意,如果用户单击“取消”按钮,并且该代码允许在这种情况下从宏中退出,则会发生错误。
Sub CopyToG36()
Dim Source As Variant ' range to copy from
On Error Resume Next
Set Source = Application.InputBox("Select the source data", "Transfer data", Type:=8)
If Err.Number = 0 Then
Source.Copy Destination:=Cells(36, "G")
End If
End Sub
上述思想的逻辑扩展是根本没有InputBox。您可以简单地选择要复制的内容并运行宏。对于该操作,单行代码就足够了。试试吧。
Sub CopyToG36_2()
Selection.Copy Destination:=Cells(36, "G")
End Sub