Vba 在一个变量中设置两个不相关的范围
我有两个不相关的范围(С3:D5,F3:G5)。我想在一个变量(A)中设置它们。 弹出错误“1004”。有可能吗?如果是的话,怎么做Vba 在一个变量中设置两个不相关的范围,vba,excel,variables,range,runtime-error,Vba,Excel,Variables,Range,Runtime Error,我有两个不相关的范围(С3:D5,F3:G5)。我想在一个变量(A)中设置它们。 弹出错误“1004”。有可能吗?如果是的话,怎么做 Sub пг() Dim book1 As Workbook Dim book2 As Workbook Dim A As String 'C3:D5 'F3:G5 A = "C3:D5&F3:G5" Set book1 = Workbooks.Open("E:\Super
Sub пг()
Dim book1 As Workbook
Dim book2 As Workbook
Dim A As String
'C3:D5
'F3:G5
A = "C3:D5&F3:G5"
Set book1 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\1.xlsx")
Set book2 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\2.xlsx")
'по листам
book1.Worksheets("Лист1").Activate
Range("" + A + "").Copy
book2.Worksheets("Лист1").Activate
Range("" + A + "").Select
Selection.PasteSpecial Paste:=xlPasteAll
book1.Close
End Sub
复制/粘贴在非连续范围内不起作用。您需要分两个步骤来完成:
Sub пг()
Dim book1 As Workbook
Dim book2 As Workbook
Set book1 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\1.xlsx")
Set book2 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\2.xlsx")
'по листам
book1.Worksheets("Лист1").Range("C3:D5").Copy book2.Worksheets("Лист1").Range("C3:D5")
book1.Worksheets("Лист1").Range("F3:G5").Copy book2.Worksheets("Лист1").Range("F3:G5")
book1.Close
End Sub
复制/粘贴在非连续范围内不起作用。您需要分两个步骤来完成:
Sub пг()
Dim book1 As Workbook
Dim book2 As Workbook
Set book1 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\1.xlsx")
Set book2 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\2.xlsx")
'по листам
book1.Worksheets("Лист1").Range("C3:D5").Copy book2.Worksheets("Лист1").Range("C3:D5")
book1.Worksheets("Лист1").Range("F3:G5").Copy book2.Worksheets("Лист1").Range("F3:G5")
book1.Close
End Sub
另一种选择
Sub Demo()
Dim book1 As Workbook, book2 As Workbook
Dim rng
Set book1 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\1.xlsx")
Set book2 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\2.xlsx")
For Each rng In Range("C3:D5,F3:G5").Areas
book2.Worksheets("Лист1").Range(rng.Address).Value = book2.Worksheets("Лист1").Range(rng.Address).Value
Next rng
End Sub
注意:以上代码只会粘贴值。另一个选项
Sub Demo()
Dim book1 As Workbook, book2 As Workbook
Dim rng
Set book1 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\1.xlsx")
Set book2 = Workbooks.Open("E:\Super M\Проект ставки\Поиск решения\Усов 6\Процесс создания\Индекс формы команды\Вспомогательные проги\пг\2.xlsx")
For Each rng In Range("C3:D5,F3:G5").Areas
book2.Worksheets("Лист1").Range(rng.Address).Value = book2.Worksheets("Лист1").Range(rng.Address).Value
Next rng
End Sub
注意:上面的代码只会粘贴值。
A=“C3:D5&F3:G5”
应该是A=“C3:D5,F3:G5”
,但复制/粘贴不会在非连续范围内工作。只需进行两次复制/粘贴。A=“C3:D5&F3:G5”
应该是A=“C3:D5,F3:G5”
,但复制/粘贴在非连续范围内不起作用。只需复制/粘贴两次。我也在观看;)我终于得到了Excel VBA金徽章,现在我有了“力量”:@ShaiRado No evil mwahaha?很明显,你只是假装是一个仁慈的暴君,并隐藏你接管世界的实际计划。哈哈,这是mwa,mwa,mwaha,mwaha。。。等等(你明白了)我也在看;)我终于得到了Excel VBA金徽章,现在我有了“力量”:@ShaiRado No evil mwahaha?很明显,你只是假装是一个仁慈的暴君,并隐藏你接管世界的实际计划。哈哈,这是mwa,mwa,mwaha,mwaha。。。依此类推(你得到它)我给+1,但你把书的顺序颠倒了,应该是book2..=book1…
我给了+1,但是你把书的顺序颠倒了,应该是book2..=第1册…