Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
720to724
720to724
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zurück in Schleife obwohl Suchwert nicht gefunden?

Zurück in Schleife obwohl Suchwert nicht gefunden?
20.01.2006 18:25:39
daniel.ripke@web.de
Hallo Leute,
ich habe das folgende Problem:
Es kann Vorkommen, dass einer der 160 Suchbegriffe nicht vorhanden ist. Ich wollte dass ganze über eine If-Anweisung machen:
If not x is nothing then
...
End if
Next a
aber dann sagt er immer ich hätte kein Next oder das Objekt nicht definiert
über Goto ans Ende zu next zu kommen funktioniert irgendwie auch nicht...

Sub Materialnummer(sPattern)
a = 1
For a = 1 To 160
Workbooks("Update-Database.xls").Activate
Sheets(1).Select
b = Workbooks("Update-Database.xls").Sheets(1).Range("A" & a).Value
Workbooks(spattern).Activate
x = Columns(1).Find(What:=b, LookIn:=xlValues).Row
y = Columns(1).Find(What:="* " & b, LookIn:=xlValues).Row
Range("A" & x + 1, "A" & y - 2).Select
Selection.Replace What:="1", Replacement:=b
Next a
End Sub

Bin verzweifelt. Versteht Ihr was ich möchte?
Vielleicht könnte mir jemand weiter helfen, hab nämlich nicht so viel Erfahrung damit...
Gruß
Daniel

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zurück in Schleife obwohl Suchwert nicht gefun
20.01.2006 19:21:46
Josef
Hallo Daniel!
Ungetestet!
Sub Materialnummer(sPattern)
Dim a As Integer
Dim b As Variant
Dim x As Range, y As Range

With Workbooks(sPattern).ActiveSheet 'oder .Sheets("Tabellenname")
  
  For a = 1 To 160
    
    b = Workbooks("Update-Database.xls").Sheets(1).Cells(a, 1).Value
    
    Set x = .Columns(1).Find(What:=b, LookIn:=xlValues)
    
    Set y = .Columns(1).Find(What:="* " & b, LookIn:=xlValues)
    
    If Not x Is Nothing And Not y Is Nothing Then
      .Range(.Cells(x.Row + 1, 1), .Cells(y.Row - 2, 1)).Replace What:="1", Replacement:=b
    End If
    
  Next a
  
End With

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
AW: Zurück in Schleife obwohl Suchwert nicht gefun
20.01.2006 20:37:02
Daniel
Hey Supi Sepp!
Echt Klasse, hat sofort gefunzt und sieht echt besser aus wie das was ich da gebastelt hatte...
Vielen Dank
Daniel
AW: Zurück in Schleife obwohl Suchwert nicht gefun
20.01.2006 20:13:16
Franz
Hallo Daniel,
hier mein alternativer Vorschlag, wobei Josef's Vorschlag natürlich der wesentlich elegantere ist. Insbesondere vermeidet er das ständige hinundherschalten zwischen den Dateien, was ich durch Abschalten des Screen-updates vermieden habe. Entscheident ist, das in beiden Varianten geprüft wird, ob die Find-Funktion eine Zelle gefunden hat. Nur dann können auch x und y als row der Zelle berechnet werden.

Sub Test()
Call Materialnummer("Test1.XLS")
End Sub
Sub Materialnummer(sPattern As String)
Dim Zelle As Range
Application.ScreenUpdating = False
a = 1
For a = 1 To 160
Workbooks("Update-Database.xls").Activate
Sheets(1).Select
b = Workbooks("Update-Database.xls").Sheets(1).Range("A" & a).Value
Workbooks(sPattern).Activate
Set Zelle = Columns(1).Find(What:=b, LookIn:=xlValues)
If Zelle Is Nothing Then GoTo naechstes_a
x = Zelle.Row
Set Zelle = Columns(1).Find(What:="* " & b, LookIn:=xlValues)
If Zelle Is Nothing Then GoTo naechstes_a
y = Zelle.Row
Range("A" & x + 1, "A" & y - 2).Select
Selection.Replace What:="1", Replacement:=b
naechstes_a:
Next a
Application.ScreenUpdating = True
End Sub

gruß
Franz
Anzeige
AW: Zurück in Schleife obwohl Suchwert nicht gefun
Daniel
Hey, danke Franz,
jetzt hab ich auch meinen Fehler bzw. das vermisste objekt verstanden...
Greetz
Daniel

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige