Ich verstehe nicht, warum mein Code bei einem zweiten Durchlauf nicht funktioniert.
Public MA_Datensätze_Bereich As Variant
Public Type myType
a As String
End Type
Public Sub MA_Datensätze_suchen()
Dim I As Integer
Dim Anfangsblatt As Worksheet
Dim rZelle As Range
Dim sFundst As String
Dim Suchtext As String
Dim sText As myType
Dim reset_sText As myType
Dim MA_Datensätze As Range
Dim rBereich_MA As Range
Set Anfangsblatt = Application.ActiveSheet
Suchtext = Environ("Username")
Worksheets("bearbeitete Fälle").Range("A2:Z1000").Clear
Application.Visible = True
For I = 1 To Application.Worksheets.Count - 4
Worksheets(I).Select
Range("A1").Select
sText = reset_sText
With ActiveSheet.Columns(ActiveCell.Offset(14, 13).Column)
Set rBereich_MA = Range("N14:N5000")
Set rZelle = rBereich_MA.Find(What:=Suchtext, LookAt:=xlWhole, LookIn:=xlValues) ', After: _
=.Cells(.Cells.Count))
If Not rZelle Is Nothing Then
Set rZelle = rBereich_MA.Find(What:=Suchtext, LookAt:=xlWhole, LookIn:=xlValues)
sFundst = rZelle.Address
Do
If MA_Datensätze Is Nothing Then
Set MA_Datensätze = .Range("A" & rZelle.Row)
sText.a = rZelle.Row
Else
Set MA_Datensätze = Union(MA_Datensätze, .Range("A" & rZelle.Row))
sText.a = sText.a & vbLf & rZelle.Row
End If
Set rZelle = rBereich_MA.Cells.FindNext(rZelle)
Loop While Not rZelle Is Nothing And rZelle.Address sFundst
End If
If rZelle Is Nothing Then GoTo Weiter
If InStr(sText.a, vbLf) > 0 Then
MA_Datensätze.Select
MA_Datensätze.EntireRow.Select
MA_Datensätze.EntireRow.Copy
MA_Datensätze_Bereich = InStr(sText.a, vbLf)
Kopieren_MA_Datensätze
Else
End If
Blatt:
End With
Weiter:
Set rZelle = Nothing
Next I
Set MA_Datensätze = Nothing
Set rZelle = Nothing
Anfangsblatt.Activate
End Sub
Ich möchte damit Datensätze eines Users suchen und in ein anderes Blatt kopieren.Das klappt auch beim ersten Durchlauf.
Wenn dann aber das 2. Blatt aktiviert wird, bleibt es hier stehen:
Set MA_Datensätze = Union(MA_Datensätze, .Range("A" & rZelle.Row))
Meldung 1004:
Die Methode 'Union' für das Objekt '_Global' ist fehlgeschlagen.
Was mache ich falsch?
Gruß und Danke!
Werner