Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema ListBox
BildScreenshot zu ListBox ListBox-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

VBA-Zellenwert auslesen und Zelle wechseln

Betrifft: VBA-Zellenwert auslesen und Zelle wechseln von: Leon Felker
Geschrieben am: 11.09.2014 10:36:32

Hallo,

ich habe ein kleines Problem. Ich kenne mich nicht so gut mit VBA aus, und jetzt wollte ich hier ein Programm schreiben, das für einen Kollegen bestimmt ist. Ich bin jetzt bei der Stelle, an der das Programm den Inhalt der Zelle "A1" auslesen soll, ihn ggbf. ändern und danach zur Zelle "B1" springt und dort dasselbe macht. Das Ganze in eine Schleife die so lange läuft, bis z.B. Zelle "G1" leer ist, dann soll die Schleife beendet werden. Wer kann mir da helfen ? Es soll wirklich nur in der 1. Zeile bleiben und nicht nach "A2" wechseln.

Danke im Vorraus.

  

Betrifft: AW: VBA-Zellenwert auslesen und Zelle wechseln von: Matze Matthias
Geschrieben am: 11.09.2014 11:03:55

Hallo Leon,
du solltest die Aufgabe mal genauer beschreiben, denn so wird das nix.

Hier fehlen die Bedingungen wann was passieren soll, du schreibst A1 auslesen "gegebenfalls" ersetzen

das sind 2 Paar Schuhe und in G1 die Zelle "leer" ist , wann und wodurch wird die denn "leer",

Werden "alle" Zellen in der Zeile nachher "leer" sein?

Gruß Matze


  

Betrifft: AW: VBA-Zellenwert auslesen und Zelle wechseln von: Leon Felker
Geschrieben am: 11.09.2014 11:21:53

Hallo Matze,

also das Programm soll dazu dienen wenn es mal fertig ist, in einem Ordner VORHANDENE Excel Mappen nacheinander zu öffnen und in der ersten Zeile bereits VORHANDENE Werte zu ersetzen. Nehmen wir mal an der vorhandene Wert sieht folgendermaßen aus:".._XX_.." ein X steht für ganze Zahlen von 0-9.
Beispiel: DAS_04_AUTO wird zu DAS_AUTO.
Dieses Beispiel kann in einer Excel-Mappe mehrere Male in der ersten Zeile vorkommen und es soll jedes Mal der Wert verändert werden. Wenn ein anderer Wert in dieser Zelle steht, soll zur nächsten Zelle gesprungen werden, das heißt : wenn der oben genannte Beispielwert NICHT in der Zelle steht, soll diese übersprungen und zur nächsten Zelle gegangen werden.
Sobald eine Zelle in der ersten Zeile "Leer" ist, das heißt nichts drin steht soll die Mappe geschlossen und die nächste Mappe im Ordner geöffnet werden bei der dasselbe gemacht wird.
Ja es werden "alle" Zellen in der Zeile nachher "leer" sein.

Lange Rede kurzer Sinn, zusammengefasst: erste Zeile, erste Zelle: Zelle leer ? Wenn nein, dann prüfe nach dem oben genannten Wert, falls dieser vorhanden, ersetzen und zur nächsten Zelle springen. Falls dieser Wert nicht vorhanden, dann direkt zu nächsten Zelle, falls Zelle leer, Mappe schließen.

Gruß Leon


  

Betrifft: Bitte VBAprofi ansehen - offen! von: Matze Matthias
Geschrieben am: 11.09.2014 11:54:55

Hallo Leon, Hallo Profis,
das es so komplex wird konnte man aus dem ersten Beitrag nicht vermuten, ich bin da mal raus das übersteigt meinen Level um einiges. Einer der Profis wird sich das bestimmt ansehen, habe den Beitrag als "offen" markiert. Dies kannst du wenn du weitere Fragen hast mit dem Kästchen unten neben Passwort erreichen.

Gru0 Matze


  

Betrifft: AW: Bitte VBAprofi ansehen - offen! von: Leon Felker
Geschrieben am: 11.09.2014 11:56:51

Trotzdem danke Matze :)


  

Betrifft: AW: Bitte VBAprofi ansehen - offen! von: Robert
Geschrieben am: 11.09.2014 12:23:46

Hallo Leon,

Mache einfach eine Fortlaufende Schleife, die sich selbst beendet sobald der Wert "leer" ist.
Funktioniert aber nur, wenn du zwischendrin keine Leerzeilen hast.
Alternativ eine Schleife von der ersten bis zur letzten benutzten Zelle (ist aber möglicherweise nicht zielführend)

For x = 1 To 100
    If Cells(x, 1).Value = 0 Then Exit For
    With Cells(x, 1)
    Dein Code Hier
    End With
Next x
Viele Grüße
Robert


  

Betrifft: AW: Bitte VBAprofi ansehen - offen! von: Leon Felker
Geschrieben am: 11.09.2014 13:05:19

Hallo Robert, danke für die Hilfe. Ich probiere es gleich mal aus.

Gruß Leon


  

Betrifft: AW: Bitte VBAprofi ansehen - offen! von: Leon Felker
Geschrieben am: 11.09.2014 13:43:07

Jetzt tritt das Problem auf, dass ich keinen Befehl finde der den Wert, so wie im Beispiel, verändern kann. "Temp = replace" erlaubt keine Unterzeichen. Hat da jemand einen Tipp ?

grüße Leon


  

Betrifft: AW: Bitte VBAprofi ansehen - offen! von: hary
Geschrieben am: 11.09.2014 14:03:47

Moin
Nim mal Replace, hier fuer die ganze Zeile1.

Rows(1).Replace what:="_04", replacement:="", lookat:=xlPart

gruss hary


  

Betrifft: AW: Bitte VBAprofi ansehen - offen! von: Leon Felker
Geschrieben am: 11.09.2014 14:07:57

Moin hary,
danke für die Antwort, aber kleine Frage hab ich noch... was genau macht dieses lookat ?


  

Betrifft: AW: Bitte VBAprofi ansehen - offen! von: hary
Geschrieben am: 11.09.2014 14:36:32

Moin
Aus der Hilfe.
XlLookAt-Enumeration
Gibt an, ob nach einer Übereinstimmung mit dem gesamten Suchtext oder nur mit einem Teil des Suchtexts gesucht wird.
Versionsinformationen
Hinzugefügte Version: Excel 2007

Name Wert Beschreibung
xlPart 2 Übereinstimmung mit einem beliebigen Teil des Suchtexts
xlWhole 1 Übereinstimmung mit dem gesamten Suchtext

gruss hary


 

Beiträge aus den Excel-Beispielen zum Thema "VBA-Zellenwert auslesen und Zelle wechseln"