4.3k Aufrufe
Gefragt in Tabellenkalkulation von
hallochen...

hab da mal eine frage... ich habe mehrere zellen auf tabellenblatt a möchte die inhalte dieser zellen mit hilfe nur eines klicks (theoretisch ein makro) in ein anderes tabellenblatt b übertragen... da ich die daten aber in den zellen von blatt a ändern möchte sollte nach der ädnerung die nächste zeile von blatt b genutzt werden damit die erste eingabe erhalten bleibt... quasi wie ein formular mit datensammlung in blatt b...

geht soetwas? wenn ja könnt ihr mir bitte helfen?

danke melli

16 Antworten

0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

einige Fragen:

Sind es immer die gleichen Zellen im Blatt a?
Welche Zellen sind es?
Sollen die in Blatt b immer in eine Zeile? Ich habe es so verstanden.

Gruß

Helmut
0 Punkte
Beantwortet von
hi und danke für die antwort...

ja es sind immer dieselben zellen in blatt a da es aber einige sind würde das zu lange dauern das aufzulisten...

und ja auch zum zweiten... :) es sollten alle daten im blatt b in einer zeile stehen und dann jeweils untereinander stehen...

quasi wie ein formular (eingabe blatt a) mit datenauswertung (blatt b)
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

hier sind ein paar Beispiele

www.supportnet.de/fullsearch?sn_key=n%E4chste+freie+Zeile&id_group=22&sn_check1=1

die helfen dir vielleicht weiter

Gruß

Helmut
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo melli92,

auch ein Makro kann nicht hellsehen, somit wirst Du nicht umhin kommen,
alle Zelladressen des Quellblattes sowie die Adresse des Zielbereiches
hier bekannt zu geben,

Die Namen der beteiligten Arbeitsblätter sind dabei auch nicht
uninteressant.


Gruß
Rainer
0 Punkte
Beantwortet von
ihr seid so lieb...

mit den beispielen befasse ich mich mal gleich... :)

ich würde gerne aus tabellenblat "formular" (a) zelle C4; C8; G8, C10; G10; G12 (usw.) in tabellenblatt "datenausgabe" (b) die daten von formular!C4 in datenausgabe!A1
formular!C8 in datenausgabe!B1
formular!G8 in datenausgabe!C1
formular!C10 in datenausgabe!D1
...

etc.

also alle daten von a in eine gesamte zeile b...

thx...
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

dann passt das mit am Besten

www.supportnet.de/threads/1598510

Gruß

Helmut
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo melli92,

wenn Du Dich noch dazu äußern könntest, was Du unter der Zelladresse (usw.) verstehst könnte ich einen entsprechenden Code schreiben.

Da es hier aber Leute gibt, die es besser können, werde ich die Finger davon lassen.

Gruß
Rainer
0 Punkte
Beantwortet von
hi da bin ich wieder... hab mich mal damit auseinander gesetzt bin aber nicht schlauer geworden... :(

nach dem oben genannten Beispiel hab ich mir folgendes zusammengebastelt was aber leider nicht so umgesetzt wird:

###
Private Sub CommandButton1_Click()
lz = Sheets(Datenausgabe).Range("A65536").End(xlUp).Row + 1
For a = 1 To 5

Next a
Sheets(Datenausgabe).Cells(lz, 2, 1) = Sheets(Formular).Cells(4, 2)
Sheets(Datenausgabe).Cells(lz, 2, 2) = Sheets(Formular).Cells(9, 3)
Sheets(Datenausgabe).Cells(lz, 2, 3) = Sheets(Formular).Cells(9, 7)
Sheets(Datenausgabe).Cells(lz, 2, 4) = Sheets(Formular).Cells(15, 3)
Sheets(Datenausgabe).Cells(lz, 2, 5) = Sheets(Formular).Cells(15, 8)
Sheets(Datenausgabe).Cells(lz, 2, 6) = Sheets(Formular).Cells(18, 3)
Sheets(Datenausgabe).Cells(lz, 2, 7) = Sheets(Formular).Cells(18, 8)
Sheets(Datenausgabe).Cells(lz, 2, 8) = Sheets(Formular).Cells(21, 3)
Sheets(Datenausgabe).Cells(lz, 2, 9) = Sheets(Formular).Cells(27, 3)
Sheets(Datenausgabe).Cells(lz, 2, 10) = Sheets(Formular).Cells(33, 3)
Sheets(Datenausgabe).Cells(lz, 2, 11) = Sheets(Formular).Cells(39, 3)
Sheets(Datenausgabe).Cells(lz, 2, 12) = Sheets(Formular).Cells(39, 8)
Sheets(Datenausgabe).Cells(lz, 2, 13) = Sheets(Formular).Cells(42, 3)
Sheets(Datenausgabe).Cells(lz, 2, 14) = Sheets(Formular).Cells(42, 4)
Sheets(Datenausgabe).Cells(lz, 2, 15) = Sheets(Formular).Cells(42, 5)
Sheets(Datenausgabe).Cells(lz, 2, 16) = Sheets(Formular).Cells(42, 6)
Sheets(Datenausgabe).Cells(lz, 2, 17) = Sheets(Formular).Cells(42, 7)
Sheets(Datenausgabe).Cells(lz, 2, 18) = Sheets(Formular).Cells(42, 8)
Sheets(Datenausgabe).Cells(lz, 2, 19) = Sheets(Formular).Cells(42, 9)
Sheets(Datenausgabe).Cells(lz, 2, 20) = Sheets(Formular).Cells(42, 10)
Sheets(Datenausgabe).Cells(lz, 2, 21) = Sheets(Formular).Cells(42, 11)
Sheets(Datenausgabe).Cells(lz, 2, 22) = Sheets(Formular).Cells(42, 12)
Sheets(Datenausgabe).Cells(lz, 2, 23) = Sheets(Formular).Cells(47, 7)
Sheets(Datenausgabe).Cells(lz, 2, 24) = Sheets(Formular).Cells(50, 3)
Sheets(Datenausgabe).Cells(lz, 2, 25) = Sheets(Formular).Cells(55, 6)
Sheets(Datenausgabe).Cells(lz, 2, 26) = Sheets(Formular).Cells(55, 7)
Sheets(Datenausgabe).Cells(lz, 2, 27) = Sheets(Formular).Cells(55, 8)
End Sub
###

er zeigt mir laufzeitfehler 9 und "index außerhalb des gültigen bereichs"

hab mir mal die mühe gemacht alle zu "kopierende" zellen rauszuscheiben... (von Formular)
also...:
B4; C9; G9; C15; H15; C18; H18; C21; C27; C33; C39; H39; C42; D42; E42; F42; G42; H42; I42; J42; K42; L42; G47; F55; G55 und H55

diese sollen dann fortlaufen in tabelle 2 (Datenausgabe) A1...-A27 und dann jeweils in eine neu Zeile kopiert werden...
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

versuch es mal so:

###
Private Sub CommandButton1_Click()
lz = Sheets(Datenausgabe).Range("A65536").End(xlUp).Row + 1
For a = 1 To 5

Sheets(Datenausgabe).Cells(lz, 2, 1) = Sheets(Formular).Cells(4, 2)
Sheets(Datenausgabe).Cells(lz, 2, 2) = Sheets(Formular).Cells(9, 3)
Sheets(Datenausgabe).Cells(lz, 2, 3) = Sheets(Formular).Cells(9, 7)
Sheets(Datenausgabe).Cells(lz, 2, 4) = Sheets(Formular).Cells(15, 3)
Sheets(Datenausgabe).Cells(lz, 2, 5) = Sheets(Formular).Cells(15, 8)
Sheets(Datenausgabe).Cells(lz, 2, 6) = Sheets(Formular).Cells(18, 3)
Sheets(Datenausgabe).Cells(lz, 2, 7) = Sheets(Formular).Cells(18, 8)
Sheets(Datenausgabe).Cells(lz, 2, 8) = Sheets(Formular).Cells(21, 3)
Sheets(Datenausgabe).Cells(lz, 2, 9) = Sheets(Formular).Cells(27, 3)
Sheets(Datenausgabe).Cells(lz, 2, 10) = Sheets(Formular).Cells(33, 3)
Sheets(Datenausgabe).Cells(lz, 2, 11) = Sheets(Formular).Cells(39, 3)
Sheets(Datenausgabe).Cells(lz, 2, 12) = Sheets(Formular).Cells(39, 8)
Sheets(Datenausgabe).Cells(lz, 2, 13) = Sheets(Formular).Cells(42, 3)
Sheets(Datenausgabe).Cells(lz, 2, 14) = Sheets(Formular).Cells(42, 4)
Sheets(Datenausgabe).Cells(lz, 2, 15) = Sheets(Formular).Cells(42, 5)
Sheets(Datenausgabe).Cells(lz, 2, 16) = Sheets(Formular).Cells(42, 6)
Sheets(Datenausgabe).Cells(lz, 2, 17) = Sheets(Formular).Cells(42, 7)
Sheets(Datenausgabe).Cells(lz, 2, 18) = Sheets(Formular).Cells(42, 8)
Sheets(Datenausgabe).Cells(lz, 2, 19) = Sheets(Formular).Cells(42, 9)
Sheets(Datenausgabe).Cells(lz, 2, 20) = Sheets(Formular).Cells(42, 10)
Sheets(Datenausgabe).Cells(lz, 2, 21) = Sheets(Formular).Cells(42, 11)
Sheets(Datenausgabe).Cells(lz, 2, 22) = Sheets(Formular).Cells(42, 12)
Sheets(Datenausgabe).Cells(lz, 2, 23) = Sheets(Formular).Cells(47, 7)
Sheets(Datenausgabe).Cells(lz, 2, 24) = Sheets(Formular).Cells(50, 3)
Sheets(Datenausgabe).Cells(lz, 2, 25) = Sheets(Formular).Cells(55, 6)
Sheets(Datenausgabe).Cells(lz, 2, 26) = Sheets(Formular).Cells(55, 7)
Sheets(Datenausgabe).Cells(lz, 2, 27) = Sheets(Formular).Cells(55, 8)

Next a

End Sub
###

Gruß

Helmut
0 Punkte
Beantwortet von
leider das selbe... :(

Selbe fehelermeldung und er markiert diese zeile gelb...

lz = Sheets(Datenausgabe).Range("A65536").End(xlUp).Row + 1
...