Zelleninhalte exportieren ?

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