3.8k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo Leute,

mir wurde hier schon sehr gut geholfen...(Danke an nighty und Hajo) hab mal wieder eine Frage. Aus Tabelle2 wird eine Zahl aus "F6" (Summe) ausgelesen und soll in Tabelle1 variabel ( also nach cells(1,2)) untereinandergeschrieben werden. Sieht aus wie folgt wenn cells(1,2) = 4 und "F6"=10 in Tabelle2 ist...

Spalte A
10
10
10
10

...das sind z.B Schrauben...aber die haben eine Produktnummer...diese steht in Tabelle2 unter "G7" und latet 4711...

..dann sollte es Tabelle1 so aussehen...

Spalte A Spalte B
10 4711
10 4711
10 4711
10 4711


mein bisheriger Code ohne die Produktnummer
Sheets("Tabelle1").Range("A" & Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + 1 & _
":A" & Sheets("Tabelle1").Cells(Rows.Count, 1).End(xlUp).Row + Cells(1, 2)) = Sheets("Tabelle2").Range("F6")


...hätte jemand eine Idee?

LG Sina

16 Antworten

0 Punkte
Beantwortet von
...erstaunlich...mir werden gewiss noch weitere Frage einfallen...mal gucken wer sich meldet ;-)

LG Sina
0 Punkte
Beantwortet von
....und für mehrere verschiedene Zahlen (also 10...11..12..mit ihren Produktnummern .u.s.w ) ....untereinander in den selben Spalen muss ich wieder tauschen ,gel? das Programm endet ja nach dem "end with" ....
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Sina,

das With habe ich nur eingebaut damit sich die Zellen alle auf diese Tabelle beziehen.
Die nächsten Eintragungen sollen auch in Spalte A erfolgen dann vor End With
' feststellen der letzten Zeile in Spalte A
LoLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
' in Tabellle1 .Cells(1, 2)) steht die Anzahl der auszufüllenden Zeilen
.Range("A" & LoLetzte + 1 & ":A" & LoLetzte + .Cells(1, 2)) = Sheets("Tabelle2").Range("F7")
.Range("B" & LoLetzte + 1 & ":B" & LoLetzte + .Cells(1, 2)) = Sheets("Tabelle2").Range("G8")
usw.

Gruß Hajo
0 Punkte
Beantwortet von
....werde es üben....bist echt ein gutes Vorbild! Danke Dir vielmals.
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
Hallo Sina,
oder falls ich es korrekt verstanden habe als Schleife.
Option Explicit

Sub Sina()
Dim LoLetzte As Long
Dim Loi As Long
For Loi = 7 To 12 ' Beginnzeile 7 bis Zeile 12 soll übertragen werden
With Sheets("Tabelle1")
LoLetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count)
' in Tabellle1 .Cells(1, 2)) steht die Anzahl der auszufüllenden Zeilen
.Range("A" & LoLetzte + 1 & ":A" & LoLetzte + .Cells(1, 2)) = Sheets("Tabelle2").Cells(Loi, 6) ' Spalte F
.Range("B" & LoLetzte + 1 & ":B" & LoLetzte + .Cells(1, 2)) = Sheets("Tabelle2").Cells(Loi, 7) ' Spalte G
End With
Next Loi
End Sub

Gruß Hajo
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi sina ^^

vorbild ist ja noch milde ausgedrueckt ^^

wuerde es kein excel geben,haette es hajo wahrscheinlich entwickelt :-)

oder ^^

excel ohne hajo waere wie kaffe ohne milch

er ist eigentlich ein lieber anachronismus unserer zeit ^^

eine legende ist er aber erst wenn er verschieden ist :-))

gruss nighty
...