Hallo liebe Community,
ich habe ein für euch vielleicht zu triviales Problem. Gleich mal vorweg: Meine VBA Kenntnisse sind eingerostetes Basiswissen. Deshalb weiß ich auch nicht, wie der effiziente Weg zu meiner Problemlösung aussehen kann.
Allg. Problembeschreibung: Ich möchte aus einer xls-Arbeitsmappe vom Lieferanten (die natürlich grundlegend gesperrt ist und selbst Makros hat) durch Auswählen versch. Felder Preise kopieren und in eine Art Preisliste (andere xls-Arbeitsmappe) einfügen. Dafür habe ich mir eine Kopiervorlage gemacht, mit der ich geglaubt hätte, die einzelnen Bereiche in die Lieferanten-xls kopieren zu können. Das Kopieren funktioniert in meinem Makro zwar, aber leider nur 1 Bereich.
Konkret möchte ich folgendes machen:
Kopiervorlage Bereich C2:C12 -> Lieferanten-xls Bereich B32:B42
Kopiervorlage Bereich C14:C15 -> Lieferanten-xls Bereich F40:G41
Kopiervorlage Feld C17 -> Lieferanten-xls Feld F65
Kopiervorlage Feld C18 -> Lieferanten-xls Feld H65
Kopiervorlage Feld C19 -> Lieferanten-xls Feld J65
Kopiervorlage Feld C20 -> Lieferanten-xls Feld K65
Daraus ergibt sich in der Lieferanten-xls:
Feld I33 -> Kopiervorlage Blatt "Übersicht" Feld $H3
Feld I36 -> Kopiervorlage Blatt "Übersicht" Feld $I3 (wenn >0)
Feld I38 -> Kopiervorlage Blatt "Übersicht" Feld $J3
Feld I40 -> Kopiervorlage Blatt "Übersicht" Feld $L3
Feld I41 -> Kopiervorlage Blatt "Übersicht" Feld $M3
Feld I65 -> Kopiervorlage Blatt "Übersicht" Feld $N3
Mein erster Ansatz dazu:
Bereiche kopieren:
workbooks.open(...\preisliste.xlsm).worksheets("Kopiervorlage").range("C2:C12").copy workbooks.open(....\lieferant.xlsm).worksheets("OFFER").range("B32")
workbooks.open(...\preisliste.xlsm).worksheets("Kopiervorlage").range("C14:C15").copy workbooks.open(....\lieferant.xlsm).worksheets("OFFER").range("F40:G41")
Für das erste Feld:
workbooks.open(....\lieferant.xlsm).worksheets("OFFER").range(I33").copy workbooks.open(...\preisliste.xlsm).worksheets("Übersicht").range(H3)
Damit das ganze nicht zuuu einfach wird, gibt es von den Feldern der Lieferanten-xls noch unterschiedliche Ausprägungen (für den Bereich C3:C8).
Letztendlich ist in der Kopiervorlage nicht nur der Bereich C2:C12, sondern das geht (vorerst) bis Z2:Z12
Sämtliche Feldangaben in der Lieferanten-xls sind fix, jene in der Kopiervorlage sind zeilenmäßig flexibel.
Sobald eine Zeile in der "Übersicht" gefüllt ist, käme die nächste Ausprägung dran und in die nächste Zeile die Felder Ixx kopieren usw.
Wenn es hilft: sobald in der Lieferanten-xls ein Fehler passiert, werden die betroffenen Felder gelb - da könnte ev. eine Überprüfung hilfreich sein.
Ggf. kann ich die beiden xls-Tabellen zur Verfügung stellen.
Gibt es da einen Ansatz, wie ich das halbwegs effizient umsetzen kann (inkl. Iterationen aus den Ausprägungen), ohne 500 Seiten Coding?
In weiterer Folge gäbe es noch das eine oder andere Zusatzdings (zB aus einer anderen xls-Tabelle eine Art.Nr. für Feld N3 und Preis für Feld O3 in Kopiervorlage raussuchen) ...
Ich hoffe, das ist halbwegs verständlich formuliert ...
Vielen herzlichen Dank für eure Unterstützung!
LG
3DFreak
ich habe ein für euch vielleicht zu triviales Problem. Gleich mal vorweg: Meine VBA Kenntnisse sind eingerostetes Basiswissen. Deshalb weiß ich auch nicht, wie der effiziente Weg zu meiner Problemlösung aussehen kann.
Allg. Problembeschreibung: Ich möchte aus einer xls-Arbeitsmappe vom Lieferanten (die natürlich grundlegend gesperrt ist und selbst Makros hat) durch Auswählen versch. Felder Preise kopieren und in eine Art Preisliste (andere xls-Arbeitsmappe) einfügen. Dafür habe ich mir eine Kopiervorlage gemacht, mit der ich geglaubt hätte, die einzelnen Bereiche in die Lieferanten-xls kopieren zu können. Das Kopieren funktioniert in meinem Makro zwar, aber leider nur 1 Bereich.
Konkret möchte ich folgendes machen:
Kopiervorlage Bereich C2:C12 -> Lieferanten-xls Bereich B32:B42
Kopiervorlage Bereich C14:C15 -> Lieferanten-xls Bereich F40:G41
Kopiervorlage Feld C17 -> Lieferanten-xls Feld F65
Kopiervorlage Feld C18 -> Lieferanten-xls Feld H65
Kopiervorlage Feld C19 -> Lieferanten-xls Feld J65
Kopiervorlage Feld C20 -> Lieferanten-xls Feld K65
Daraus ergibt sich in der Lieferanten-xls:
Feld I33 -> Kopiervorlage Blatt "Übersicht" Feld $H3
Feld I36 -> Kopiervorlage Blatt "Übersicht" Feld $I3 (wenn >0)
Feld I38 -> Kopiervorlage Blatt "Übersicht" Feld $J3
Feld I40 -> Kopiervorlage Blatt "Übersicht" Feld $L3
Feld I41 -> Kopiervorlage Blatt "Übersicht" Feld $M3
Feld I65 -> Kopiervorlage Blatt "Übersicht" Feld $N3
Mein erster Ansatz dazu:
Bereiche kopieren:
workbooks.open(...\preisliste.xlsm).worksheets("Kopiervorlage").range("C2:C12").copy workbooks.open(....\lieferant.xlsm).worksheets("OFFER").range("B32")
workbooks.open(...\preisliste.xlsm).worksheets("Kopiervorlage").range("C14:C15").copy workbooks.open(....\lieferant.xlsm).worksheets("OFFER").range("F40:G41")
Für das erste Feld:
workbooks.open(....\lieferant.xlsm).worksheets("OFFER").range(I33").copy workbooks.open(...\preisliste.xlsm).worksheets("Übersicht").range(H3)
Damit das ganze nicht zuuu einfach wird, gibt es von den Feldern der Lieferanten-xls noch unterschiedliche Ausprägungen (für den Bereich C3:C8).
Letztendlich ist in der Kopiervorlage nicht nur der Bereich C2:C12, sondern das geht (vorerst) bis Z2:Z12
Sämtliche Feldangaben in der Lieferanten-xls sind fix, jene in der Kopiervorlage sind zeilenmäßig flexibel.
Sobald eine Zeile in der "Übersicht" gefüllt ist, käme die nächste Ausprägung dran und in die nächste Zeile die Felder Ixx kopieren usw.
Wenn es hilft: sobald in der Lieferanten-xls ein Fehler passiert, werden die betroffenen Felder gelb - da könnte ev. eine Überprüfung hilfreich sein.
Ggf. kann ich die beiden xls-Tabellen zur Verfügung stellen.
Gibt es da einen Ansatz, wie ich das halbwegs effizient umsetzen kann (inkl. Iterationen aus den Ausprägungen), ohne 500 Seiten Coding?

In weiterer Folge gäbe es noch das eine oder andere Zusatzdings (zB aus einer anderen xls-Tabelle eine Art.Nr. für Feld N3 und Preis für Feld O3 in Kopiervorlage raussuchen) ...

Ich hoffe, das ist halbwegs verständlich formuliert ...

Vielen herzlichen Dank für eure Unterstützung!

LG
3DFreak
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „3DFreak77“ ()