Access でのみ、以前は Excel で Marcos を使用したことがありません。私がやりたいのは、ワークシートをループして、列 X と Y が null でない場所で情報を新しいワークシートに抽出することです。しかし、行 Y には複数の値が含まれている可能性があり、Y の値ごとに X を使用して新しいレコードを作成したいと考えています。各値はコンマで区切られています。
私が望む結果は
C3
C4
b C6
b C7
b C10
等々
これまでの私のコードは次のとおりです。
Sub Extract()
'
' Extract Macro
'
Dim WkSht As Worksheet, myOtherSheet As Worksheet, myBook As Workbook
Dim r As Integer
Dim Regex
Dim Match
Dim text
Set myBook = Excel.ActiveWorkbook
Set myOtherSheet = myBook.Sheets("New")
Set Regex = CreateObject("VBScript.RegExp")
Regex.Patten = """[^""]*""|[^,]*"
Regex.Global = True
j = 0
For Each WkSht In ThisWorkbook.Worksheets
If WkSht.Name = "Sheet1" Then
For r = 1 To 1000
If WkSht.Rows(r, B).Value <> "" & WkSht.Rows(r, G).Value <> "" Then
text = WkSht.Rows(r, G).Value
For Each Match In Regex.Execute(text)
myOtherSheet.Cells(j, 1).Value = WkSht.Cells(r, B)
myOtherSheet.Cells(j, 2).Value = Match
j = j + 1
Next Match
Exit For
End If
r = r + 1
Next r
Exit For
End If
Next WkSht
End Sub
これを実行できません。正規表現の構文が間違っていると思います。iv は c# でしか使用していません。これは私が達成しようとしていることに最適なオプションですか?