【问题标题】:MergeCells with defined range (Run-time error 1004)具有定义范围的 MergeCells(运行时错误 1004)
【发布时间】:2014-07-01 15:54:11
【问题描述】:

我正在尝试根据两个单元格值合并单元格,这两个单元格值会根据用户输入而变化,但我正在使用以下代码进行探测:

    SafB = 5 + 2 * Sheets("LinksTable").Range("X2").Value - 2 * Sheets("LinksTable").Range("W2").Value
    SafE = 5 + 2 * Sheets("LinksTable").Range("X2").Value - 1

    Set SafRB = Sheets("Report").Range("B1").Offset(SafB - 1, 0)
    Set SafRE = Sheets("Report").Range("C1").Offset(SafE - 1, 0)

    Sheets("Report").Range("SafRB:SafRE").MergeCells = True

例如,单元格 W2 和 X2 的值会根据为给定杠杆选择的指标数量而变化,在本例中为“安全”。因此,如果用户为安全杠杆选择 2 个指标,W2 = 2(该杠杆的指标数量)和 X2 = 2(报告中的累积指标数量;安全是第一个杠杆,在这种情况下,累积等于总数)。

给定上面的代码,SafB=5 和 SafE=8。因此我需要合并的单元格是 B5:C8。

但是,每当我运行上述代码时,都会收到以下错误消息:

“运行时错误'1004':应用程序定义的或对象定义的错误”。

任何帮助将不胜感激!

【问题讨论】:

  • 您正在发送字符串文字 "SafRB:SafRE" 作为范围参数。此错误意味着您的工作表或工作簿上没有定义这样的范围。试试Sheets("Report").Range(SafRB, SafRE).Merge

标签: excel merge runtime-error vba


【解决方案1】:

您正在发送字符串文字“SafRB:SafRE”作为范围参数。此错误意味着您的工作表或工作簿上没有定义这样的范围。

我认为这应该可行。使用您的范围变量作为 Range 方法的参数,如下所示:

Sheets("Report").Range(SafRB, SafRE).Merge

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-08-01
    • 2017-05-04
    • 1970-01-01
    • 1970-01-01
    • 2017-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多