【问题标题】:VBA, Using range on two separate cellsVBA,在两个单独的单元格上使用范围
【发布时间】:2015-08-03 20:41:01
【问题描述】:

我正在尝试复制单元格 B5F5 并将它们粘贴到不同工作表中的单元格 A1B1 中。为此,我正在使用以下代码复制这些单元格:

 Range(cell.address, cell.Offset(0, 4).address).copy

但这是选择 B5 到 F5,而不是单个单元格。怎么了?

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    您的范围未按您预期的方式处理(它被视为连续)

    使用这个语法:

    Range(cel.Address & "," & cel.Offset(0, 4).Address).Copy
    

    【讨论】:

    • 工作。你能详细说明你的评论吗?我没有完全理解。您是说“范围”将项目视为一个输入而不是用逗号分隔的参数吗?我在哪里可以找到它?注意:如何在 cmets 中添加换行符?
    • 当然。这是来自Microsoft 的一个链接,用于引用范围(我有另一个链接,但现在找不到)。只是一些示例:Range("C5:D9,G9:H16")(多区域)、Range("1:1,3:3,8:8")(第 1、3 和 8 行)和 Range("A:A,C:C,F:F")(A、C 和 F 列)
    • 抱歉,我错过了您的最后一个问题:要在 cmets 中添加换行符,您可以使用 vbCrLf / Chr(13) + Chr(10), vbCr / Chr(13), vbLf / Chr(10 ), vbNewLine / Chr(13) + Chr(10)/Chr(13);类似:Cells(1, 1).AddComment: Cells(1, 1).Comment.Text Text:="abc" & Chr(10) & "def"
    • 我实际上是指stackoverflow cmets(就在这里)。最后的两个空格对我不起作用。测试
    • 我明白了 - 这些 cmets 非常有限(我认为您不能添加换行符)但是要查看您可以在其中做什么,请单击右侧的“帮助”链接:评论使用 mini-Markdown 格式:link_italic bold code。帖子作者将始终收到您的评论通知。要通知之前的评论者,请提及他们的用户名:@peter 或 @PeterSmith 都可以使用_
    猜你喜欢
    • 2014-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-26
    相关资源
    最近更新 更多