【问题标题】:Merge cells with the following blank ones将单元格与以下空白单元格合并
【发布时间】:2011-10-12 11:54:34
【问题描述】:

我正在编写一个用于从已关闭的工作簿中自动读取数据的代码。

我在格式化时遇到了一些问题。问题是当我连续阅读一些文本(每个文本后跟六个空单元格)时,我正在尝试合并以下空白单元格。

For Row = 1 To NumRows
    For Column = 3 To LastColumn
        Range(Cells(Row, Column).Address, Cells(Row + 1, Column + 6).Address).Merge
    ...

这会将所有内容合并到一个单元格中。如果我有 10 个包含文本的单元格,我想要 10 个合并的单元格。

有什么想法吗?

【问题讨论】:

  • 什么不起作用(或不符合预期)?
  • 假设我有 70 个单元格...第一个包含文本,接下来的六个什么都没有,八个包含文本,依此类推。这应该给我 10 个合并的单元格,但相反,它将每 70 个单元格合并为一个。

标签: excel vba


【解决方案1】:

它确实会合并您的整个单元格,因为您逐个解析。 有意义的是,您的程序所做的是:

  • 解析单元格A1
  • 与接下来的 6 个单元格合并 --> 单元格 A1:A6 合并
  • 解析单元格A2
  • 但是...嘿,这将尝试将单元格A2 合并到A6

你可以做什么:

  1. 在 for 循环中使用 step 选项 - 有关详细信息,请参阅 here
  2. 在解析时检查单元格是否已经合并。如果是,则在 for 循环中使用 continue 语句

问候,

【讨论】:

    猜你喜欢
    • 2022-01-26
    • 2022-12-07
    • 2015-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-12
    • 1970-01-01
    相关资源
    最近更新 更多