Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1856to1860
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
Inhaltsverzeichnis

fehler beim kompilieren syntaxfehler

fehler beim kompilieren syntaxfehler
25.11.2021 19:09:08
Robert
Hallo liebe Exelgemeinde!
Ich wollte mal endlich ein Makro in Eigenregie vollenden. Natürlich gelingt es mir nicht. Also muss ich wieder auf Eure Hilfe bitten und hoffen. Ich möchte gerne per Makro einzelne Tabellenspalten bei Fehler mit den Überschriften löschen. Aber ich bekomme den Fehler fehler beim kompilieren syntaxfehler .
Was mache ich Falsch? Hier mal das Makro und ich hänge eine Beispieldatei an.

Sub Bei_Fehler_löschen()
' Bei_Fehler_löschen'
Dim strTabelle As String, strRange As String
strTabelle = Range("A27")
strRange = Range("A28")
Range(strRange).Select
Range(str.range[[#All],[str.Range]]).Select
Selection.ListObject.ListColumns(1).Delete
Range("A25").Select
End Sub
Mit dem Makrorekorder wird immer der jeweilige Text der Spalte im Makro nur aufgezeichnet.
Vielen Dank im voraus.
https://www.herber.de/bbs/user/149401.xlsm
LG Robert

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Syntaxfehler: Range(str.range... owT
25.11.2021 19:59:25
Luc:-?
:-?
AW: fehler beim kompilieren syntaxfehler
25.11.2021 20:01:06
ralf_b

sub löschen()
ActiveSheet.ListObjects( ActiveSheet.Range("A27").value).ListColumns(1).Delete
End Sub

AW: fehler beim kompilieren syntaxfehler
25.11.2021 20:32:35
Yal
Hallo Robert,
Tabellen (VBA: ListObject) sind natürlich nicht unbedingt das einfachste Objekt, um einen Erfolg in VBA zu haben. Da braucht man ein fortgeschrittene Verständnis vom Datenmodell von Excel.
Falls dein Tabelle mehrere Spalten hätten, also nicht wie im gegebenen Beispiel, würde es so aussehen (bisher wurde die Prüfung von Fehler ignoriert):

Sub Bei_Fehler_löschen()
Dim Z As Range
Dim Spalte As ListColumn
With Worksheets("Tabelle1").ListObjects(Worksheets("Tabelle1").Range("A27").Value)
For Each Spalte In .ListColumns
For Each Z In Spalte.Range.Cells
If WorksheetFunction.IsError(Z) Then
Spalte.Delete
Exit For
End If
Next
Next
End With
End Sub
Was passiert darin?
Man nimmt den Namen der Tabelle in Zelle A27 und holt das listObject-Objekt aus der Auflistung der ListObjects.
Dann für jede Column dieses ListObject prüft man für jede Zelle, ob eine Fehler vorhanden ist.
Wenn Fehler, dann ListObject-Spalte löschen und Prüfung für diese Spalte abbrechen (Spalte ist eh nicht mehr vorhanden).
Dann Prüfung auf nächste, wenn eine nächste gibt.
VG
Yal
Anzeige
Tabelle Neu Hochgeladen ohne Formeln
25.11.2021 20:45:49
Oraculix
Hallo
Habe Dir die Arbeitsmappe Neu hochgeladen ohne Formeln in Spalten D zur besseren Ansicht.
Gruß
Oraculix
Sorry bin im falschen Beitrag
25.11.2021 21:34:21
Oraculix
Sorry

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige