Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1824to1828
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
Inhaltsverzeichnis

aus Tabelle Angebotsformular erstellen

aus Tabelle Angebotsformular erstellen
13.04.2021 21:46:44
Anne
Hallo zusammen, bin neu hier und hoffe, ich finde hier Hilfe.
In Excel bin ich einigermaßen eingearbeitet, VBA ist mir aber neu. Ich habe nun ein ziemlich komplexes Problem:
Es gibt eine Tabelle mit Artikel-Positionen (jeweils mit max. 3 Zeilen), die in ein Angebotsformular, das mit Kopf und Formatierungen bereits soweit erstellt ist, übernommen werden sollen.
- Dabei variiert die Anzahl dieser Pos. , d.h. es müßte abgefragt werden, wieviele Pos. es gibt in der Quelltabelle und nur diese (nur Werte) müßten dann übernommen werden.
- Innerhalb der Pos. gibt es wiederum Leerzeilen (d.h. eine Pos. kann aus 1, 2 oder 3 Zeilen bestehen), die nicht mitkopiert werden sollen.
- Wenn möglich, soll innerhalb einer Pos. kein Seitenumbruch stattfinden
- Die Quelltabelle beginnt auf Seite 1 ab Zeile 20, die Zieltabelle ab Zeile 19, die Folgeseiten sind jeweils ohne Seiten-Kopf, d.h. die Zieltabelle geht auf Seite 1 von Zeile 19 - Zeile 53, dann Seitenumbruch - oben dann eine Wiederholungszeile, Bereich Seite 2 dann Zeile 54 - 108 usw.
- Auf den Angebotsseiten soll unten eine Zwischensumme stehen, auf der Folgeseite dann der entsprechende Übertrag
- Auf der letzen Seite des Angebotes dann ein Summenblock mit Netto- / MWSt- / Bruttobetrag
Ich suche seit Tagen, aber vielleicht läßt sich das in Excel gar nicht lösen? (z.b. gibt es ja keine Wiederholungszeile UNTEN für die Zwischensumme usw)
Darum wäre ich wirklich dankbar, wenn mir hier jemand weiterhelfen könnte oder einen Tipp geben könnte, wie ich das Problem angehen kann.
Ganz vielen Dank schon mal im voraus!!

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: aus Tabelle Angebotsformular erstellen
13.04.2021 23:30:01
Piet
Hallo Anne
ich gebe dir einen ganz heissen Tipp. Kein Kollege wird für dich eine Tabelle aufbauen um einen VBA Code zu erstellen. Bitte lade eine Beispieldatei mit Fantasiedaten hoch, damit wir den Tabellenaufbau erkennen können. Ohne Beispiel wird keiner anfangen.
mfg Piet
AW: aus Tabelle Angebotsformular erstellen
14.04.2021 10:17:44
Anne
Danke für den Tipp - mach ich natürlich, folgt heute Abend, da ich sie erst erstellen muß. Wär super, wenn ich dann vielleicht doch noch Tipps zur Ausführung erhalten würde :-) - Danke!
AW: aus Tabelle Angebotsformular erstellen
14.04.2021 19:47:26
Anne
Habe nun eine Beispiel-Datei erstellt und hochgeladen. Hoffe es funktioniert und wie gesagt, bin für alle Tipps wirklich sehr dankbar.
Ziel-Tabelle wäre die "DruckAngebot", die dann als pdf versandt werden soll.
Anzeige
AW: aus Tabelle Angebotsformular erstellen
14.04.2021 20:03:07
Piet
Hallo Anne
ich habs, mein PC war nicht aktualisiert, habe deine 2. Nachricht gesehen und runtergeladen. Heute habe ich schon zuviel gearbeitet. Und noch zwei andere Projekte in Arbeit. Ich schaue es mir morgen in Ruhe an ... Mit 70 ist man kein ICE Lokführer mehr ...
mfg Piet
AW: aus Tabelle Angebotsformular erstellen
15.04.2021 21:34:24
Anne
Hallo Piet, danke für Deine Antwort und: ich will nicht drängeln, aber konntest Du es Dir evtl. schon ansehen? Will nicht stressen, aber ich muß das irgendwie fertiggestellt kriegen oder - falls es nicht in Excel geht - eine andere Lösung finden in den nächsten Tagen. VG Anne
Anzeige
AW: aus Tabelle Angebotsformular erstellen
15.04.2021 22:28:40
Piet
Hallo Anne
ich hoffe das meine Arbeit auch bei euch in der Praxis einwandfrei funktioniert. Teste es zuerst mal in der Beispieldatei mit euren Daten. Das Makro üst zur Zeit für drei max. Druckblaetter ausgelegt. Das Problem ist das ich nicht 1:1 durchkopieren kann, sondern beim Text "Zwischensumme" auf das naechste Blatt umschalten muss. Dieses Umschalten erfolgt im makro. Wenn du meine Code verstehtst kannst du ihn selbst erweitern. Wenn du pro Aufrtrag mehr als drei Bleeter bençtigst muss ich ihn noch mal erweitern.
Ich warte mal deine Antwort ab. Hoffentlich kannst du jetzt dein Projekt erfolgreich abschliessen.
https://www.herber.de/bbs/user/145562.xlsm
mfg Piet
Anzeige
AW: aus Tabelle Angebotsformular erstellen
16.04.2021 13:45:02
Anne
Hallo Piet, ich hab´s jetzt gleich versucht zu testen, leider funktioniert´s bei mir nicht -
folgenden Fehler erhalte ich, auch wenn ich es in der Bsp.-Datei starte:
Stoppt und Meldung "Variable nicht definiert" - markiert ist dann die "Zwischensumme" (gilt dann wahrscheinlich auch für den "Übertrag"?)
und: es wird wohl das Wort "Zwischensumme:" (und "Übertrag:") jeweils oben bzw. unten eingefügt (zumindest in der Bsp-Datei war es so), nicht aber der jeweilige Wert.
Die Datei, die Du geschickt hast, sieht ansonsten super aus, Leerzeilen werden alle gelöscht, wie gewünscht und keine Seitenumbrüche innerhalb einer Pos. - klasse! Kann man evtl. noch die Leerzeilen zwischen den Pos. rauslassen?
Das mit dem Kopieren / Umschalten auf weitere Blätter, glaub ich, hab ich verstanden - das kann ich selbst versuchen.
Was aber noch fehlt, ist der Summenblock (Summe netto / MWSt / Summe brutto) auf der letzten Seite - macht es evtl. Sinn, den schon in "Angebot 2" einzufügen und dann nur zu "übernehmen" ?
Entschuldige meine laienhaften Fragen, mit der Aufgabe hab ich mich eindeutig übernommen :-( - gibt es eine Möglichkeit, Dir Deine Hilfe zu vergüten?
Danke im voraus für Deine Geduld ! VG Anne
Anzeige
AW: aus Tabelle Angebotsformular erstellen
16.04.2021 20:23:13
Piet
Hallo Anne
Sorry, Flüchtigkeitsfehler. Ich habe schlicht die "" für den Text vergessen, es musste "Zwischensumme" heissen!
Ich habe den Code noch mal überarbeitet, dir Formeln in jedes Blatt eingebaut, und eine End-Summen Formel.
Die Zwischensumme kannst du nicht in "Auftrag 2" festlegen, weil man nicht weiss wieviele Zeilen pro Druckblatt kopiert werden.
Wenn du keine Leerzeilen im Druckblatt haben willst probiere es bitte mit dem lzDa über End(xlUp) aus. Dann lzDa = lzDa + 1 löschen!
Vergüten sage ich nicht Nein, aber lass uns bitte zuerst das Makro richtig ans laufen bekommen.
mfg Piet
  • Option Explicit
    Dim AC As Range, lz1 As Long
    Dim j As Integer, lzDa As Long
    
    Sub Daten_inDruckAngebot_übertragen()
    Dim DAG As Worksheet, i As Long
    Set DAG = Worksheets("DruckAngebot")
    With Worksheets("Angebot 2")
    lz1 = .Cells(1000, 1).End(xlUp).Row + 3
    lzDa = 18  '1.Zeile DauerAuftrag (19-1)
    'Löschen für 3 Auftrags Blätter
    DAG.Range("A19:J52").ClearContents
    DAG.Range("A56:J108").ClearContents
    DAG.Range("A113:J146").ClearContents
    Application.ScreenUpdating = False
    'Schleife in Tabelle "Angebot 2"
    For Each AC In .Range("A20:A" & lz1)
    If AC.Value  "" Or AC.Cells(1, 4)  "" Then
    If AC.Value  "" Then lzDa = lzDa + 1
    If AC.Value  "" Then
    'Umschaltung auf nächstes Blatt
    For i = 1 To 3   'drei Zeilen prüfen
    If AC.Cells(i, 4) = "" Then Exit For
    Next i
    '** für weitere Blätter bitte selbst erweitern!!
    If lzDa  51 Then
    lzDa = 56
    DAG.Range("J53").Formula = "=SUM(J19:J52)"
    DAG.Range("J54").Formula = "=SUM(J19:J52)"
    ElseIf lzDa  108 Then
    lzDa = 113
    DAG.Range("J108").Formula = "=SUM(J56:J107)"
    DAG.Range("J109").Formula = "=SUM(J56:J107)"
    DAG.Range("H109").Value = "Zwischensumme:"
    DAG.Range("H110").Value = "Übertrag:"
    ElseIf lzDa  165 Then
    lzDa = 171
    DAG.Range("J166").Formula = "=SUM(J113:J165)"
    DAG.Range("J167").Formula = "=SUM(J113:J165)"
    DAG.Range("H166").Value = "Zwischensumme:"
    DAG.Range("H167").Value = "Übertrag:"
    'mit ElseIf  '** beliebig lang selbst erweitern
    End If
    End If
    'Auftragszeile in DruckAuftrag kopieren
    AC.Resize(1, 10).Copy
    DAG.Cells(lzDa, 1).PasteSpecial xlPasteValues
    Application.CutCopyMode = False
    'nächste Zeile setzen
    lzDa = lzDa + 1    'oder diese Version testen
    'lzDa = DAG.Cells(2000, 1).End(xlUp).Row + 1
    End If
    Next AC
    'End-Summe als Formel zu Angebot2
    lzDa = lzDa + 1
    DAG.Cells(lzDa, "H").Font.Bold = True
    DAG.Cells(lzDa, "H").Value = "End Summe:"
    DAG.Cells(lzDa, "J").Formula = "=SUM('Angebot 2'!J20:J" & lz1 & ")"
    'End-Summe formatieren mit 1000 Zeichen
    DAG.Cells(lzDa, "J").NumberFormat = "#,##0.00"
    DAG.Cells(lzDa, "J").Font.Bold = True
    End With
    End Sub
    

  • Anzeige
    AW: aus Tabelle Angebotsformular erstellen
    17.04.2021 20:11:26
    Anne
    Hallo Piet,
    jetzt läuft´s - super, ich sehe Licht am Horizont :-)
    
    Die Zwischensumme kannst du nicht in "Angebot 2" festlegen, weil man nicht weiss wieviele Zeilen pro Druckblatt kopiert werden.
    
    Ich meinte die END-SUMMEN, aber da gibt´s wohl dasselbe Problem.
    
    Wenn du keine Leerzeilen im Druckblatt haben willst probiere es bitte mit dem lzDa über End(xlUp) aus. Dann lzDa = lzDa + 1 löschen!
    
    Das funktioniert leider nicht: dann werden zwar die Zwischen-Leerzeilen rausgelassen, aber auch bei den Pos.-Zeilen max. 2 (statt 3) übernommen?
    Das mit den Zwischensummen und Überträgen bekomme ich in Griff - bei den Zw-Summen brauche ich kumulierte Werte, aber das konnte ich einstellen :-) und die restlichen Seiten - das wird halt Fleißarbeit.
    Beim Endsummen-Block erhalte ich nur die Netto-Summe? MWSt + Summe Brutto würden da noch fehlen.
    Ich hab jetzt festgestellt, dass - je nach dem welchen Drucker / pdf-Drucker ich nehme - die Zeilenanzahl pro Blatt unterschiedlich ist :-( - das schmeißt dann natürlich die ganze Einstellerei mit den Zw-Summen und Überträgen in vorbelegten Zeilen-Nrn. durcheinander. Ist das irgendwie lösbar oder muß man sich hier auf einen Drucker vorab festlegen und dann die Zeilen-Nrn. danach ausrichten? Wahrscheinlich, oder ? Wenn ja, kann man diesen Drucker fest in das Makro integrieren, so dass der Anwender nur diesen (pdf-)Drucker verwenden kann?
    Eins noch: Nach dem Summen-Block sollen noch die Lieferbedingungen angefügt werden.
    Dazu hab ich in jeweils einem separaten Tabellenblatt (LB_deutsch/LB_engl/LB_franz) den Text als Objekt eingebettet aus der jeweiligen word-Datei. Ich hoffe, das macht so Sinn?
    Die Sprache wird ausgewählt in Tabelle "Eingabe"B1.
    Könntest Du mir das bitte noch in´s Makro einfügen? Kann gern nochmal eine Bsp-Datei hochladen oder Dir auf einem anderen Weg? zusenden, wenn erforderlich.
    Ich muß noch ein paar Punkte abklären, das geht aber erst Montag - dann sollten wir das Projekt beenden können.
    Ganz vielen Dank nochmal und Schönes Wochenende!
    Anzeige
    AW: aus Tabelle Angebotsformular erstellen
    17.04.2021 20:55:42
    Piet
    Hallo Anne
    freut mich das du jetzt Licht am Horizont siehst! Dann sind wir ja ganz schön weit gekommen. Ich denke die MWST könnte man im Druckblatt nach der Netto Endsumme einfügen und eine Zeile drunter als End-Summe addieren. Wenn du danach noch Word Text einfügen must waere es gut zu wissen wieviele Zeilen das sind? Wegen Überlauf ins naechste Blatt.
    Waere gut noch mal eine Beispieldatei zu bekommen und eine Frage habe ich noch. Wieviele Druckblaettter könnten es max. werden? Mehr als drei, fünf, zehn, oder noch mehr?
    Beim Drucker Problem kann ich dir leider nicht helfen! Ich habe als Privatmann keinen Drucker und mich NIE mit der Steuerung beschaeftigt. Da könntest du eine neue Anfrage an die Kollegen die das Wissen ins Forum stellen. Ich stehe auch offen dazu das ich bei dem Thema passen muss.
    mfg Piet
    Anzeige
    AW: aus Tabelle Angebotsformular erstellen
    17.04.2021 23:05:27
    Anne
    Hallo Piet,
    
    Ich denke die MWST könnte man im Druckblatt nach der Netto Endsumme einfügen und eine Zeile drunter als End-Summe addieren.
    

    Ja, genau - ich will aber nicht in Deinem Makro "rumpfuschen" - den Absatz versteh ich nicht so ganz.
    
    Wenn du danach noch Word Text einfügen must waere es gut zu wissen wieviele Zeilen das sind? Wegen Überlauf ins naechste Blatt.
    
    Hab die nochmal die Bsp-Datei hochgeladen mit dem von mir schon angepaßten Makro und den 3 Tabellenblättern mit den LB - ist jeweils eine ganze Seite Text.
    https://www.herber.de/bbs/user/145621.xlsm
    
    Wieviele Druckblaettter könnten es max. werden? Mehr als drei, fünf, zehn, oder noch mehr?
    
    Bis zu 2000 Zeilen ==> max. ca. 40 Seiten - leider...
    Anzeige
    AW: aus Tabelle Angebotsformular erstellen
    18.04.2021 13:27:21
    Piet
    Hallo
    okay, bin ein bisschen überrascht das es so viele Seiten sein können, aber für ein Makro kein Problem. Dann berechnen wir die Umschaltung über das Offset Verfahren. Immer eine konstante Zeilen Zahl hinzu addieren. Das hatte ich schon geahnt! Deshalb die Rückfrage.
    Ich schaue mir dein Beispiel in Ruhe an. Wenn der Word Text sehr lang ist könnte man ihn ja immer auf das naechste Blatt schreiben. Was meinst du dazu?
    mfg Piet
    AW: aus Tabelle Angebotsformular erstellen
    18.04.2021 14:55:49
    Anne
    Hallo Piet,
    
    okay, bin ein bisschen überrascht das es so viele Seiten sein können, aber für ein Makro kein Problem. Dann berechnen wir die Umschaltung über das Offset Verfahren. Immer eine konstante Zeilen Zahl hinzu addieren. Das hatte ich schon geahnt! Deshalb die Rückfrage.
    
    Das wär natürlich super, wenn das geht - würde unheimlich viel Kopierarbeit sparen. Ich hatte auch überlegt, ob das mit nicht ginge mit dem "Hinzuaddieren einer Konstante" - die Folgeseiten haben ja immer die gleiche Anzahl von Zeilen, aber hab mich kaum getraut, als VBA-Laie sowas vorzuschlagen, nachdem Du schon die andere Formel gebaut hattest :-(
    
    Ich schaue mir dein Beispiel in Ruhe an. Wenn der Word Text sehr lang ist könnte man ihn ja immer auf das naechste Blatt schreiben. Was meinst du dazu?
    
    Das Problem ist, dass der Text fester Bestandteil des Angebotes muß - aber das "Objekt" mit dem Text auf versch. Seiten aufteilen, wird wohl auch zum Problem. Leider gibt es in der Kopfzeile ja nicht die Möglichkeit, die Angebots-Nr. als Feld einzufügen - damit wär es gelöst. Aber evtl. über den Umweg, das Tabellenblatt von "DruckAngebot" umzubenennen in "AN-Nr.xxx" (aus dem entsprechenden Feld) - ich hab dafür folgendes gefunden:
    ActiveSheet.Name = Range("A5").Value
    so oder so ähnlich ?
    Hoffe, ich hab mich einigermaßen verständlich ausgedrückt?
    VG Anne
    Anzeige
    AW: aus Tabelle Angebotsformular erstellen
    20.04.2021 20:48:00
    Anne
    Hallo Piet, kommst Du mit der neu hochgeladenen Datei und meinen Antworten zurecht oder brauchst Du noch Infos von mir?
    VG Anne
    AW: aus Tabelle Angebotsformular erstellen
    14.04.2021 19:52:37
    Piet
    Hallo Anne
    ich habe die Sache mit Crossposting gelesen, meine Meinung dazu: Im Mittelalter wurde man mit Teer übergossen und gefedert!
    Dafür bin ich nicht zu haben, bin aber nicht jeden Tag im Forum. Meine Antwort kann etwas dauern. Grüsse aus Ankara.
    mfg Piet
    AW: aus Tabelle Angebotsformular erstellen
    14.04.2021 19:58:38
    Piet
    Hallo Anne
    dein Beispiel ist nicht angekommen. Wenn du zum File Upload gehst musst du die Datei aus deinem PC öffnen und dann zum Server hochladen. Dort bekommst du einen Link. Den bitte mit Ctrl C kopieren und mir in deiner Antwort mitteilen. Der hat leider gefehlt!
    mfg Piet
    AW: aus Tabelle Angebotsformular erstellen
    14.04.2021 20:05:56
    Anne
    Hallo Piet, erstmal vielen Dank für´s Verständnis bzgl. Crossposting.. wußt ich wirklich nicht.
    hier nochmal die Datei: https://www.herber.de/bbs/user/145535.xlsx
    und: ich würd mich da schon reinfuchsen, wenn es Sinn macht - nur kann ich das als "Fast-Laie" was VBA betrifft, nicht wirklich abschätzen. Hab eh schon Tage mit Suche verbracht, und bin jetzt an dem Punkt, dass ich nicht weiss, ob es überhaupt in Excel dafür eine vernünftige Lösung gibt, die ein Durchschnittsanwender wie ich hinkriegen kann. Ganz vielen Dank schon mal und VG nach Ankara! Anne.
    AW: aus Tabelle Angebotsformular erstellen
    14.04.2021 00:46:26
    Günther
    Ich bin nicht der einzige Helfer, der Crossposting ohne gegenseitigen Querverweis (http://www.excel-ist-sexy.de/forenhilfe/crossposting/) als Anlass nimmt, gar nicht erst über Hilfe nachzudenken. ☹
     
    Ohne Gruß
    Günther  |  mein Excel-Blog
    AW: aus Tabelle Angebotsformular erstellen
    14.04.2021 09:29:59
    Anne
    Sorry - wie gesagt, bin neu hier - ich wollte nicht die Regeln verletzen, das mit dem Crossposting war mir nicht klar, hab jetzt aber nachgelesen - und natürlich: das versteh ich :-(
    Hab die Frage auch hier eingestellt: http://www.office-loesung.de/p/viewtopic.php?f=166&t=863678&p=3350232#p3350232
    Soll ich jetzt besser den Beitrag in einem Forum löschen?
    Ich erwarte keine Komplett-Lösung zum Nulltarif. Dass das unfair wäre, ist klar. Ich wollte "nur" erst mal eine Hilfestellung, ob das überhaupt möglich ist in Excel sowas zu lösen oder ob es vielleicht einen anderen Ansatz braucht. Da ich mich mit VBA nicht wirklich auskenne, kann ich das gar nicht beurteilen und weiss nicht, ob es Sinn macht, mich da weiter reinzuhängen. Ich hab schon einige Tage in den Foren gesucht und für die eine oder andere Fragestellung hab ich Lösungsansätze in den letzten Tagen gefunden, aber ob es wirklich eine "Gesamt-Lösung" gibt...? Wenn ja, wär ich natürlich für einen Ansatz / Austausch dankbar.
    Danke dafür schon mal und sorry nochmal.

    177 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige