我有两张纸,一张名为bill,另一张名为sheet1。
我有VBA代码来查找名称并将信息粘贴到匹配的名称,但如何添加不存在的新名称?
然后,如果找不到名称,请将名称添加到帐单列F行192和列F行193。
示例:
票据
A B C D E F G H
xxx xxxx xxx xxx xx bill xxx
xxx xxxx xxx xxx xx bill xxx
xxx xxxx xxx xxx xx man xxx
xxx xxxx xxx xxx xx man xxx
sheet1
A B
bill 19.23
man 156.23
这是我到目前为止所做的:
Dim sh1 As Worksheet, sh2 As Worksheet
Dim j As Long, i As Long, lastrow As Long
Set sh1 = Worksheets("test")
Set sh2 = Worksheets("Sheet1")
lastrow1 = sh1.Cells(Rows.Count, "F").End(xlUp).Row
lastrow2 = sh2.Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lastrow1
For j = 1 To lastrow2
If sh1.Cells(i, "F").Value = sh2.Cells(j, "A").Value Then
sh1.Cells(i, "H").Value = sh2.Cells(j, "B").Value
End If
Next j
Next i
End Sub
答案 0 :(得分:0)
我知道你正在尝试使用宏而不是让这个声音过于简单,但你想到只是在数据输入表(票据)上命名所需的范围,然后在sheet1上你想要的那个要使用查找公式显示的数据?
例如:
<强> Bills.xls 强>
A B C D E F G H
xxx xxxx xxx xxx xx bill xxx
xxx xxxx xxx xxx xx bill xxx
xxx xxxx xxx xxx xx man xxx
xxx xxxx xxx xxx xx man xxx
Sheet 1中
A B
法案19.23....命名F1:F100&#34; NAMES&#34;
的范围然后,在sheet1.xls上 在所需输出行的每个单元格中(只需复制/粘贴)并使用具有指定范围的数据验证///可以只是一个公式说明= if(&#39; NAMES&#39; $ F $ 1&lt;&gt;& #34;&#34;&#39; NAMES&#39; $ F $ 1,&#34;&#34)
......也就是说,如果我正确理解你的需求。