我的要求是使用vba对2个工作簿中的数据进行vlookup。现在在vlookup的输出中有一些不匹配的单元格,因此它们的值是" #N / A"
现在如何选择相应的A列值,如果"#N / A"列B中存在并将它们写入文本文件。
示例excel文件
Column A Column B
A 1
B #N/A
C 3
D 4
E #N/A
以下输出应写在文本文件中。
B
D
请通过VBA帮我解决这个问题。 TIA
答案 0 :(得分:0)
试试这个:
Sub ToTextFile()
Dim LastRow As Long, i As Long
Dim str As String, strFile_Path As String
Dim strTxt As Variant
LastRow = Cells(Rows.Count, "A").End(xlUp).Row
For i = 1 To LastRow
If (Application.WorksheetFunction.IsNA(Cells(i, 2).Value)) Then
If str = "" Then
str = Cells(i, 1).Value
Else
str = str & "," & Cells(i, 1).Value
End If
End If
Next i
strTxt = Split(str, ",")
strFile_Path = "C:\temp\test.txt" 'Change to your file path
Open strFile_Path For Output As #1
For i = 0 To UBound(strTxt)
Print #1, strTxt(i)
Next i
Close #1
End Sub
答案 1 :(得分:0)
添加一个新的C列,每个单元格都有数组公式(粘贴后按住ctrl +输入):
=IF(ISNA(B:B),A:A,"")
然后文本文件的正文可以是以下字符串
Debug.Print Join$(Application.Transpose( _
Application.Index(Worksheets("Sheet1").UsedRange, 0, 3)), vbNewLine)