Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1440to1444
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
Zeile nach Wert durchsuchen VBA
13.08.2015 15:31:15
BADA
Hallo liebe Community,
ich habe ein Problem, welches sich hoffentlich mit euerer Hilfe lösen lässt.
Ich muss Daten aufbereiten, die in Excel als eine Tabelle importiert werden. Für mich wichtige Werte sind die, die sich in der Spalte "P22x998" befinden. So weit so gut. Nun variiert die Anzahl der Spalten, also auch die Koordinaten meiner Spalte von Datei zu Datei.
Da ich aber bestimmte werte aus der Spalte benötige, würde ich gerne die ganze erste Zeile nach dem Ausdruck "P22x998" durchsuchen. Die Stelle, an der sich Die Spalte befindet (also z.B. D = 4 oder E = 5) als Variable speichern ( z.B. Variable = 5 , für die STelle E)
Mit der Variable lässt sich dann arbeiten, denn danach greift mein Makro, welches mit den Koordinaten der Spalte und Zeile die richtigenWerte selbststäändig rauszieht.
Ich müsste das Makro nur noch mit der Koordinate der Spalte in der sich "P22x998" befindet speisen.
Hoffe das war nicht all zu verwirrend.
damit es vielleicht etwas verständlicher wird hier das Makro, welches mit der Koordinate gespeist werden soll:

  • Sheets("Tabelle1").Select
    Spalte = 34 'AH 'die 34 soll durch die Suche ausgegeben werden, hier sind meine Werte
    Set rngGesamt = Cells(2, Spalte)
    For Zeile = 12 To 1000 Step 9 'Ich benötige ab der 2. Zelle jeden 9. Wert (ist 'nicht so wichtig)
    Set rngGesamt = Union(rngGesamt, Cells(Zeile, Spalte))
    Next
    rngGesamt.Copy
    'Brereich einfügen
    Sheets("Tabelle2").Select
    Range("F14").Select
    ActiveSheet.Paste
    Application.CutCopyMode = False

  • Für Anregungen bin ich sehr dankbar!

    8
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Zeile nach Wert durchsuchen VBA
    13.08.2015 15:56:34
    JoWE
    Hallo Bada,
    vllt. so: varSP = rows(1).find(what:="P22x998").column
    Gruß
    Jochen

    AW: Zeile nach Wert durchsuchen VBA
    18.08.2015 09:23:54
    Max
    Ich danke Dir vielmals Jochen! Sorry für die späte Antwort, hatte in den letzten Tagen leider keinen Internetzugriff...
    Sag mal, hast du eine Idee, wie ich eine Spalte nach der ersten leeren Zelle durchsuchen kann und die Koordinaten dieser dann in eine Variable schreiben kann? Also fast so wie in dem anderen Beispiel, varZL = 7 z.B. , wenn in der Spalte D die ersten 6 Zellen mit Zahlen gefüllt sind.
    hab vielen Dank!
    Gruß
    BADA

    AW: Zeile nach Wert durchsuchen VBA
    18.08.2015 10:53:29
    JoWE
    Hallo,
    so z.B.
    Beispiel 1 findet die erste leere Zelle in Spalte 1, die Suche bginnt ganz unten:
    ▲ erste_leere_Zelle_am_Ende = Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1
    Beispiel 2 findet die erste leere Zelle in Splate 1, die Suche beginnt ganz oben:
    ▲ erste_leere_Zelle = Sheets("Tabelle1").Cells(1, 1).End(xlDown).Row + 1
    Gruß
    Jochen

    Anzeige
    AW: Zeile nach Wert durchsuchen VBA
    18.08.2015 11:58:11
    BADA
    Danke JoWe,
    es funktioniert :) habe mich für das Beispiel 2 entschieden.
    Gruß
    BADA

    AW: Zeile nach Wert durchsuchen VBA
    18.08.2015 12:58:33
    BADA
    Hi Jochen,
    gibtes eine Möglichkeit bei einem Nichtfinden von "P22x998" in der ersten Zeile, einen Error auszugeben? Eine MessageBox oder etwas änliches mit "P22x998 - nicht gefunden".
    Sonst läuft man Gefahr mit den falschen Werten zu arbeiten, wenn die tabelle nicht stimmt.
    Vielen Dank nochmal!
    Gruß
    BADA

    AW: Zeile nach Wert durchsuchen VBA
    18.08.2015 13:14:58
    JoWE
    schau Dir in der Online-Hilfe zu VBA mal etwas zu Fehlerhandlungsroutinen an.
    Und/oder lies hier: http://vba-tutorial.de/fehler/fehlerbehandlung.htm
    In etwa könnte man das so machen
    Sub test()
    Dim varSP As Long
    On Error GoTo fb
    varSP = ActiveSheet.Rows(1).Find(what:="P22x998").Column
    MsgBox "alles OK"
    'hier was soll passieren wenn die Makrobearbeitung hier wieder einsteigt?
    Exit Sub
    fb:
    MsgBox "P22x998 nicht gefunden", vbOKCancel, "Fehler"
    'entweder so:
    Resume Next '"macht bei 'MsgBox "alles ok"' weiter
    'oder so
    Exit 
    
    
    Sub 'steigt aus
    End Sub
    

    Anzeige
    AW: Zeile nach Wert durchsuchen VBA
    18.08.2015 13:16:42
    JoWE
    schau Dir in der Online-Hilfe zu VBA mal etwas zu Fehlerhandlungsroutinen an.
    Und/oder lies hier: http://vba-tutorial.de/fehler/fehlerbehandlung.htm
    In etwa könnte man das so machen
    Sub test()
    Dim varSP As Long
    On Error GoTo fb
    varSP = ActiveSheet.Rows(1).Find(what:="P22x998").Column
    MsgBox "alles OK"
    'hier was soll passieren wenn die Makrobearbeitung hier wieder einsteigt?
    Exit Sub
    fb:
    MsgBox "P22x998 nicht gefunden", vbOKCancel, "Fehler"
    'entweder so:
    Resume Next 'macht bei MsgBox alles ok weiter
    'oder assteigen
    Exit Sub
    End Sub
    

    Anzeige
    AW: Zeile nach Wert durchsuchen VBA
    18.08.2015 13:40:29
    BADA
    Vielen vielen Dank!

    306 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Links zu Excel-Dialogen

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige