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? 谢谢