Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA-如何正确使用合并的单元格/大区域?_Excel_Vba_Loops_Error Handling_Merge - Fatal编程技术网

Excel VBA-如何正确使用合并的单元格/大区域?

Excel VBA-如何正确使用合并的单元格/大区域?,excel,vba,loops,error-handling,merge,Excel,Vba,Loops,Error Handling,Merge,在完成一个大项目后,我正在努力使代码正确。我已经看过了,现在我正在尽我最大的努力认真地应用这些规则。我已经完成了命名、评论、测试等工作 我现在正试图重构代码。我有多张表,多个区域包含数千个单元格。 我在每个区域做类似的事情,所以我尝试使用通用函数,而不是一些适合每个区域的代码行。根据我的工作方式,我遇到了两个问题 下面是一个简单的例子: 在观察牢房里的东西之前,我想把它们清理干净 第一种选择: I loop trough zone and clear them. for each Z

在完成一个大项目后,我正在努力使代码正确。我已经看过了,现在我正在尽我最大的努力认真地应用这些规则。我已经完成了命名、评论、测试等工作

我现在正试图重构代码。我有多张表,多个区域包含数千个单元格。 我在每个区域做类似的事情,所以我尝试使用通用函数,而不是一些适合每个区域的代码行。根据我的工作方式,我遇到了两个问题

下面是一个简单的例子:

在观察牢房里的东西之前,我想把它们清理干净

第一种选择:

I loop trough zone and clear them.
      for each Zone in Zones
            zone.clearcontents
            [work on zone]
            for each cell in cells
                [work on cells]
            next
       next
这曾经是有效的,但在第二次发布后,我遇到了错误“太多不同的单元格格式”,我不知道如何处理,所以我尝试了这样做:

for each Zone in Zones
        [work on zone]
        for each cell in cells
        cell.clearcontents
            [work on cells]
        next
next
但现在我在合并单元格时出现了一个错误,“无法更改合并单元格的部分内容”

我不知道如何优化代码,保持简单并处理这些错误。
您将如何解决此问题?

1)下载XLGeek以修复过多的格式。2) 不要使用合并的单元格。曾经VBA讨厌它们。没有外接程序的解决方案是什么?(我公司严格的互联网政策)如果设计工作簿的经理喜欢使用合并单元格,该怎么办?1)在xl2003之后的今天,太多的格式是一种罕见的怪兽,这真的不应该是一个需要解决的常规问题。2) 改用