Supportnet / Forum / Datenbanken
wo liegt mein fehler?
Frage
hallo leute...
mein problem...
ich möchte aus einer access datenbank heraus eine exceltabelle öffnen,
ein makro ausführen,
die datei dann abspeichern und anschließend
wieder schließen.
Mein Makro:
Dim oXcl As New Excel.Application, ws As Excel.Worksheet
Dim i
Dim v
With oXcl
'öffner die Datei
.Workbooks.Open Filename:="D:\Lokale Daten\test111.xls"
.Visible = True
With Selection
'ermittelt die Anzahl der Datensätze, Abbruchbedingung wenn Zeile (v,1) leer ist, da jeder Datensatz einen Wert in Spalte A haben muss.
v = 1
Do
v = v + 1
Loop Until Cells(v, 1) = " "
For i = 1 To v
'steht überhaupt etwas in der Zelle ?
If Cells(i, 1) > 0 Then
'hat die Zelle einen Hyperlink ?
If Cells(i, 1).Hyperlinks.Count > 0 Then
'schreibe Hyperlink in Spalte 5
Cells(i, 5) = Cells(i, 1).Hyperlinks(1).Address
End If
End If
End If
Next i
End With
'---------------------------------------------------------------------------------------
.ActiveWorkbook.Save
.Quit
End With
End Sub
Mein Makro läuft soweit einwandfrei.
Mein einziges Problem.
Meine Abbruchbedingung bricht nicht ab :-(
Der Zählen läuft immer weiter und weiter obwohl in Spalte A ab Datensatz ca. 200 nichts mehr steht. Da die Anzahl meiner Datensätze aber varriieren kann, muss ich es variable gestalten. Könnt ihr mir sagen wo mein Fehler in meiner Abbruchbedingung liegen kann?
Gruß
Morpheus
Antwort 1 von erik
Hallo Morpheus,
du scheinst auf das Vorhandensein eines Leerzeichens zu prüfen, das sicherlich nicht in dieser Form in deiner Tabelle vorkommt:
Suche stattdessen nach einer leeren Zeichenfolge "" oder benutze die IsEmpty()-Funktion:
Gruß
erik
du scheinst auf das Vorhandensein eines Leerzeichens zu prüfen, das sicherlich nicht in dieser Form in deiner Tabelle vorkommt:
Loop Until Cells(v, 1) = " "Suche stattdessen nach einer leeren Zeichenfolge "" oder benutze die IsEmpty()-Funktion:
Loop Until Cells(v, 1) = ""Loop Until IsEmpty(Cells(v, 1)) = TrueGruß
erik
Antwort 2 von morpheus__85
Hallo Erik,
das mit dem "" statt " " weis ich eigentlich, hatte ich zuerst auch funktioniert aber leider auch nicht.
Deine Lösung mit dem IsEmpty is klasse. Hat super funktioniert.
Vielen Danke für die super schneller Hilfe,
Gruß
Morpheus
das mit dem "" statt " " weis ich eigentlich, hatte ich zuerst auch funktioniert aber leider auch nicht.
Deine Lösung mit dem IsEmpty is klasse. Hat super funktioniert.
Vielen Danke für die super schneller Hilfe,
Gruß
Morpheus

