Excel VBA应用程序调用方复制2个范围
朋友们,我的编程能力很差,但也许有人愿意帮忙 我的电子表格在保护区中包含18个范围和2个不同的标题。我需要将1个标题和1个范围复制并组合到另一个未受保护的区域。用户应该按下一个按钮,宏将数据带到新的位置,在那里可以粘贴数据 对于按钮操作,我有一个application.caller用于隐藏和显示行。我认为这是一个好的开始。我还有一个用于1组范围的复制宏。我想把这两个合并到一个新的宏中Excel VBA应用程序调用方复制2个范围,excel,vba,copy,range,Excel,Vba,Copy,Range,朋友们,我的编程能力很差,但也许有人愿意帮忙 我的电子表格在保护区中包含18个范围和2个不同的标题。我需要将1个标题和1个范围复制并组合到另一个未受保护的区域。用户应该按下一个按钮,宏将数据带到新的位置,在那里可以粘贴数据 对于按钮操作,我有一个application.caller用于隐藏和显示行。我认为这是一个好的开始。我还有一个用于1组范围的复制宏。我想把这两个合并到一个新的宏中 Sub Macro_copy_RIVA1() Range("RHEAD").Copy Rang
Sub Macro_copy_RIVA1()
Range("RHEAD").Copy
Range("RIVA1").Copy
Application.Goto Reference:="R1120C2"
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Cut
End Sub
我的隐藏/显示行的应用程序调用方是(由于Stackoverflow)
Sub ShowHideRows()
暗淡的边缘
'将调用按钮名称拆分为数组
'(数组将以零为基)
arr=Split(Application.Caller,“\”)
“**编辑**检查数组的大小应为。。。
如果UBound(arr)3,则退出Sub
如果IsNumeric(arr(1))和IsNumeric(arr(2)),则
如果代码在工作表模块中,则使用ActiveSheet的“Me”,否则使用“ActiveSheet”
.Unprotect密码:=“”
'arr(1)确定起始行
'arr(2)确定行的#
'arr(3)确定行是否隐藏
.Cells(arr(1,1).调整大小(arr(2,1).EntireRow.Hidden=(arr(3)=“H”)
。保护密码:=“”
以
如果结束
端接头`
我的范围称为:
标题:
- RHEAD1
- RHEAD2
- 里瓦1
- 里瓦2
- 里瓦3
- 里瓦6
- RMVA1
- RMVA2
- RMVA12
Sub ShowHideRows()
Dim arr
'split the calling button name into an array
' (array will be zero-based)
arr = Split(Application.Caller, "_")
'**EDIT** check array is expected size...
If UBound(arr) <> 3 Then Exit Sub
If IsNumeric(arr(1)) And IsNumeric(arr(2)) Then
With ActiveSheet ' "Me" if the code is in the sheet module, else "ActiveSheet"
.Unprotect Password:=""
'arr(1) determines start row
'arr(2) determines # of rows
'arr(3) determines if rows are hidden or not
.Cells(arr(1), 1).Resize(arr(2), 1).EntireRow.Hidden = (arr(3) = "H")
.Protect Password:=""
End With
End If
End Sub`