Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
440to444
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
440to444
440to444
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Umständliches Makro

Umständliches Makro
14.06.2004 08:16:48
alexander
HAllo zusammmen
ich habe ein Makro gebastelt
es soll die zellen einer Spalte füllen.
Ich lese die Datei von einer TXT ein.
somit habe ich in den eigentlich leeren Zellen leerzeichen drin.
wenn ich jetzt das MAkro ausführe habe ich das Problem das je nach Spalte unterschiedlich viele Leerstellen drin sind und das Makro dann keinen Erfolg mehr hat.
Wie kann ich das beheben?
Kann ich die max. Anzahl der Leerstellen in einer Spalte lesen und dann die If - Anweisung dementsprechend anpassen?
Hier das MAkro:

Sub Auffüllen()
Dim Check, Counter, zelle
test = True: zähler = 0
Do    ' Äußere Schleife.
Do While test = True    ' Innere Schleife.
Selection.Copy
If zähler <= 29939 Then
zähler = zähler + 1    ' Zähler hochzählen.
ActiveCell.Offset(1, 0).Range("A1").Select
'If ActiveCell.Value = "  " Then    ' Wenn Bedingung = True,2
'If ActiveCell.Value = "      " Then    ' Wenn Bedingung = True,6
'If ActiveCell.Value = "         " Then    ' Wenn Bedingung = True,9
If ActiveCell.Value = "          " Then    ' Wenn Bedingung = True,10
ActiveSheet.Paste
'MsgBox ActiveCell.Value
Exit Do    ' Innere Schleife verlassen.
Else
Selection.Copy
End If
Else: test = False
End If
Loop
Loop Until test = False
End Sub

Vielen Dank
Alexander

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Umständliches Makro
Veit
Moin Moin,
im Archiv war dazu Folgendes (https://www.herber.de/forum/archiv/308to312/t311656.htm):

Sub test()
Dim Inhalt As String
If Range("A1") <> "" Then
Inhalt = Range("A1")
Do While Len(Inhalt) > 1
If Left(Inhalt, 1) <> " " Then
MsgBox "Zelle enthält Text"
Exit Sub
Else
Inhalt = Mid(Inhalt, 2, Len(Inhalt) - 1)
End If
Loop
MsgBox "Zelle enthält nur Leerzeichen."
End If
End Sub

so kannst Du den Code schlanker bekommen.
Gruß
Veit

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige