【发布时间】:2021-01-01 08:57:49
【问题描述】:
我创建了一个“表单”(带有数据验证、if 语句和 VLOOKUP),用户可以选择不同的选项并生成零件编号和价格。我找到了一个 VBA 模块,它允许我将零件编号和价格复制到另一张表(“列表”)中,特别是在下一个空行中。用户现在可以创建不同的部分并将其复制到列表中。
我想添加他们配置的部分的描述。我可以通过对生成的部件号使用 If 语句和 VLOOKUP 来生成描述。目前我已将这些公式添加到“列表”表中,但现在打印预览显示三页,因为我将公式向下拖动了 50 个单元格。
我想添加到我当前的“复制到列表”VBA 模块,以将产品描述插入到我指定的列中的下一个可用行中(就像我对价格和部件号所做的那样)。
这里是 VBA 模块
Sub Copyi510IP20()
'Prevent Computer Screen from running
Application.ScreenUpdating = False
'Insert your macro code here......
Sheets("Builder").Range("C19").Copy
Sheets("List").Range("D" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Sheets("Builder").Range("C21").Copy
Sheets("List").Range("E" & Rows.Count).End(xlUp).Offset(1, 0).PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("Builder").Activate
'Allow Computer Screen to refresh (not necessary in most cases)
Application.ScreenUpdating = True
End Sub
我想把这个公式加进去。
="Product: "&IF(MID(Builder!C19,3,1)="1","i510 protec","i550 protec")&CHAR(10)&"Phase: "&VLOOKUP(MID(Builder!C19,9,1),Tables!$B$2:$D$7,3,FALSE)&CHAR(10)&"Power: "&VLOOKUP(MID(Builder!C19,6,3),Tables!$B$10:$D$30,3,FALSE)&CHAR(10)&"Fieldbus: "&VLOOKUP(MID(Builder!C19,16,3),Tables!$B$57:$D$64,3,FALSE)
知道如何将此公式添加到“列表”的 A 列吗?
【问题讨论】:
-
使用
Sheets("List").Range("A" & Rows.Count).End(xlUp).Offset(1, 0).FormulaLocal = "=Product...。注意前面的=符号。我会首先找到目标行并直接在那里写入所有值,而不是在每列中查找第一个空单元格, -
我尝试这样做,但在第一个引号中出现错误