Clever-Excel-Forum

Normale Version: Macro erstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo und guten Abend,
Ich brauche dringend Hilfe bei der Erstellung eines Makros.
In einem Arbeitsblatt „Rechnungen“ erstelle ich Datensätze und speicher diese in einem Arbeitsblatt „001“ ab. Nun möchte ich im Arbeitsblatt „Rechnungen“ ein Suchfeld erstellen  „E9“ in das ich ein Parameter eingebe und mit einem extra Button „F9“ auslöse. Das Auslösen soll das zurückholen der Daten aus „001“ in „Rechnungen“ bewirken. Die Suche des Parameters bezieht sich auf die Spalte „B“. Ist der Parameter gefunden sind die Daten aus den Feldern der Zeile zu übernehmen.  Ich hoffe dass meine Beschreibung überhaupt verständlich ist und jemand durch mein Chaos findet. Habe einen Screenshot zur besseren Übersicht gemacht. Vielen Dank im Voraus demjenigen der mir eventuell weiterhelfen kann.
Ein schönes Wochenende.
Gruß
Peter
 
[
Bild bitte so als Datei hochladen: Klick mich!
]
Hey,

benötige noch Information zur Datumsspalte in 001. Es steht nicht in jeder Zeile ein Datum. Oder hast du das nur im Bsp. weggelassen.
Wenn es so wie im Bsp. ist soll dann bei 889990 das Datum 01.01.2017 ausgegeben werden.

Mfg
Hallo Elex,
danke für die Antwort!
Die Datumsspalte kann vernachlässigt werden.
Nur die 5 ? im Arbeitsblatt "Rechnungen" sind wichtig.
Schönes Wochenende
Gruß
Peter
Ok Sorry habe meine Frage nicht korrekt genug gestellt.

Datum1 und 2 sind auch nicht in jeder zeile Vorhanden. Welches Datum soll bei 889990 erscheinen. Oder soll dann Leer ausgegeben werden.

Mfg
Hallo,
das "Arbeitsblatt 001" ist nur als Beispiel anzusehen.
In der Regel gibt es hinter jeder Servicenummer Einträge in den Spalten C_D_E_F.
Sollte ausnahmsweise mal kein Eintrag zu finden sein, dann das Zielfeld in "Rechnungen" für manuellen Eintrag frei lassen.
Vielen Dank.
Wünsche einen schönen Sonntag.
Gruß
Peter
Ok dann Versuch es so.

Butten anlegen und Code Einfügen oder fertiges Bsp. aus Anhang nutzen.


Code:
Option Explicit
Dim LeZe As Long
Dim erZe As Long
Dim i As Long


Private Sub cmdAuslöser_Click()

erZe = ThisWorkbook.Worksheets("001").Range("B1").End(xlDown).Row
LeZe = ThisWorkbook.Worksheets("001").Cells(Rows.Count, 2).End(xlUp).Row

Do While erZe <= LeZe  'schleife bis Servicenummer gefunden
    If ThisWorkbook.Worksheets("001").Cells(erZe, 2) = Range("E9") Then
        Range("C6") = ThisWorkbook.Worksheets("001").Cells(erZe, 2) 'Servicenummer
        Range("C8") = ThisWorkbook.Worksheets("001").Cells(erZe, 3) 'Bauvorhaben
        Range("C9") = ThisWorkbook.Worksheets("001").Cells(erZe, 4) 'Anschrift
        Range("E6") = ThisWorkbook.Worksheets("001").Cells(erZe, 5) 'Datum 1
        Range("F6") = ThisWorkbook.Worksheets("001").Cells(erZe, 6) 'Datum 2
     Exit Sub
    End If
      erZe = erZe + 1
      DoEvents 'Andere Prozesse nicht behindern
Loop
    If erZe > LeZe Then
    Range("c6") = "nicht Vorhanden"
    Range("C8") = ""
    Range("C9") = ""
    Range("e6") = ""
    Range("f6") = ""
    End If
End Sub