【问题标题】:how to paste contents of named range based on active cell contents using VBA如何使用 VBA 根据活动单元格内容粘贴命名范围的内容
【发布时间】:2016-01-14 15:50:18
【问题描述】:

我正在尝试根据活动单元格内容(来自数据验证下拉菜单)粘贴命名范围的内容。

活动单元格内容等于命名范围名称。

工作表中有 40 个奇怪的命名范围,我想通过选择特定单元格并调用宏将它们粘贴到列中。

我可以创建变量并将活动单元格内容分配给变量,但我看不到如何将变量分配给命名范围的名称并粘贴内容。

我尝试了以下代码:

Sub PrintRange()
'
' PrintRange Macro
'
' Keyboard Shortcut: Ctrl+Shift+L
'
    Dim LO As Variant
    Set LO = ActiveCell
    Application.Goto Reference:="LO"
    Selection.Copy
    Sheets("Test page").Select
    Range("A1").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
 
End Sub

谁能给我一些建议?

【问题讨论】:

  • 你有没有尝试过
  • 是的,抱歉我在其他电脑上,有点匆忙,
  • 我是用眼睛抄的-
  • 将 LO 作为变体变暗;设置 LO = ActiveCell; Application.Goto 参考 = "LO";选择.复制; ActiveCell.Offset 等; ActiveSheet.Paste;结束子
  • 你怎么看。我尝试了几种数据类型等。我确定这是我将 LO 变量分配给命名范围名称的方式...

标签: vba excel


【解决方案1】:

希望对你有帮助:)

Sub linga()
Dim srcRange As Range, destRange As Range
'Replace Num with your named range
Set srcRange = Range("Num")
Set destRange = ActiveCell.Resize(srcRange.Rows.Count, srcRange.Columns.Count)

destRange.Value = srcRange.Value
End Sub

【讨论】:

  • 感谢磨坊,那么“Num”是最初设置为活动单元格的变量吗?
  • 不要介意这个问题。今晚晚些时候我会好好弄清楚的。我明白你在说什么。谢谢!
【解决方案2】:

这在一天结束时效果很好:

子打印范围() ' ' 打印范围宏 ' ' 键盘快捷键:Ctrl+Shift+L ' LO = ActiveCell Application.Goto 参考:=(LO) 选择.复制 表格(“数据输入”)。选择 ActiveCell.Offset(0, 1).Range("A1").Select ActiveSheet.Paste Application.CutCopyMode = False

结束子

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-06-21
    • 2019-10-22
    • 2017-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-14
    • 1970-01-01
    相关资源
    最近更新 更多