17.05.2016, 22:03 (Dieser Beitrag wurde zuletzt bearbeitet: 18.05.2016, 10:20 von Rabe.
Bearbeitungsgrund: redundanten Zeilenumbruch entfernt
)
Hallo,
kennst du den Taxifahrer Witz, wenn ein Gast einsteigt und sagt: "fahre mich bitte ganz schnell irgendwo hin" und auf seine Rückfrage "wohin bitte" die Antwort: "das ist völlig egal, einfach irgendwo hin, aber schnell bitte!"
Man kann ein Makro programmieren, aber dazu brauchen wir konkrete Angaben welche Tabelle (den Namen), welche Spalten, wie viel Zeilen können es ca. sein. Ohne jede Angaben ist das nicht machbar, reines Ratspiel.
Ebenso brauchen wir konkrete Angaben welche Inhalte geprüft werden sollen, ob ganzer Text/Zahl, oder Teilstring? Müssen in mehreren Spalten Werte geprüft werden die zusammen gehören oder verknüpft werden müssen?? Ohne konkrete Angaben wird kein Ratgeber an den Thread heran gehen.
die Größe der Tabelle --> Adresse kannst Du so ermitteln MsgBox ActiveSheet.ListObjects("Tabelle1").Range.Address und den Inhalte einer Spalte --Anzahl (Anzahl2) Einträge so: MsgBox Application.Evaluate("SUBTOTAL(3,Tabelle1[Berta])")
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
19.05.2016, 21:18 (Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2016, 21:18 von Xan553.)
Hallo und danke für die Antworten,
die anzahl der Zeilen kann Variieren, die anzahl der Spalten beträgt momentan 5.
Es geht ganz grob darum das über die Excel Tabelle eine Steuerung Konfiguriert werden soll.
Es wird später bei Druck auf einen Button eine Datei erstellt in der die Einträge in einem gewissen Format gespeichert werden soll, aber das tut hier nichts zur Sache, das worum es mir hier geht ist das ich vor der Umwandlung überprüfen muss wie viele Einträge in der Tabelle stehen und ich muss sicher sein das in jeder Zeile bestimmte Spalten einen Inhalt haben.
Die Tabelle heißt "Daten", und die Spalten 1, 4 und 5 dürfen nicht leer sein.
Edit: Achso, die Spalten die nicht leer sein dürfen enthalten immer Zeichenketten.
Sorry, aber was Du schreibst, ist "Laber-Rhabarber". Einen genutzten Bereich erkennt Excel mittels .Cells(1).CurrentRegion Bei Leerzeilen oder -Spalten auch mit .UsedRange
Zeige mal die Datei und konkretisiere Deine Wünsche.
Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
19.05.2016, 21:41 (Dieser Beitrag wurde zuletzt bearbeitet: 19.05.2016, 21:46 von Xan553.)
Was soll ich denn noch konkretisieren?
es ist eine Tabelle mit 5 Spalten, die anzahl der Zeilen ist variabel, kann von 10 bis 500 alles sein. Die Spalten 1, 4 und 5 dürfen nicht leer sein, das Format der Strings muss nicht überprüft werden.
Das Script das ich bräuchte soll die Anzahl der Zeilen ausgeben (da hat mir aber schauan schon den entscheidenden Tipp gegeben) und in jeder Zeile die Spalten 1,4 und 5 auf "nicht leer" prüfen.
Edit:
Auf dem Bild sieht man die Tabelle, die Zeilen 4, 5 und 6 sind Fehlerhaft.
Wenn Deine Tabelle in Zeile 1 beginnt, reicht es, die letzte Zahl zu extrahieren. Das geht in etwa so: 'Adresse anhand $ splitten Zeile = split(ActiveSheet.ListObjects("Tabelle1").Range.Address,"$") 'letzen Arrayeintrag (= Zeilenzahl) ausgeben Msgbox Zeile(ubound(Zeile))
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)