Aus Bestellungen Provisionsblätter generieren
Betrifft: Aus Bestellungen Provisionsblätter generieren
von: Sven
Geschrieben am: 29.08.2014 11:32:09
Hallo zusammen,
ich benötige Eure Hilfe.
Fall:
Ich habe eine Liste für Bestellungen, die täglich bearbeitet/befüllt wird.
Nun sollen die Daten, wenn diese gefüllt sind, in das nächste Tabellenblatt „Provision“ geschrieben werden. Die Werte aus
Spalte F in Zelle C7
Spalte G in Zelle C4
Spalte H in Zelle C3
Danach soll das Tabellenblatt unter dem Dateinamen (Spalte I) abgespeichert werdn.
Geht das über ein Makro?
Vielen Dank!
Sven
File upload
https://www.herber.de/bbs/user/92382.xlsx
Betrifft: AW: Aus Bestellungen Provisionsblätter generieren
von: Jack_d
Geschrieben am: 29.08.2014 11:50:34
Hallo Sven,
ja das kann man
hier mal ein ansatz
Sub Makro1()
With Worksheets("Übersicht Bestellungen")
For i = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
Total = .Cells(i, 6)
Fuenfzehn = .Cells(i, 7)
fuenfundzwanzig = .Cells(i, 8)
Worksheets.Add After:=Sheets(Sheets.Count)
With ActiveSheet
.Cells(7, 3) = Total
.Cells(4, 3) = Fuenfzehn
.Cells(3, 3) = fuenfundzwanzig
.Move
End With
ActiveWorkbook.Save
Next i
End With
End Sub
Betrifft: DAs Blatt PROVISION fehlt zwar, geht aber per VBA
von: NoNet
Geschrieben am: 29.08.2014 12:06:00
Hallo Sven,
leider hast Du uns das Blatt "Provision" vorenthalten, daher habe ich es einfach mal mit einem LEEREN Blatt "Provision" getestet. Als Pfad verwende ich den gleichen Pfad wie die Bestelliste, ansonsten bitte den individuellen Pfad im Code anpassen und das Kommentarzeichen ' zu Beginn der Zeile entfernen !
Sub Provisionsliste()
Dim wsBestellungen As Worksheet, wsProv As Worksheet
Dim lngZ As Long, strDateiname As String, strPfad As String, lngC As Long
Set wsProv = Worksheets("Provision")
Set wsBestellungen = Worksheets("Übersicht Bestellungen")
wsBestellungen.Activate
strPfad = ActiveWorkbook.Path & "\" 'Pfad der Bestelliste - ODER :
'strPfad="C:\Temp\Daten\" 'Individueller PFad - mit "\" am Ende !
If MsgBox("Sollen jetzt die einzelnen Bestellugnen als Provisionsdateien im Verzeichnis" & _
vbLf & vbLf & _
strPfad & vbLf & vbLf & "Gespeichert werden ?", vbYesNo + vbQuestion, " _
Provisionsdateien speichern") = vbYes Then
For lngZ = 2 To Cells(Rows.Count, 1).End(xlUp).Row 'Von Zeile 2 bis zum Ende der Liste
If Application.Count(Cells(lngZ, 5).Resize(, 3)) > 0 Then 'Nur wenn in Spalten F:H _
ein Wert steht
wsProv.Copy 'Das Blatt "Provision" als neue Mappe kopieren
[C3] = wsBestellungen.Cells(lngZ, 7) 'Spalte H in C3
[C4] = wsBestellungen.Cells(lngZ, 6) 'Spalte G in C4
[C7] = wsBestellungen.Cells(lngZ, 5) 'Spalte F in C7
ActiveWorkbook.SaveAs strPfad & wsBestellungen.Cells(lngZ, 9) 'Speichern mit _
Dateiname aus Spalte I
ActiveWorkbook.Close 'Provisionsdatei schließen
lngC = lngC + 1 'Zähler erhöhen
End If
Next
MsgBox "Es wurden " & lngC & "Provisionsdateien erstellt !", vbInformation + vbOKOnly, " _
FERTIG !"
End If
End Sub
Eine Frage noch : Was meintest Du mit dieser Einschränkung :
Nun sollen die Daten, wenn diese gefüllt sind,
Derzeit werden Provisionsdateien aus ALLEN Zeilen erstellt, da in jeder Zeile im Bereich F:H Daten enthalten sind.
Gruß, NoNet
Betrifft: Korrektur : Nur Spalten F:G prüfen
von: NoNet
Geschrieben am: 29.08.2014 12:22:35
Hallo Sven,
eine kleine Korrektur, um nur die Inahlte der Spalten F:G zu prüfen (in Spalte H steht ja immer ein Wert drin) :
If Application.Count(Cells(lngZ, 6).Resize(, 2)) > 0 Then
Salut, NoNet
Betrifft: AW: Korrektur : Nur Spalten F:G prüfen
von: Sven
Geschrieben am: 29.08.2014 13:36:00
Hallo, vielen Dank für die Hilfe.
hast Du die Datei denn wieder als upload gemacht?
Beim Versuch den CODE "reinzubauen", bekomme ich einen Syntaxfehler angezeigt (also VBA bin ich komplett blank). Sorry:
If MsgBox("Sollen jetzt die einzelnen Bestellugnen als Provisionsdateien im Verzeichnis" & _
vbLf & vbLf & _
strPfad & vbLf & vbLf & "Gespeichert werden ?", vbYesNo + vbQuestion, " _
Provisionsdateien speichern") = vbYes Then
Danke schon mal.
Sven
 |
Betrifft: Bestelliste : Datei als Upload gemacht ;-)
von: NoNet
Geschrieben am: 29.08.2014 14:28:00
Hallo Sven,
nein, ich hatte die Datei noch nicht als Upload gemacht ;-) - das habe ich jetzt aber nachgeholt, hier ist sie :
https://www.herber.de/bbs/user/92388.xlsm
Das Makro wird über die große rote Schaltfläche im Blatt "Übersicht Bestellungen" gestartet.
Den Code des Makros kannst Du im VBA-Editor in "Modul1" anschauen :

In den VBA-Editor gelangst Du per Tastenkombination Alt+F11.
Gruß, NoNet
Betrifft: AW: Bestelliste : Datei als Upload gemacht ;-)
von: Sven
Geschrieben am: 29.08.2014 16:07:48
Super, - VIELEN DANK, ich hoffe ich komme nun so langsam in den MODUS
Beiträge aus den Excel-Beispielen zum Thema "Aus Bestellungen Provisionsblätter generieren"