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

Code(s) funktionieren nicht

Code(s) funktionieren nicht
Harald
Guten Morgen,
anbei 2 Code - Versuche, die ich selbst gekocht habe. Bitte kein Gelächter. Hab schon gemerkt, dass Sie nicht funktionieren. Hängt vermutlich nur an Kleinigkeiten.

Sub falschesDatum()
Dim d As Range
For Each d In Worksheets("Sheet 1").Range("A2:A8")
If Cells(d, 1) <> Right(ActiveWorkbook.Name, 8) Then
Cells(d, 1).EntireRow.ClearContents
End If
Next d
End Sub


Sub falschesDatum2()
For d = 2 To 8
If Cells(d, 1) <> Right(ActiveWorkbook.Name, 8) Then
Cells(d, 1).EntireRow.ClearContents
Next d
End Sub

Der Code soll Folgendes bewirken.
Wenn in Spalte A das Datum (zB. 20040104)nicht mit der Datumsangabe im Dateinamen übereinstimmt (z.B.NIO_FS20040104), die Zeileninhalte der Zeile gelöscht werden.
Übereinstimmende Datumsangaben bleiben.
Nur im Bereich A2 bis A8, da Zellinhalte B9:B12 stehen bleiben müssen.
Habe schon an eine Schleife gedacht, die in A8 startet und auf A2 hochläuft. Dazu fehlt mir allerdings noch der Kenntnisstand.
Gruß
Harald

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Code(s) funktionieren nicht
Nike
Hi,

Sub falschesDatum()
Dim d As Range
For Each d In Worksheets(1).Range("A2:A8")
If d <> Right(ActiveWorkbook.Name, 8) Then
d.EntireRow.ClearContents
End If
Next d
End Sub

Bye
Nike
AW: Code(s) funktionieren nicht
Uwe
Hallo, Harald!
Mit d hast Du eine Range, also z.B. eine Zelle deklariert. Der Inhalt von d kann also z.B. A3 sein und keinesfalls eine Variable vom Typ long, wie er für eine Zeilenangabe in Cell(row, column) erforderlich ist.
Zudem enthält die Eigenschaft .Name die Dateinamenerweiterung, in diesem Fall also .xls, so dass Du für die 8 eine 12 schreiben und dem Zelleninhalt ein ".xls" anfügen mußt.
Sub falschesDatum()
Dim d As Range, txt As String
For Each d In Worksheets("Tabelle1").Range("A2:A8")
txt = d.Text + ".xls"
If txt <> Right(ActiveWorkbook.Name, 12) Then
d.EntireRow.ClearContents
End If
Next d
End Sub

Gruß!

Anzeige
Die Mischung machts. Danke Nike und Uwe
Harald
Hallo,
der Vorschlag von Nike hat auch Zeilen mit richtigem Datum gelöscht(wegen der ".xls"-Sache).
Der von Uwe brachte im ersten Durchlauf einen Laufzeitfehler bzgl falschem Index.
Nike's Indexdeklarierung behob den Fehler.
So läuft's. Vielen Dank !
Sub falschesDatum3()

Dim d As Range, txt As String
For Each d In Worksheets(1).Range("A2:A8") ' Indexfehler behoben
txt = d.Text + ".xls"
If txt Right(ActiveWorkbook.Name, 12) Then
d.EntireRow.ClearContents
End If
Next d
Harald

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige