Excel VBA,更快,更清晰的方法来查找匹配值/索引匹配并从另一列返回值?

时间:2015-05-19 12:15:26

标签: excel excel-vba match vba

我在下面编写的代码用于替换工作表中的一些索引匹配公式。它似乎工作得很好,但我认为循环有点笨拙,可能容易出错。有没有人有任何建议的改进?

CompanyData = new Mongo.Collection('companyData');
CompanyData.attachSchema(new SimpleSchema({
    allFields: {
        type: String,
        allowedValues: ['title', 'logo', 'url'],
        autoform: {
            type: "selectize"
        }
    },
    title:{
        type:'String',
        label:'Name',
        unique:true,
        max:100
    },

    logo:{
        type:'String',
        label:'Logo',
        optional:true
    }
}));

由于

1 个答案:

答案 0 :(得分:1)

首先,您可以将这个漫长的过程分解为几个较小的方法。例如,您可以使用ProcessSheet过程将每个工作表传递到其中:

For ws = 1 To WS_count 'loop through each sheet in the customer workbook

这肯定有助于提高可读性等。如果您仍然不满意,那么继续将循环分解为更小的逻辑程序。不要太疯狂。

除了一些错误检查和值验证在深层嵌套循环中会有很长的路要走。例如,确保各种计算变量,例如' lastrow'是正确的还是在有效的阈值之内等。

最后,而不是通过你的长循环洒下的硬编码值,就像神奇的camoflauged调试 - 来自地狱 - 在哪里?s-waldo仙女;更喜欢一些有意义的Const变量替代品,即

Private Const SIC_START_ROW = 2