Excel VBA:如何将范围指定为活动表列

Excel VBA:如何将范围指定为活动表列,excel,vba,Excel,Vba,我喜欢选择整个“表列”,复制它,然后将它作为值粘贴到同一个表列上。我喜欢这个宏在任何excel表格上工作。我录制了一个宏,但是,我无法将此绝对引用更改为相对引用: Sub FixedColumn() ActiveCell.Range("A1:A4950").Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose

我喜欢选择整个“表列”,复制它,然后将它作为值粘贴到同一个表列上。我喜欢这个宏在任何excel表格上工作。我录制了一个宏,但是,我无法将此绝对引用更改为相对引用:

Sub FixedColumn()
ActiveCell.Range("A1:A4950").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
End Sub
我尝试了
ActiveCell.entireclumn
,但选择了整列而不是表列。
另外,我无法正确使用
ActiveCell.ListOjbect

我得到了一个不同的解决方案来定义活动表列

  • 按其
    标题选择整个
    表格列
    ,然后运行以下宏
  • 子固定列()
    选择,复制
    Selection.Paste特殊粘贴:=xlPasteValues
    末端接头

  • 就是这样,它会将整个
    表列
    更改为固定值列。将其保存到
    PERSONAL.XLSB
    文件,以便在任何excel文件中使用它:

    你想干什么?如果只想粘贴值,只需执行
    Range(“A1:A4950”).Value=Range(“A1:A4950”).Value
    。无需复制/粘贴特殊信息。根据需要调整范围范围(“A1:A4950”)或计算公式单元格中的任何其他范围。我只想做定值单元格。我希望有一个相对引用宏,我可以在任何计算表列上运行它,使其成为固定值列。然后只需更改范围?或者使用允许用户选择范围的输入框(类型8)。或者创建循环等。是的,我可以更改每个新表的范围。但是,相对参考宏将更易于使用。由于我已将此宏保存到我的hidden personal.xlsb,我将尝试创建inputbox选项,但我不知道如何循环。