プロンプトを使用して手動で入力された B 列の 2 つのエントリの間にある行の範囲をエクスポートしようとしています。たとえば、プロンプトで 1 番目と 2 番目の検索語を尋ねられ、cat と入力してから dog と入力します。B5 には cat という単語があり、B50 には dog という単語があります。行 6 から 49 をキャプチャし、それを下にあるものに渡し、出力をテキスト ファイルに送信したいと考えています。
Sub ExportColumnsABToText()
Dim oStream As Object
Dim sTextPath As Variant
Dim sText As String
Dim sText2 As String
Dim sLine As String
Dim sType As String
Dim rIndex As Long, cIndex As Long
sTextPath = Application.GetSaveAsFilename("export.txt", "Text Files, *.txt")
If sTextPath = False Then Exit Sub
sText = ""
For rIndex = 4 To 700
sLine = ""
sType = Sheets![worksheet1].Cells(rIndex, 8).Text
If sType = "A" Or sType = "CNAME" Then
For cIndex = 1 To 2
If cIndex > 1 Then
sLine = sLine & vbTab
End If
sLine = sLine & Sheets![worksheet1].Cells(rIndex, cIndex).Text
Next cIndex
If Not Len(Trim(Replace(sLine, vbTab, ""))) = 0 Then
If rIndex > 4 Then
sText = sText & IIf(sText = "", "", vbNewLine) & sLine
End If
End If
End If
' End If
Next rIndex
Set oStream = CreateObject("ADODB.Stream")
With oStream
.Type = 2
.Charset = "UTF-8"
.Open
.WriteText sText
.SaveToFile sTextPath, 2
.Close
End With
Set oStream = Nothing
End Sub