我有一个 Excel 文件,其中添加了一些数据,它可以是 1 行,也可以是 1000 行。
VBA 脚本根据 C 列和 E 列匹配将使用的结果:
Sub LoopRange()
Dim myFile As String, rng As Range, cellValue As Variant, i As Integer, j As Integer
Dim N As Long
N = Cells(1, 1).End(xlDown).Row
For i = 2 To N
If Range("E" & i).Value = "South" And Range("C" & i).Value = "Yes" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "South" And Range("C" & i).Value = "No" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "West" And Range("C" & i).Value = "Yes" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "West" And Range("C" & i).Value = "No" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "North" And Range("C" & i).Value = "Yes" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "North" And Range("C" & i).Value = "No" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "East" And Range("C" & i).Value = "Yes" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "East" And Range("C" & i).Value = "No" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "NorthWest" And Range("C" & i).Value = "Yes" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "NorthWest" And Range("C" & i).Value = "No" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "NorthEast" And Range("C" & i).Value = "Yes" Then
'Do this
End If
Next i
For i = 2 To N
If Range("E" & i).Value = "NorthEast" And Range("C" & i).Value = "No" Then
'Do this
End If
Next i
End Sub
我想根据哪些 IF 语句为真来创建不同的文本文件。打印到文本文件的值是最静态的,但是我想在文本中使用的 A 列和 B 列中的值。
例如:第 1 行和第 9 行匹配 IF 语句
If Range("E" & i).Value = "South" And Range("C" & i).Value = "Yes" Then...
然后,我想获取 A2 和 B2 中的值以用于文本文件中的一个结果以及其他一些静态代码。我想在同一个文本文件中获取 A9 和 B2 中的值,但在另一行中。
我已经找到了如何将数据导出到 TXT,但我不知道如何根据 IF 语句选择要检索的内容。
myFile = Application.DefaultFilePath & "\South_Rename.txt"
Set rng = Selection
Open myFile For Output As #1
For i = 1 To rng.Rows.Count
For j = 1 To rng.Columns.Count
cellValue = rng.Cells(i, j).Value
If j = rng.Columns.Count Then
Write #1, cellValue
Else
Write #1, cellValue,
End If
Next j
Next i
Close #1
有人有一些建议吗?