1.3k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

wie in der Kurzüberschrift erwähnt würde ich gerne einen Button in meine Tabellenkalkulation einfügen, durch den mehrere einzelne Zellen kopiert und in einer neuen Tabellenkalkulation eingefügt werden.
Die Zellen, die kopiert werden sollen sind auf dem gesamten Tabellenblatt verteilt und sollen in der neuen Datei in einer Zeile gespeichert werden.

Leider habe ich keinerlei Kenntnisse in VBA und Makros, so dass ich das leider nicht realisiert bekomme..

Vielen Dank für eure Hilfe.

6 Antworten

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

Leider habe ich keinerlei Kenntnisse in VBA und Makros, so dass ich das leider nicht realisiert bekomme..


....und wir haben leider keinerlei Kenntnisse über deine Tabellen- u. Datenstruktur, die verwendete Excelversion und den genauen Inhalt deines Vorhabens :-))

Deshalb könnte eine Beispielmappe mit genaueren Erklärungen die Grundlage für eine wirksame Hilfe sein.

Gruß
Rainer
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

sollen die Zellen in ein neues Tabellenblatt in der selben Arbeitsmappe kopiert werden oder in ein Tabellenblatt einer anderen Arbeitsmappe (also in eine andere Datei)?
Und soll eine bereits vorhande Zeile überschrieben werden, oder sollen die Daten immer in eine neue Zeile geschrieben werden?

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo,

so wie du das schreibst, willst du selbst bestimmen, wann die Inhalte bestimmter Zellen aus einer Tabelle in einer Excel-Datei in eine neue Tabelle in einer neue Excel-Datei geschrieben werden. Ist das richtig?

Oder geht es eher darum, dass die Tabelle in dieser neuen Excel-Datei einfach mit Daten aus bestimmten Zellen der ersten Datei gefüllt weird, sobald man diese da einträgt?
In diesem Fall ließe es sich einfach durch Formeln in den zu befüllenden Zellen in der neuen Datei lösen - Ohne Script / Makro.
Bei jedem Aufruf der neuen Datei wäre sie dann mit den aktuellen Daten aus der ersten Datei gefüllt.

Gruß
0 Punkte
Beantwortet von
Nochmal kurz zu meinem vorhaben:

Ich habe ein Tabellenblatt (43 Zeilen x 8 Spalten). Dieses Tabellenblatt beinhaltet Das Ergebnis einer Lieferantenbewertung. Das heißt Lieferantenname, Leistungsbereich, Betreuer, Bewertungsergebnisse, Empfehlungen etc.

Dieses Tabellenblatt wird nach jeder Bewertung für einen Lieferanten automatisch ausgefüllt. Damit ich aber eine Übersicht mit den Bewertungen von jeder durch geführten Bewertung erhalte, hätte ich gerne einen Button auf den ich drücke kann und wodurch fest definierte Zellen in einer neuen Datei in eine neue Zeile kopiert werden.

Im Endeffekt soll die neue Datei eine Übersicht mit allen Bewertungen enthalten, bei der auf den Button gedrückt wird.

@rainberg
hilft dir oben die Beschreibung besser um mein Problem zu verstehen

@M.O.
Die Dateien sollen in eine NEUE Datei und in der Datei in eine NEUE Zeile ohne etwas zu überschreiben.


@Toetensen
Ja ich will selbst bestimmen, wann die Zellen kopiert werden.
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

hier mal ein Beipiel wie ein entsprechendes Makro aussehen könnte.
Den Pfad, den Namen der zu öffnenden Datei und des Zieltabellenblatts musst du natürlich auf deine Bedürfnisse anpassen.
Ebenso musst du deine zu kopierende Zellen anpassen.
Das Makro gehört in ein Standard Modul deiner Arbeitsmappe, aus der die Daten kopiert werden sollen. Die Daten werden immer vom aktiven Blatt herauskopiert.

Sub kopieren()

Dim strPfad As String
Dim strZielDat As String
Dim strZielTab As String
Dim strDatei As String
Dim lngLetzte As Long

'Bildschirmaktualisierung ausschalten:
Application.ScreenUpdating = False

'Pfad zur Zieldatei festlegen
strPfad = "C:\Test\"

'Name der Zieldatei festlegen
strZielDat = "Bewertungen.xlsx"

'Name der Zieltabelle festlegen
strZielTab = "Tabelle1"

'Datei öffnen
strDatei = strPfad & strZielDat
Workbooks.Open (strDatei)

'Nun letzte beschrieben Zeile in der Zieldatei ermitteln und um 1 erhöhen für neue Zeile
lngLetzte = Workbooks(strZielDat).Worksheets(strZielTab).Cells(Rows.Count, 1).End(xlUp).Row + 1

'Daten übertragen - anpassen
Workbooks(strZielDat).Worksheets(strZielTab).Cells(lngLetzte, 1) = ThisWorkbook.ActiveSheet.Range("A1").Value 'Ziel ist Spalte A
Workbooks(strZielDat).Worksheets(strZielTab).Cells(lngLetzte, 2) = ThisWorkbook.ActiveSheet.Range("C1").Value 'Ziel ist Spalte B
Workbooks(strZielDat).Worksheets(strZielTab).Cells(lngLetzte, 3) = ThisWorkbook.ActiveSheet.Range("G1").Value 'Ziel ist Spalte C

'Nun die geöffnete Arbeitsmappe speichern und schließen
Workbooks(strZielDat).Close (True)

'Bildschirmaktualisierung einschalten:
Application.ScreenUpdating = True

'Abschlussmeldung anzeigen
MsgBox "Die Daten wurden kopiert", 64, "Kopieren beendet"

End Sub


Hier werden z.B. die Zellen A1, C1 und G1 des aktuellen Arbeitsblatts kopiert.

Gruß

M.O.
0 Punkte
Beantwortet von
Vielen Dank M.O.
Funktioniert so wie ich es mir vorgestellt habe :)
...