【发布时间】:2015-01-22 02:33:00
【问题描述】:
我最近了解了 vba。
我已经制作了一个包含一些字段的表单,这个字段的功能是
- 工作表名称
- 范围复制
- 范围粘贴
Private Sub CommandButton1_Click()
Dim barisawal As String
Dim sampaiawal As String
Dim tujuanawal As String
Dim tujuanakhir As String
barisawal = bariske.Text
barisakhir = TextBox2.Text
tujuanawal = TextBox3.Text
tujuanakhir = TextBox4.Text
sheetawals = sheetawal.Text
sheetakhirs = sheettujuan.Text
Worksheets("sheetawals").Range("barisawal:barisakhir").Copy
Worksheets("Sheetakhirs").Range("tujuanawal:tujuanakhir").Paste
End Sub
当我单击提交按钮 CommandButton1 时,我收到运行时错误 #9“下标超出范围”。
这是我想要做的:用户将在表单中填写工作表名称、范围和工作表目标以进行粘贴。
【问题讨论】:
-
第一件事是你的变量
sheetawals、sheetakhirs、barisawal等已经被定义为字符串,所以你不需要在它们周围加上引号(")。 -
在我从 -> Worksheets(sheetawals).Range(barisawal:barisakhir).Copy 中删除“”后,错误发生了变化
-
下一个问题是
Range(...)声明。给出的答案显示了如何解决这个问题。 -
谢谢,现在我的脚本工作了。哦,是的,我将
Worksheets(sheetakhirs).Range(strRangePaste).Paste添加到`Worksheets(sheetakhirs).Range(strRangePaste).PasteSpecial` -
我也经常使用
.PasteSpecial paste:=xlvalues。