Hallo zusammen,
ich benötige mal wieder eure Hilfe:
ich möchte per Schaltfläche die Zellinhalte von C9, C11, C13 usw.
des aktuellen Tabellenblattes in eine externe, ebenfalls
geöffnete Arbeitsmappe nach Tabelle2, b3, b5, b7 usw. kopieren.
Hab schon gegoogelt, aber nur was über Import gefunden.
Kann jemand helfen?
Excel2000
Gruß und danke
Rolf
Hi Rolf
Heisst in deinem Beispiel „usw.“ dass weiterhin jede zweite Zeile kopiert werden soll? Bis zur letzten Zeile 65536 ? Oder doch wohl eher, solange etwas in der Zelle steht? oder …
Bitte um Klärung, Lösung ist dann recht einfach
Gruss
Erich
Hallo Rolf,
wenn die Tabelle in die Du exportieren willst schon offen ist, dann kannst Du doch auch von da importieren.
Gruß Wolfgang
Moin Wolfgang,
wenn die Tabelle in die Du exportieren willst schon offen ist,
dann kannst Du doch auch von da importieren.
Danke für Deine Idee, aber nein, ich öffne per Schaltfläche Datei 2,
um dort etwas einzutragen.
Die hier gewonnenen Daten z.B. C9, C11, C13 möchte ich nach
Datei 1 exportieren, z.B. nach b3, b5, b7 bevor ich Datei 2 speichere
und wieder in Datei 1 wechsele.
Gruß
Rolf
Hallo Erich,
danke für Dein Interesse.
Heisst in deinem Beispiel „usw.“ dass weiterhin jede zweite
Zeile kopiert werden soll?
Nein, Quell- und Zielzellen sind nur beispielhaft. Ich habe das
etwas abgekürzt. Es sind insgesamt 10 Zellen aus mehreren Spalten,
die ich kopieren möchte.
Bis zur letzten Zeile 65536 ? Oder
doch wohl eher, solange etwas in der Zelle steht? oder …
Wieder nein, es gibt keine Gleichmäßigkeit.
Gruß
Rolf
Hallo zusammen,
ich möchte per Schaltfläche die Zellinhalte von C9, C11, C13
usw.
des aktuellen Tabellenblattes in eine externe, ebenfalls
geöffnete Arbeitsmappe nach Tabelle2, b3, b5, b7 usw.
kopieren.
Inzwischen habe ich es mal so versucht:
Range("c9").Select
Selection.Copy
ActiveWindow.ActivateNext
Range("b3").Select
ActiveSheet.Paste
Range("c11").Select
Selection.Copy
ActiveWindow.ActivateNext
Range("b5").Select
ActiveSheet.Paste
Range("c13").Select
Selection.Copy
ActiveWindow.ActivateNext
Range("b7").Select
ActiveSheet.Paste
Da aber im Quellblatt in c9, c11, c13 auch Formeln stehen,
stimmen im Zielblatt die Bezüge nicht mehr.
Hat noch jemand eine Idee?
Gruß
Rolf
Hallo Rolf
Range(„c13“).Select
Selection.Copy
ActiveWindow.ActivateNext
Range(„b7“).Select
ActiveSheet.Paste
Da aber im Quellblatt in c9, c11, c13 auch Formeln stehen,
stimmen im Zielblatt die Bezüge nicht mehr.
2 Bemerkungen:
Du kannst den Code in allen Fällen wesentlich kürzen, wenn du möglichst NIE ein Select machst. Und die falschen Bezüge machst du weg, indem nur die Werte kopiert werden, also etwa so:
Sub Makro1()
Sheets("Tabelle1").Range("C9").Copy
Sheets("Tabelle2").Range("B3").PasteSpecial Paste:=xlPasteValues
Sheets("Tabelle1").Range("C11").Copy
Sheets("Tabelle2").Range("B5").PasteSpecial Paste:=xlPasteValues
Sheets("Tabelle1").Range("C13").Copy
Sheets("Tabelle2").Range("B7").PasteSpecial Paste:=xlPasteValues
' "blinken" abstellen
Application.CutCopyMode = False
End Sub
'Falls in den Zellen dazwischen nichts steht oder nichts Störendes, dann noch einfacher:
Sub makro2()
Sheets("Tabelle1").Range("C9:C13").Copy
Sheets("Tabelle2").Range("B3").PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
Guten Erfolg wünscht dir
Erich
Moin Erich,
Sub Makro1()
Sheets(„Tabelle1“).Range(„C9“).Copy
Sheets(„Tabelle2“).Range(„B3“).PasteSpecial
Paste:=xlPasteValues
Sheets(„Tabelle1“).Range(„C11“).Copy
Sheets(„Tabelle2“).Range(„B5“).PasteSpecial
Paste:=xlPasteValues
Sheets(„Tabelle1“).Range(„C13“).Copy
Sheets(„Tabelle2“).Range(„B7“).PasteSpecial
Paste:=xlPasteValues
’ „blinken“ abstellen
Application.CutCopyMode = False
End Sub
'Falls in den Zellen dazwischen nichts steht oder nichts
Störendes, dann noch einfacher:
Sub makro2()
Sheets(„Tabelle1“).Range(„C9:C13“).Copy
Sheets(„Tabelle2“).Range(„B3“).PasteSpecial
Paste:=xlPasteValues
Application.CutCopyMode = False
End Sub
Ja, das funktioniert prima *freu*. Vielen Dank, das hat mich
ein gutes Stück weiter gebracht.
Da die Daten nicht in der selben Datei stehen, hab ich es
etwas angewandelt:
Sub FM\_Daten\_Übertragen()
Sheets("Name1").Range("c9").Copy
ActiveWindow.ActivateNext
Application.ScreenUpdating = False
Sheets("Name2").Range("AI59").PasteSpecial Paste:=xlPasteValues
ActiveWindow.ActivateNext
Sheets("Name1").Range("c11").Copy
ActiveWindow.ActivateNext
Sheets("Name2").Range("Ai60").PasteSpecial Paste:=xlPasteValues
ActiveWindow.ActivateNext
Sheets("Name1").Range("c13").Copy
ActiveWindow.ActivateNext
Sheets("Name2").Range("Ai61").PasteSpecial Paste:=xlPasteValues
ActiveWindow.ActivateNext
usw…
Leider funktioniert das aber nur solange keine weitere Datei geöffnet ist, dann findet das „.Activate next“ nicht mehr zurück.
Gibt es für den Fall auch eine Lösung?
Gruß
Rolf