Hilf mir !!! .. Bei der Suche nach mCell läuft es nur mit dem ersten Wert und nicht Schleife für andere Wert, also was soll ich tun können ?.Excell Schleifen Probleme Makro FindNext
Sub finddataver2()
Dim mRange As Range
Dim mFCell As String
Dim mCell As Range
Dim mName As String
Dim sRange As Range
Dim sFCell As String
Dim sCell As Range
Dim seg As String
Dim neg As String
Dim i As Integer
Dim finalrow As Integer
neg = Sheets("FindSupp").Range("C2").Value
mName = Sheets("FindSupp").Range("C4").Value
seg = Sheets("FindSupp").Range("C6").Value
Sheets("FindSupp").Range("B14:L2000").ClearContents
Worksheets("Data").Select
finalrow = Sheets("Data").Range("A10000").End(xlUp).row
Worksheets("Data").Select
Set mRange = Sheets("Data").Range("I:I")
Set mCell = mRange.Find(What:=mName, MatchCase:=False, LookAt:=xlPart)
Worksheets("Data").Select
Set sRange = Sheets("Data").Range("H:H")
Set sCell = sRange.Find(What:=seg, MatchCase:=False, LookAt:=xlPart)
Worksheets("Data").Select
For i = 2 To finalrow
If neg = "All" Or neg = "" Then
Die Probleme beginnen hier, wenn im serach für Wert, den es nur für den ersten Wert nicht nehmen Schleife nur von MCELL
If mName = "" Or mName = "All" Then
If seg = "" Or seg = "All" Then
Range(Cells(i, 1), Cells(i, 11)).Copy
Sheets("FindSupp").Range("B1000").End(xlUp).Offset(1,).PasteSpecial xlPasteFormulasAndNumberFormats
ElseIf Sheets("Data").Cells(i, 8) = sCell.Value Then
sFCell = sCell.Address
Range(Cells(i, 1), Cells(i, 11)).Copy
Sheets("FindSupp").Range("B1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
Set sCell = sRange.FindNext(sCell)
End If
ElseIf Sheets("Data").Cells(i, 9) = mCell.Value Then
If seg = "" Or seg = "All" Then
Range(Cells(i, 1), Cells(i, 11)).Copy
Sheets("FindSupp").Range("B1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
ElseIf Sheets("Data").Cells(i, 8) = sCell.Value Then
sFCell = sCell.Address
Range(Cells(i, 1), Cells(i, 11)).Copy
Sheets("FindSupp").Range("B1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
Set sCell = sRange.FindNext(sCell)
End If
End If
ElseIf Sheets("Data").Cells(i, 2) = neg Then
If mName = "" Or mName = "All" Then
If seg = "" Or seg = "All" Then
Range(Cells(i, 1), Cells(i, 11)).Copy
Sheets("FindSupp").Range("B1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
ElseIf Sheets("Data").Cells(i, 8) = sCell.Value Then
sFCell = sCell.Address
Range(Cells(i, 1), Cells(i, 11)).Copy
Sheets("FindSupp").Range("B1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
Set sCell = sRange.FindNext(sCell)
End If
ElseIf Sheets("Data").Cells(i, 9) = mCell.Value Then
If seg = "" Or seg = "All" Then
Range(Cells(i, 1), Cells(i, 11)).Copy
Sheets("FindSupp").Range("B1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
Set mCell = mRange.FindNext(mCell)
ElseIf Sheets("Data").Cells(i, 8) = sCell.Value Then
sFCell = sCell.Address
Range(Cells(i, 1), Cells(i, 11)).Copy
Sheets("FindSupp").Range("B1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
End If
End If
End If
Next i
Worksheets("FindSupp").Select
Cells(2, 3).Select
Worksheets("FindSupp").Range("Z:Z").ClearContents
End Sub
Um Frage einfacher Wie kann ich Schleife dieses Ding zu machen ...
.ElseIf Sheets("Data").Cells(i, 9) = mFCell Then
If seg = "" Or seg = "All" Then
Range(Cells(i, 1), Cells(i, 11)).Copy
Sheets("FindSupp").Range("B1000").End(xlUp).Offset(1, 0).PasteSpecial xlPasteFormulasAndNumberFormats
Set mCell = mRange.FindNext(mCell)
Eigentlich fand ich die Probleme, bei denen es aber die Probleme ist, ich weiß nicht, wie es
Schleife machenWorksheets("Data").Select
Set mRange = Sheets("Data").Range("I:I")
Set mCell = mRange.Find(What:=mName, MatchCase:=False, LookAt:=xlPart)
Worksheets("Data").Select
Set sRange = Sheets("Data").Range("H:H")
Set sCell = sRange.Find(What:=seg, MatchCase:=False, LookAt:=xlPart)
Bitte korrigieren Sie Ihre Formatierung –
Es mag dumm sein zu fragen, aber was setzen Sie wirklich Finalrow zu sein? 'finalrow = Sheets (" Daten "). Bereich (" A10000 "). Ende (xlUp).Zeile " –
Eigentlich kann der finalrow unendlich sein, aber ich habe den Wert auf 10000 Zeilen von Daten begrenzt. Die Schleife wird also bis zum letzten Durchlauf gehen. Seine Verwendung für die Schleife Bedingung – Beans