Hallo Zusammen,
wenn das Makro ausgeführt wird, wird die entsprechende Zeile durch die Artikelnummer gefunden und aus dieser Tabelle in ein anderes Tabellenblatt übertragen.
Ich möchte das Outlook geöffnet wird und ein paar konstante aber auch variable Werte in die Betreffzeile als auch in die E-Mail geschrieben werden.
Beispiel Betreffzeile: Artikel C3 C6 C8 wurde fertiggestellt
Bei den C3,6,8 handelt sich es um die variablen die ja nicht immer in C stehen sondern entsprechend der richtigen Zeile über das Makro oben zugewiesen werden müssen.
Des weiteren würde ich gerne noch einen E-Mail Text vorgeben, die E-Mail kann durch den Anwender noch kontrolliert werden und muss anschließend manuelle versendet werden.
Wie kann ich das ganze am besten lösen?
wenn das Makro ausgeführt wird, wird die entsprechende Zeile durch die Artikelnummer gefunden und aus dieser Tabelle in ein anderes Tabellenblatt übertragen.
Ich möchte das Outlook geöffnet wird und ein paar konstante aber auch variable Werte in die Betreffzeile als auch in die E-Mail geschrieben werden.
Beispiel Betreffzeile: Artikel C3 C6 C8 wurde fertiggestellt
Bei den C3,6,8 handelt sich es um die variablen die ja nicht immer in C stehen sondern entsprechend der richtigen Zeile über das Makro oben zugewiesen werden müssen.
Des weiteren würde ich gerne noch einen E-Mail Text vorgeben, die E-Mail kann durch den Anwender noch kontrolliert werden und muss anschließend manuelle versendet werden.
Wie kann ich das ganze am besten lösen?
Visual Basic-Quellcode
- Sub AuftragFertigBuchen()
- Dim Eingabe As Variant
- Dim finden As Range
- Dim SpalteErledigtAm As Integer
- SpalteErledigtAm = 6
- Set wbDatenÜbersicht = ThisWorkbook.Worksheets("Daten-Übersicht")
- Set wbBearbAufträge = ThisWorkbook.Worksheets("bearbeitete Aufträge")
- AnzahlSpaltenOV = 22 'Anzahl genutzter Spalten bei "Daten-Übersicht" (OverView/OV)
- 'Eingabe des Auftrages. Vorauswahl abhängig von der aktiven/ausgewählten Zelle
- Eingabe = InputBox("Welcher Auftrag soll fertig gebucht werden?", "Auftrag buchen", ActiveCell.Value)
- If Eingabe <> "" Then
- Set finden = wbDatenÜbersicht.Range("C3:C13000").Find(what:=Eingabe, LookAt:=xlWhole) 'in welcher zelle steht die Auftragsnummer?
- If Cells(finden.Row, SpalteErledigtAm) <> "" Then
- If Not finden Is Nothing And IsEmpty(finden) = False Then 'Überprüfung, ob zu dem eingegebenen Wert eine Zeile gefunden wurde
- wbBearbAufträge.Rows(2).Insert 'neue 3.Zeile einfügen
- wbDatenÜbersicht.Rows(finden.Row).Copy Destination:=wbBearbAufträge.Range("A2") 'Kopieren der Zeile in "bearbeitete Aufträge"
- wbDatenÜbersicht.Rows(finden.Row).Delete 'Löschen der Zeile aus "Daten-Übersicht"
- Else
- MsgBox "Der eingegebene Auftrag ist nicht in der Liste enthalten. Bitte erneut eingeben."
- End If
- Else
- MsgBox "Der Auftrag kann ohne Enddatum nicht fertig gebucht werden"
- End If
- End If
- Application.ScreenUpdating = True
- End Sub