Option
Explicit
Public
Sub
suchen_und_kopieren()
Dim
strSQL
As
String
strSQL = get_sql_string
Dim
regEx
As
New
RegExp
With
regEx
.Global =
True
.IgnoreCase =
False
.MultiLine =
True
.Pattern =
"FROM\s+(?!POSITION)(?!AND)\D[_-z;.-9;A-Z]+"
End
With
Dim
colMatches
As
MatchCollection
Dim
m
As
Match
Set
colMatches = regEx.Execute(strSQL)
If
colMatches.Count = 0
Then
GoTo
clean_up
End
If
For
Each
m
In
colMatches
With
Worksheets(
"Tabelle2"
)
.Cells(.Cells(.Rows.Count, 1).
End
(xlUp).Row + 1, 1) = Left(m.Value, 50)
End
With
Next
m
clean_up:
If
Not
colMatches
Is
Nothing
Then
Set
colMatches =
Nothing
If
Not
regEx
Is
Nothing
Then
Set
regEx =
Nothing
End
Sub
Private
Function
get_sql_string()
As
String
Dim
l
As
Long
, k
As
Long
Dim
s
As
String
With
Worksheets(
"Tabelle1"
)
k = .Cells(.Rows.Count, 1).
End
(xlUp).Row
For
l = 1
To
k
s = s & .Cells(l, 1)
Next
l
End
With
get_sql_string = s
End
Function
Wie schaffe ich es nun, die beiden codes so zusammen zu führen, dass das ergebnis ca folgender maßen aussieht:
ppd123456
from blablabla
from blabla
ppd32424
from xyzxyz
from abcabc
also es soll im query schritt für schritt suchen, sobald eine ppd gefunden wird kopieren und sobald ein from gefunden wird diese kopieren und nicht erst alle ppds und danach alle froms :)
Ich hoffe ich konnte mich halbwegs gut ausdrücken; vielen dank im vorraus :)