Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1952to1956
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro um Daten auf anderes Arbeitsblatt übertragen

Makro um Daten auf anderes Arbeitsblatt übertragen
21.11.2023 18:43:59
Dirk Reinink
Ich habe eine Excel-Datei mit der ich Daten in ein anderes Programm importieren möchte.

Im Arbeitsblatt "Teilnahmedaten" gibt es eine Tabelle in der Kursleiter Daten von Teilnehmern eintragen, frei geschrieben bzw. per Dropdown-Menü. Um diese Daten in ein anderes Programm zu importieren, brauche ich ein neues, sauberes Arbeitsblatt "Übertragung in Seminarmanager". Dort dürfen weder Formeln noch Leerfelder (Excel hinterlässt wohl auch nach dem Löschen von Inhalten in den Feldern Spuren) vorhanden sein. Jetzt könnte ich das natürlich per strg+c machen, aber ich will das für die Kollegen automatisieren. Ich möchte, dass alle Daten übernommen werden, wenn die Spalte "Name" einen Wert hat. Bis jetzt habe ich folgendes Makro aufgezeichnet:




Sub Uebertragung()
'
' Uebertragung Makro
'
' Tastenkombination: Strg+q
'
Sheets.Add After:=ActiveSheet
Sheets("Tabelle1").Select
Sheets("Tabelle1").Name = "Tabelle1"
Sheets("Tabelle1").Select
Sheets("Tabelle1").Name = "Übertragung in Seminarmanager"
Sheets("Listenelemente").Select
Range("A14:H14").Select
Selection.Copy
Sheets("Übertragung in Seminarmanager").Select
ActiveSheet.Paste
Range("E9").Select
Sheets("Teilnahmedaten").Select
Range("A15:B29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Übertragung in Seminarmanager").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Teilnahmedaten").Select
Range("D15:H29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Übertragung in Seminarmanager").Select
Range("C2").Select
ActiveSheet.Paste
Sheets("Teilnahmedaten").Select
Range("I15:I29").Select
Application.CutCopyMode = False
Sheets("Teilnahmedaten").Select
Range("D15:H29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Übertragung in Seminarmanager").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("Teilnahmedaten").Select
Range("I15:I29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Übertragung in Seminarmanager").Select
Range("H2").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Range("H25").Select
End Sub


Hier werden bestimmte Felder abgefragt. Das passt natürlich nicht. Was muss ich also tun?

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro um Daten auf anderes Arbeitsblatt übertragen
21.11.2023 18:55:50
daniel
Hi

aufgezeichneter Code sollte immer überarbeitet werden.
dann wird er kürzer und übersichtlicher..

beispielsweise kannst du das hier:

Sheets("Teilnahmedaten").Select

Range("A15:B29").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Übertragung in Seminarmanager").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False

in zwei Zeilen zusammenfassen:

Sheets("Teilnahmedaten").Range("A15:B29").Copy

Sheets("Übertragung in Seminarmanager").Range("A2").PasteSpecial Paste:=xlPasteValues


das solltest du für den ganzen Code erstmal tun, dann kann man sich den auch anschauen.
weiteres dazu auch hier:
https://online-excel.de/excel/grusel_vba.php?f=6

die nächste Frage wäre, ob es nicht einfacher ist, wenn du zunächst mal alles kopierst und dann die Leerzeilen rauslöschst?
um die Leerzeilen zu finden , kannst du die Menüfunktion START - BEARBEITEN - SUCHEN UND AUSWÄHLEN - INHALTE - LEERE ZELLEN
verwenden.

Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige