Excel: Daten von einem Tabellenblatt in ein anderes Kopieren mithilfe eines Buttons

twing

Newbie
Registriert
Nov. 2015
Beiträge
7
Hallo :)

ich erstelle für ein Projekt eine Exceltabelle. Im ersten Tabellenblatt gibt es ein Angebotsvergleich und im zweiten Tabellenblatt eine Übersicht aller Angebote.

Mein Wunsch ist es die Daten die man in die Tabelle "Angebotsvergleich" einträgt mithilfe eines Buttons in die Tabelle "Übersicht Angebote" kopiert.

Mein Problem ist, dass ich mich mit VBA kaum auskenne und nach 6 Stunden testerrei verzweifelt da sitze und nicht weiter weiß. I

Zu meiner Tabelle: Die Daten sind nicht bei beiden Tabellen in den gleichen Feldern. Bsp:AngebotsNr ist im Tabellenblatt 1 in der Zelle B5 und im zweiten Tabellenblatt in der Zelle A9 etc.

Mein Code, den ich zusammengebastelt habe sieht so aus:

Private Sub CommandButton1_Click()
Dim rng2copy As Range, rng2paste As Range
Dim awerte()

Set rng2copy = Sheets("tabelle4").Range("B5")
Set rng2paste = Sheets("tabelle5").Range("A9")

Set rng2copy = Sheets("tabelle4").Range("E5")
Set rng2paste = Sheets("tabelle5").Range("B9")

Set rng2copy = Sheets("tabelle4").Range("B7")
Set rng2paste = Sheets("tabelle5").Range("C9")

Set rng2copy = Sheets("tabelle4").Range("B5")
Set rng2paste = Sheets("tabelle5").Range("A9")

Set rng2copy = Sheets("tabelle4").Range("D7")
Set rng2paste = Sheets("tabelle5").Range("D9")

Set rng2copy = Sheets("tabelle4").Range("J7")
Set rng2paste = Sheets("tabelle5").Range("E9")

Set rng2copy = Sheets("tabelle4").Range("B9")
Set rng2paste = Sheets("tabelle5").Range("F9")

Set rng2copy = Sheets("tabelle4").Range("B11")
Set rng2paste = Sheets("tabelle5").Range("G9")

Set rng2copy = Sheets("tabelle4").Range("D13: D18")
Set rng2paste = Sheets("tabelle5").Range("H9:M9")

Set rng2copy = Sheets("tabelle4").Range("D19")
Set rng2paste = Sheets("tabelle5").Range("N9")

Set rng2copy = Sheets("tabelle4").Range("D20: D25")
Set rng2paste = Sheets("tabelle5").Range("O9:T9")

Set rng2copy = Sheets("tabelle4").Range("D26")
Set rng2paste = Sheets("tabelle5").Range("U9")

Set rng2copy = Sheets("tabelle4").Range("D27: D32")
Set rng2paste = Sheets("tabelle5").Range("V9:AA9")

Set rng2copy = Sheets("tabelle4").Range("D33")
Set rng2paste = Sheets("tabelle5").Range("Ab9")

Set rng2copy = Sheets("tabelle4").Range("D34")
Set rng2paste = Sheets("tabelle5").Range("AC9")

Set rng2copy = Sheets("tabelle4").Range("D35: D40")
Set rng2paste = Sheets("tabelle5").Range("AD9:AI9")

Set rng2copy = Sheets("tabelle4").Range("B42")
Set rng2paste = Sheets("tabelle5").Range("AJ9")

Set rng2copy = Sheets("tabelle4").Range("B46")
Set rng2paste = Sheets("tabelle5").Range("AK9")

Set rng2copy = Sheets("tabelle4").Range("F11")
Set rng2paste = Sheets("tabelle5").Range("AL9")

Set rng2copy = Sheets("tabelle4").Range("H13:H18")
Set rng2paste = Sheets("tabelle5").Range("AM9:AR9")

Set rng2copy = Sheets("tabelle4").Range("H19")
Set rng2paste = Sheets("tabelle5").Range("AS9")

Set rng2copy = Sheets("tabelle4").Range("H20:H25")
Set rng2paste = Sheets("tabelle5").Range("AT9:AY9")

Set rng2copy = Sheets("tabelle4").Range("H26")
Set rng2paste = Sheets("tabelle5").Range("AZ9")

Set rng2copy = Sheets("tabelle4").Range("H27:H32")
Set rng2paste = Sheets("tabelle5").Range("BA9: BF9")

Set rng2copy = Sheets("tabelle4").Range("H33")
Set rng2paste = Sheets("tabelle5").Range("BG9")

Set rng2copy = Sheets("tabelle4").Range("H34")
Set rng2paste = Sheets("tabelle5").Range("BH9")

Set rng2copy = Sheets("tabelle4").Range("H35:H40")
Set rng2paste = Sheets("tabelle5").Range("BI9: BN9")

Set rng2copy = Sheets("tabelle4").Range("F42")
Set rng2paste = Sheets("tabelle5").Range("BO9")

Set rng2copy = Sheets("tabelle4").Range("F46")
Set rng2paste = Sheets("tabelle5").Range("BP9")

Set rng2copy = Sheets("tabelle4").Range("J11")
Set rng2paste = Sheets("tabelle5").Range("BQ9")

Set rng2copy = Sheets("tabelle4").Range("l13:l18")
Set rng2paste = Sheets("tabelle5").Range("br9: bw9")

Set rng2copy = Sheets("tabelle4").Range("l19")
Set rng2paste = Sheets("tabelle5").Range("bx9")

Set rng2copy = Sheets("tabelle4").Range("l20:l25")
Set rng2paste = Sheets("tabelle5").Range("by9: bc9")

Set rng2copy = Sheets("tabelle4").Range("l26")
Set rng2paste = Sheets("tabelle5").Range("ce9")

Set rng2copy = Sheets("tabelle4").Range("l27:l32")
Set rng2paste = Sheets("tabelle5").Range("cf9: ck9")

Set rng2copy = Sheets("tabelle4").Range("l33")
Set rng2paste = Sheets("tabelle5").Range("cl9")

Set rng2copy = Sheets("tabelle4").Range("l34")
Set rng2paste = Sheets("tabelle5").Range("cm9")

Set rng2copy = Sheets("tabelle4").Range("l35:l40")
Set rng2paste = Sheets("tabelle5").Range("cn9:cs9")

Set rng2copy = Sheets("tabelle4").Range("j42")
Set rng2paste = Sheets("tabelle5").Range("ct9")

Set rng2copy = Sheets("tabelle4").Range("j46")
Set rng2paste = Sheets("tabelle5").Range("cu9")

If Sheets("Tabelle4").CheckBox2.Value = True Then
awerte() = rng2copy
rng2paste = awerte()
End If
End Sub

Wenn ich einen Testvorgang starte, funktioniert garnichts. Makros ist auch aktiviert. Anbei findet Ihr auch die Datei.

Ich hoffe Ihr könnt mir helfen.

Gruß

twing
 

Anhänge

  • Mappe1.xlsx
    22,6 KB · Aufrufe: 253
Ja die Daten in der ersten Tabelle stehen immer an der selben Stelle und ja die Datei sollte für mehrere Jahre Hilfe leisten :)
Heute habe ich es geschafft die Daten von der Tabelle 1 in Tabelle 2 zu kopieren :}

Mein Code:

Private Sub CommandButton1_Click()
Worksheets("tabelle1").Select
AngebotsNr = Range("B5")
AnfrageNr = Range("E5")
MaterialNr = Range("B7")
Bezeichnung = Range("D7")
Menge = Range("B9")
Lieferant1 = Range("B11")
Lieferant2 = Range("F11")
Lieferant3 = Range("J11")
Listenpreis1Pos1 = Range("D13")
Listenpreis1Pos2 = Range("D14")
Listenpreis1Pos3 = Range("D15")
Listenpreis1Pos4 = Range("D16")
Listenpreis1Pos5 = Range("D17")
Listenpreis1Pos6 = Range("D18")
Rabatt1 = Range("D19")
Zieleinkaufspreis1Pos1 = Range("D20")
Zieleinkaufspreis1Pos2 = Range("D21")
Zieleinkaufspreis1Pos3 = Range("D22")
Zieleinkaufspreis1Pos4 = Range("D23")
Zieleinkaufspreis1Pos5 = Range("D24")
Zieleinkaufspreis1Pos6 = Range("D25")
Skonto1 = Range("D26")
Bareinkaufspreis1Pos1 = Range("D27")
Bareinkaufspreis1Pos2 = Range("D28")
Bareinkaufspreis1Pos3 = Range("D29")
Bareinkaufspreis1Pos4 = Range("D30")
Bareinkaufspreis1Pos5 = Range("D31")
Bareinkaufspreis1Pos6 = Range("D32")
Verpackung1 = Range("D33")
Versand1 = Range("D34")
Bezugspreis1Pos1 = Range("D35")
Bezugspreis1Pos2 = Range("D36")
Bezugspreis1Pos3 = Range("D37")
Bezugspreis1Pos4 = Range("D38")
Bezugspreis1Pos5 = Range("D39")
Bezugspreis1Pos6 = Range("D40")
TechBemerkung1 = Range("B42")
Kommentar1 = Range("B46")

Listenpreis2Pos1 = Range("H13")
Listenpreis2Pos2 = Range("H14")
Listenpreis2Pos3 = Range("H15")
Listenpreis2Pos4 = Range("H16")
Listenpreis2Pos5 = Range("H17")
Listenpreis2Pos6 = Range("H18")
Rabatt2 = Range("H19")
Zieleinkaufspreis2Pos1 = Range("H20")
Zieleinkaufspreis2Pos2 = Range("H21")
Zieleinkaufspreis2Pos3 = Range("H22")
Zieleinkaufspreis2Pos4 = Range("H23")
Zieleinkaufspreis2Pos5 = Range("H24")
Zieleinkaufspreis2Pos6 = Range("H25")
Skonto2 = Range("H26")
Bareinkaufspreis2Pos1 = Range("H27")
Bareinkaufspreis2Pos2 = Range("H28")
Bareinkaufspreis2Pos3 = Range("H29")
Bareinkaufspreis2Pos4 = Range("H30")
Bareinkaufspreis2Pos5 = Range("H31")
Bareinkaufspreis2Pos6 = Range("H32")
Verpackung2 = Range("H33")
Versand2 = Range("H34")
Bezugspreis2Pos1 = Range("H35")
Bezugspreis2Pos2 = Range("H36")
Bezugspreis2Pos3 = Range("H37")
Bezugspreis2Pos4 = Range("H38")
Bezugspreis2Pos5 = Range("H39")
Bezugspreis2Pos6 = Range("H40")
TechBemerkung2 = Range("F42")
Kommentar2 = Range("F46")

Listenpreis3Pos1 = Range("L13")
Listenpreis3Pos2 = Range("L14")
Listenpreis3Pos3 = Range("L15")
Listenpreis3Pos4 = Range("L16")
Listenpreis3Pos5 = Range("L17")
Listenpreis3Pos6 = Range("L18")
Rabatt3 = Range("L19")
Zieleinkaufspreis3Pos1 = Range("L20")
Zieleinkaufspreis3Pos2 = Range("L21")
Zieleinkaufspreis3Pos3 = Range("L22")
Zieleinkaufspreis3Pos4 = Range("L23")
Zieleinkaufspreis3Pos5 = Range("L24")
Zieleinkaufspreis3Pos6 = Range("L25")
Skonto3 = Range("L26")
Bareinkaufspreis3Pos1 = Range("L27")
Bareinkaufspreis3Pos2 = Range("L28")
Bareinkaufspreis3Pos3 = Range("L29")
Bareinkaufspreis3Pos4 = Range("L30")
Bareinkaufspreis3Pos5 = Range("L31")
Bareinkaufspreis3Pos6 = Range("L32")
Verpackung3 = Range("L33")
Versand3 = Range("L34")
Bezugspreis3Pos1 = Range("L35")
Bezugspreis3Pos2 = Range("L36")
Bezugspreis3Pos3 = Range("L37")
Bezugspreis3Pos4 = Range("L38")
Bezugspreis3Pos5 = Range("L39")
Bezugspreis3Pos6 = Range("L40")
TechBemerkung3 = Range("J42")
Kommentar3 = Range("J46")


Worksheets("Tabelle2").Select
Worksheets("tabelle2").Range("A8").Select
If Worksheets("tabelle2").Range("A8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("A8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = AngebotsNr
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = AnfrageNr

Worksheets("tabelle2").Range("C8").Select
If Worksheets("tabelle2").Range("C8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("C8:CT9").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = MaterialNr
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezeichnung

Worksheets("tabelle2").Range("E8").Select
If Worksheets("tabelle2").Range("E8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("E8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Menge
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Lieferant1

Worksheets("tabelle2").Range("G8").Select
If Worksheets("tabelle2").Range("G8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("G8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Listenpreis1Pos1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis1Pos2

Worksheets("tabelle2").Range("I8").Select
If Worksheets("tabelle2").Range("I8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("I8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Listenpreis1Pos3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis1Pos4

Worksheets("tabelle2").Range("K8").Select
If Worksheets("tabelle2").Range("K8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("K8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Listenpreis1Pos5
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis1Pos6

Worksheets("tabelle2").Range("M8").Select
If Worksheets("tabelle2").Range("M8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("M8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Rabatt1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis1Pos1

Worksheets("tabelle2").Range("O8").Select
If Worksheets("tabelle2").Range("O8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("O8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zieleinkaufspreis1Pos2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis1Pos3

Worksheets("tabelle2").Range("Q8").Select
If Worksheets("tabelle2").Range("Q8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("Q8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zieleinkaufspreis1Pos4
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis1Pos5

Worksheets("tabelle2").Range("S8").Select
If Worksheets("tabelle2").Range("S8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("S8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zieleinkaufspreis1Pos6
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Skonto1

Worksheets("tabelle2").Range("U8").Select
If Worksheets("tabelle2").Range("U8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("U8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bareinkaufspreis1Pos1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bareinkaufspreis1Pos2

Worksheets("tabelle2").Range("W8").Select
If Worksheets("tabelle2").Range("W8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("W8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bareinkaufspreis1Pos3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bareinkaufspreis1Pos4

Worksheets("tabelle2").Range("Y8").Select
If Worksheets("tabelle2").Range("Y8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("Y8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bareinkaufspreis1Pos5
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bareinkaufspreis1Pos6

Worksheets("tabelle2").Range("AA8").Select
If Worksheets("tabelle2").Range("AA8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AA8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Verpackung1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Versand1

Worksheets("tabelle2").Range("AC8").Select
If Worksheets("tabelle2").Range("AC8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AC8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bezugspreis1Pos1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezugspreis1Pos2

Worksheets("tabelle2").Range("AE8").Select
If Worksheets("tabelle2").Range("AE8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AE8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bezugspreis1Pos3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezugspreis1Pos4

Worksheets("tabelle2").Range("AG8").Select
If Worksheets("tabelle2").Range("AG8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AG8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bezugspreis1Pos5
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezugspreis1Pos6

Worksheets("tabelle2").Range("AI8").Select
If Worksheets("tabelle2").Range("AI8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AI8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = TechBemerkung1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Kommentar1

Worksheets("tabelle2").Range("AK8").Select
If Worksheets("tabelle2").Range("AK8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AK8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Lieferant2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis2Pos1

Worksheets("tabelle2").Range("AM8").Select
If Worksheets("tabelle2").Range("AM8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AM8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Listenpreis2Pos2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis2Pos3

Worksheets("tabelle2").Range("AO8").Select
If Worksheets("tabelle2").Range("AO8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AO8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Listenpreis2Pos4
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis2Pos5

Worksheets("tabelle2").Range("AQ8").Select
If Worksheets("tabelle2").Range("AQ8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AQ8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Listenpreis2Pos6
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Rabatt2

Worksheets("tabelle2").Range("AS8").Select
If Worksheets("tabelle2").Range("AS8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AS8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zieleinkaufspreis2Pos1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis2Pos2

Worksheets("tabelle2").Range("AU8").Select
If Worksheets("tabelle2").Range("AU8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AU8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zieleinkaufspreis2Pos3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis2Pos4

Worksheets("tabelle2").Range("AW8").Select
If Worksheets("tabelle2").Range("AW8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AW8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zieleinkaufspreis2Pos4
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis2Pos5

Worksheets("tabelle2").Range("AY8").Select
If Worksheets("tabelle2").Range("AY8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("AY8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Skonto2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bareinkaufspreis2Pos1

Worksheets("tabelle2").Range("BA8").Select
If Worksheets("tabelle2").Range("BA8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BA8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bareinkaufspreis2Pos2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bareinkaufspreis2Pos3

Worksheets("tabelle2").Range("BC8").Select
If Worksheets("tabelle2").Range("BC8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BC8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bareinkaufspreis2Pos4
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bareinkaufspreis2Pos5

Worksheets("tabelle2").Range("BE8").Select
If Worksheets("tabelle2").Range("BE8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BE8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bareinkaufspreis2Pos6
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Verpackung2

Worksheets("tabelle2").Range("BG8").Select
If Worksheets("tabelle2").Range("BG8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BG8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Versand2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezugspreis2Pos1

Worksheets("tabelle2").Range("BI8").Select
If Worksheets("tabelle2").Range("BI8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BI8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bezugspreis2Pos2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezugspreis2Pos3

Worksheets("tabelle2").Range("BK8").Select
If Worksheets("tabelle2").Range("BK8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BK8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bezugspreis2Pos4
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezugspreis2Pos5

Worksheets("tabelle2").Range("BM8").Select
If Worksheets("tabelle2").Range("BM8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BM8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bezugspreis2Pos6
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = TechBemerkung2

Worksheets("tabelle2").Range("BO8").Select
If Worksheets("tabelle2").Range("BO8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BO8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Kommentar2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Lieferant3

Worksheets("tabelle2").Range("BQ8").Select
If Worksheets("tabelle2").Range("BQ8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BQ8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Listenpreis3Pos1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis3Pos2

Worksheets("tabelle2").Range("BS8").Select
If Worksheets("tabelle2").Range("BS8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BS8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Listenpreis3Pos3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis3Pos4

Worksheets("tabelle2").Range("BU8").Select
If Worksheets("tabelle2").Range("BU8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BU8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Listenpreis3Pos5
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis3Pos6

Worksheets("tabelle2").Range("BW8").Select
If Worksheets("tabelle2").Range("BW8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BW8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Rabatt3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis3Pos1

Worksheets("tabelle2").Range("BY8").Select
If Worksheets("tabelle2").Range("BY8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("BY8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zieleinkaufspreis3Pos2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis3Pos3

Worksheets("tabelle2").Range("CA8").Select
If Worksheets("tabelle2").Range("CA8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CA8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zieleinkaufspreis3Pos4
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis3Pos5

Worksheets("tabelle2").Range("CC8").Select
If Worksheets("tabelle2").Range("CC8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CC8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Zieleinkaufspreis3Pos6
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Skonto3

Worksheets("tabelle2").Range("CE8").Select
If Worksheets("tabelle2").Range("CE8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CE8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bareinkaufspreis3Pos1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bareinkaufspreis3Pos2

Worksheets("tabelle2").Range("CG8").Select
If Worksheets("tabelle2").Range("CG8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CG8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bareinkaufspreis3Pos3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bareinkaufspreis3Pos4

Worksheets("tabelle2").Range("CI8").Select
If Worksheets("tabelle2").Range("CI8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CI8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bareinkaufspreis3Pos5
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bareinkaufspreis3Pos6

Worksheets("tabelle2").Range("CK8").Select
If Worksheets("tabelle2").Range("CK8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CK8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Verpackung3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Versand3

Worksheets("tabelle2").Range("CM8").Select
If Worksheets("tabelle2").Range("CM8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CM8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bezugspreis3Pos1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezugspreis3Pos2

Worksheets("tabelle2").Range("CO8").Select
If Worksheets("tabelle2").Range("CO8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CO8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bezugspreis3Pos3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezugspreis3Pos4

Worksheets("tabelle2").Range("CQ8").Select
If Worksheets("tabelle2").Range("CQ8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CQ8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Bezugspreis3Pos5
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezugspreis3Pos6

Worksheets("tabelle2").Range("CS8").Select
If Worksheets("tabelle2").Range("CS8").Offset(1, 0) <> "" Then
Worksheets("tabelle2").Range("CS8").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = TechBemerkung3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Kommentar3

Worksheets("tabelle1").Select
Worksheets("Tabelle1").Range("B5").Select

Application.ScreenUpdating = True

End Sub



Könnte man sicher besser machen aber es klappt :D

Aber es gibt wieder ein Problem. Bis zur 3.Zeile wird alles schön kopiert aber ab der 4.Zeile passiert wieder nichts mehr :(

Habe paar Beispieldaten eingebaut
 

Anhänge

  • Mappe1.xlsx
    28,1 KB · Aufrufe: 281
Wenn ich die Datei herunterlade und deinen Code einfüge, kann ich kopieren wie ich lustig bin. Auch über Zeile 3 hinaus.

Eigentlich reicht es, einmal die nächste freie Zeile zu bestimmen und dann über Offset die Spalte anzuvisieren.

Code:
Worksheets("Tabelle2").Select
If Worksheets("tabelle2").Range("A8").Offset(1, 0) <> "" Then
    Worksheets("tabelle2").Range("A8").End(xlDown).Select
    End If
ActiveCell.Offset(1, 0).Select

ActiveCell.Value = AngebotsNr

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = AnfrageNr

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = MaterialNr

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Bezeichnung

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Menge

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Lieferant1

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis1Pos1

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis1Pos2

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis1Pos3

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis1Pos4

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis1Pos5

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Listenpreis1Pos6

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Rabatt1

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis1Pos1

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis1Pos2

ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Zieleinkaufspreis1Pos3

'usw.

Die vielen Selects kannst du so auch sparen:
Code:
Worksheets("Tabelle2").Select
If Worksheets("tabelle2").Range("A8").Offset(1, 0) <> "" Then
    Worksheets("tabelle2").Range("A8").End(xlDown).Select
    End If
ActiveCell.Offset(1, 0).Select

ActiveCell.Value = AngebotsNr
ActiveCell.Offset(0, 1).Value = AnfrageNr
ActiveCell.Offset(0, 2).Value = MaterialNr
ActiveCell.Offset(0, 3).Value = Bezeichnung
ActiveCell.Offset(0, 4).Value = Menge
ActiveCell.Offset(0, 5).Value = Lieferant1
ActiveCell.Offset(0, 6).Value = Listenpreis1Pos1
ActiveCell.Offset(0, 7).Value = Listenpreis1Pos2
ActiveCell.Offset(0, 8).Value = Listenpreis1Pos3
ActiveCell.Offset(0, 9).Value = Listenpreis1Pos4
ActiveCell.Offset(0, 10).Value = Listenpreis1Pos5
ActiveCell.Offset(0, 11).Value = Listenpreis1Pos6
ActiveCell.Offset(0, 12).Value = Rabatt1
ActiveCell.Offset(0, 13).Value = Zieleinkaufspreis1Pos1
ActiveCell.Offset(0, 14).Value = Zieleinkaufspreis1Pos2
ActiveCell.Offset(0, 15).Value = Zieleinkaufspreis1Pos3

'usw.
 
Außer wegen der besseren Lesbarkeit, wieso überhaupt mit ActiveCellOffset arbeiten? Man kann doch auch mit einer Schleife und ner Zählvariablen arbeiten, das scheint doch immer x Zellen weit zu gehen mit den Werten. Einfach eine Schleife und die Werte in einen Array einlesen.
Bis auf ein paar Initialwerte und Kommentar sind das doch lediglich drei Schleifen die von zB D13-D40 Werte einlesen. Die einlese Routine in ne Sub auslagern und mit dem jeweiligen Spaltenwert ansteuern und gut ist.

Oder habe ich was übersehen, was den Einsatz von Cell unbedingt nötig macht?
 
Ich wollte es übersichtlich halten. Wenn zu viel optimiert wird, sieht man als Neuling nur noch schwer durch.
 
Danke Jedi3 für deine Mühe und Hilfe bezüglich dem Code :)

Ich habe dein Code eingegeben funktioniert auch aber er kopiert die Daten ab der Zelle in dem sich der curser befindet. Wenn man Bsp in der Zelle C9 ist, dann steht da die AngebotsNr obwohl diese eigentlich in A9 sein sollte :S
Und der Code funktioniert nur, wenn man Ihn in Makros abspielen lässt. Beim betätigen vom Button in der Tabelle 1 passiert nichts. Weißt du vllt was ich falsch gemacht habe?!?

Übersichtlicher ist sie allemal
 
Vom Button abgesehen…
Schau doch mal in diesen Thread, mir deucht, das Konzept der Aufgabe ist im Kern das selbe.

Einen Button nehme ich aus den… Oh - welche Excel-Version benutzt du bitte?
Es muss ein Formular-Button sein (oder ActiveX ›aus Vorversionen‹) im Entwurfsmodus, und im Code[fenster] des Tabelenblattes findet sich links oben im DropDown der bewusste Button und rechter Hand Ereignisse, allgemein sollte das Click-Ereignis schon eingesetzt werden wenn man links den Button auswählt.
Den Arbeitscode täte ich in ein Modul und den Namen des Makos dort ruft der Code des Buttons auf.

CN8
 
Habe es mir angeguckt aber konnte es irgendwie nicht so gut nach meinen Vorstellungen umwandeln :S
Hängt wohl damit zusammen, dass ich keinerlei Makro Erfahrungen habe und zum ersten mal einen Quellcode schreibe :)
Ich benutze Excel 2016
Also den verwendeten Button habe ich unter "Entwicklertools->Einfügen->ActiveX-Steuerelemente->Befehlsschaltfläche"
 
Tut mir leid, ich habe eine Zeile Code vergessen.
Code:
Worksheets("Tabelle1").Select
AngebotsNr = Range("B5")
AnfrageNr = Range("E5")
MaterialNr = Range("B7")
Bezeichnung = Range("D7")
Menge = Range("B9")
Lieferant1 = Range("B11")

Worksheets("Tabelle2").Select
Worksheets("Tabelle2").Range("A8").Select
If Worksheets("Tabelle2").Range("A8").Offset(1, 0) <> "" Then
    Worksheets("Tabelle2").Range("A8").End(xlDown).Select
    End If
ActiveCell.Offset(1, 0).Select
 
ActiveCell.Value = AngebotsNr
ActiveCell.Offset(0, 1).Value = AnfrageNr
ActiveCell.Offset(0, 2).Value = MaterialNr
ActiveCell.Offset(0, 3).Value = Bezeichnung
ActiveCell.Offset(0, 4).Value = Menge
ActiveCell.Offset(0, 5).Value = Lieferant1

Wenn ich mir deine Mappe von Beitrag #5 herunterlade, sind die die beiden Tabellenblätter und der Button drin, aber kein Code.
Ich gehe dann in den Entwurfsmodus, doppelklicke auf den Button und lande im Editor.
Dort einfach den bekannten Code einfügen und den Entwurfmodus beenden. Schon läuft es bei mir.
 
*grins* Ich habe es falsch abgespeichert, deshalb gab es keinen Code :S jetzt habe ich es richtig gespeichert.
Ich teste heute deinen Code und geb bescheid nochmals vielen Dank für eine Mühe und Hilfe :)
 
Hallo Jedi3,
vielen Dank für deinen Code. Funktioniert einwandfrei :)
Bin leider in letzter Zeit nicht dazu gekommen den Code zu Testen deshalb hat es gedauert bis ich geantwortet habe.
Vielen Dank für deine Hilfe
Gruß
 
Zurück
Oben