Excel VBA应用程序来电者复制2个范围
朋友,我在编程上很穷,但也许有人愿意帮忙。
我的电子表格包含18个范围和2个不同的保护区标题。 我需要将1个标题和1个范围复制并合并到另一个不受保护的区域。 用户应该按下一个button,macros将数据带到可以粘贴的新位置。
对于button操作,我有一个application.caller隐藏和显示行。 我认为这是一个好的开始。 我也有一组范围的复制macros。 我想把这两个结合到一个新的macros。
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() 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`
我的范围被称为:
标题:
- RHEAD1
- RHEAD2
范围:
- RIVA1
- RIVA2
- RIVA3
- …..
- RIVA6
- RMVA1
- RMVA2
- …..
- RMVA12
build议的button名称:btn_RHEAD1_RIVA1或btn_RHEAD2_RMVA12
如何从执行复制任务的应用程序调用者运行macros? 谢谢