我有一个重复的任务我想自动化而不是一直使用= Concatenate函数.到目前为止,这是我的代码:
Cells(2, 5).Value = Cells(2, 1).Value&" - "&Cells(2, 2).Value
Run Code Online (Sandbox Code Playgroud)
不幸的是,这导致"编译错误:预期:语句结束"错误,突出显示" - ".我怎样才能将这两个值之间的文字" - "夹在中间?
现在,我有一长串用户通过表单提交的"行业"值.我编写了一个宏来搜索这些值中的特定术语,并粘贴符合我的"可接受的"行业值列表的重要值.关键是要将用户提交的所有当前行业价值重新分类到我现有的分类中.这是我的If-Then语句现在的样子:
If InStr(1, Cells(i, "A").Value, "Energy") > 0 Or InStr(1, Cells(i, "A").Value, "Electricity") > 0 Or InStr(1, Cells(i, "A").Value, "Gas") > 0 Or InStr(1, Cells(i, "A").Value, "Utilit") > 0 Then
Cells(i, "B").Value = "Energy & Utilities"
End If
Run Code Online (Sandbox Code Playgroud)
这很难看.工作得很好,但是要读一读.我的宏充满了这些几乎无法理解的If-Then语句,并且很难全部阅读.有没有办法将多个值传递给"String2"参数Instr?
我正在编写一个 IF-THEN-ELSE 语句,其中包含 19 个 OR 语句。有没有办法使用自动换行来更轻松地查看我正在编码的内容?或者有什么方法可以使这更可行?跟踪所有语句是非常困难的。
注意:我不是在尝试使用 Wrapandfit() 函数或任何其他函数来修改单元格,我是在谈论 VBA 窗口本身。
声明的一个例子:
If InStr(1, Cells(i, 1).Value, "Administration") > 0 Or InStr(1, Cells(i, 1), "Administrative") > 0 Or InStr(1, Cells(i, 1), "Administrator") > 0 Or InStr(1, Cells(i, 1), "Assistant") > 0 Or InStr(1, Cells(i, 1), "Coordinator") > 0 Then
Cells(i, 2).Value = "Administrative"
Run Code Online (Sandbox Code Playgroud)
这在一定程度上很重要,因为我不能将所有内容都放在单独的行上,然后由于调试器(这也需要额外的工作才能禁用)而删除换行符。