Kopieren in VBA, Zeile variabel, Spalte fest

Hallo Helferlein,

ich habe folgendes Problem:

Ich habe in der Combobox 4 Auswahlmoeglichkeiten, bei jeder Auswahl soll in die Zellen C81:C96 ein anderer Text eingefuegt werden, der sich im gleichen Tabellenblatt an nicht einsehbarer Stelle befindet und daher einfach kopiert und dort eingefuegt werden kann.

Nehmen wir also an, Auswahl1 wurde getroffen und der passende Text1 aus Spalte Y soll nun in Spalte C, Zeile 81 eingefuegt werden. Bei Auswahl2 waere es dann Text2 aus Spalte Z.
Dies geschieht in unterschiedlichen Zeilen, also etwa 12 mal muss eine solche Auswahl getroffen werden. Abhaengig von der Combobox wird also in eine unterschiedliche ZEILE kopiert. Die Spalte dabei ist immer die gleiche, Spalte C.

Wie kann man das im VBA darstellen?

Hier mein Code fuer die Combobox, ich brauch also fuer die Makros FunctionTextX die richtige Beschreibung.

Private Sub CombFunction_Change()

Select Case CobFunction.Value
Case CobFunction.Value= „CV_PLM_ENTWICKLUNG“
Call FunctionText1

Case CobFunction.Value= „CV_PLM_ENTW_VALIDIERUNG“
Call FunctionText2

Case CobFunction.Value= „CV_SCM_LOGISTIK“
Call FunctionText3

Case CobFunction.Value= „CV_SCM_PLANUNG“
Call FunctionText4

End Select

End Sub

Ich hab leider keine Idee da ich voelliger Neuling im VBA schreiben bin. Ich denke es duerfte nicht so kompliziert sein, oder?

Im Prinzip muss der Text immer nur um 22 Spalten nach links verschoben kopiert werden, abhaengig von der Nr. der Combobox aber in eine unterschiedliche Zeile.

Ich hoffe ihr koennt mir helfen und Danke schon mal im vorraus.

Lg, Antonia

Hi Antonia,

Dein „Code“ ist für mich leider komplett unverständlich.

Dass es zwei verschiedene Dropdown-Felder gibt macht es da nicht einfacher (eins schreibt eine Zahl in ein Ausgabefeld, das andere den gewählten Inhalt).

Dir würde ich raten, dass Du Dich mal dem Problem an sich annimmst und mal das mit dem Macro-Recorder aufnimmst, was Du haben willst…
Danach kannst Du versuchen den Code anzusehen und zu verstehen. Ist eigentlich nicht allzu schwer.
Vermutlich hilft Dir dann später der Befehl OFFSET weiter, Dich an Dein Problem heranzutasten…
Und Du wirst auch Variablen brauchen…

Aber wie gesagt: Taste Dich erst mal langsam heran und frag dann jeweils bei Bedarf nach…

vermutlich wirst Du sowas brauchen wie

verschiebung = Range(„A1“).value
Range(„Z15“).offset(verschiebung,0).select
selection.copy

hoffe, dass das halbwegs korrekt ist ^^

Grüße
Munich

Wie kann man das im VBA darstellen?

Hallo Antonia,

ich verstehe da wenig.
Spiel das doch mal durch für 3 Auswahlen, etwa so

Auswahl1
B1–>C1
B2–>C2
B3–>C3

Auswahl2
D1–>C1
D2–>C2
D3–>C3

Auswahl3
E1–>C1
E2–>C2
E3–>C3

Du nimmst natürlich echte Zeilennummern und Splatennamen.

Gruß
Reinhard