29.12.2019, 17:23
Hallo Leute,
ich stehe momentan vor folgende zwei Problemen und hoffe ihr könnt mir damit weiterhelfen, da ich derzeit recht wenig von vba verstehe.
Ich möchte über einen Button den Tabellennutzer die Option geben, seine bereits vorhandenen Daten von der alten Tabelle in die neue Tabelle übertragen zu lassen. Hierfür müsste ich aber wissen, wo die alte Tabelle gespeichert ist und wie diese benannt wurde.
1. Ist es möglich, dass nach der Buttonauswahl "Daten übertragen" lediglich den Speicherort der alten Tabelle auszuwählen ist und nach erfolgter Pfadbestätigung die Übertragung startet?
z.B. alte Tabelle ist in Laufwerk C:Users/... die neue Tabelle ist in Laufwerk D:Downloads/...
2. Spielt es bei den zu übertragenen Daten eine Rolle, ob die der Nutzer selbst eingegeben oder diese per Dropwdown Menü (Kombinationsfeld - Formularsteuerelement) ausgewählt hat?
Zur Übertragung der Daten habe ich folgende Variante gefunden.
Wenn ich aus Tabelle 1 die Daten von A1 bis E1 übertragen möchte, müsste ich dies doch dann vermutlich mit Cells (1, [1:5] bzw. 1, [1; 3; 5]).copy tun, oder?
Wenn ja, gilt dies auch in Kombination Zeilen und Spalten?
Z. B. müssten aus Tabelle 1 Blatt 2, die Werte aus den Spalten C bis AH der Zeilen 8, 10, 12 in die neue Datei übertragen werden. Manchmal besitzt nur jede zweite Spalte einen zu übertragenden Wert, dafür aber jede Zeile.
Jede Zelle an sich anzusprechen sprengt den Rahmen und macht das Ganze unübersichtlich. Darum würde ich gerne das Ganze zeilenweise erledigen wollen.
Darüber hinaus möchte ich über einen Button eine Datenübertragung von einem Tabellenblatt auf ein anderes Blatt ausführen lassen. Wie das ungefähr funktioniert habe ich bereits gesehen. Jedoch möchte ich in meiner Tabelle die Daten aus A8 bis AF8 von Blatt 1 nach Blatt 2 in A10 bis AF10 übertragen lassen. Dies soll fortlaufend untereinander erfolgen.
Anzumerken ist, dass in Zelle A8 von Blatt 1 das Datum steht. Bei der Übertragung per Makro stünde ich jedoch vor dem Problem, dass in der Zieltabelle evtl. Datumslücken vorhanden wären, weil an bestimmten Tagen nix passiert ist.
Diese Lücken wären für meine zu kalkulierende durchschnittliche Ertragsmenge pro Tag sehr unschön, da ich dann nur Tage heranziehen würde, für die ein Eintrag vorlag. Derzeit erledige ich das alles händisch. Ich kopiere die Daten aus Blatt 1 nach Blatt 2. Sind Datumslücken vorhanden, füge ich die fehlenden Tage und in weiteren Spalten den Wert "Null" ein.
Vielen Dank schon jetzt für eure Hilfe.
Gruß
Jens
ich stehe momentan vor folgende zwei Problemen und hoffe ihr könnt mir damit weiterhelfen, da ich derzeit recht wenig von vba verstehe.
Ich möchte über einen Button den Tabellennutzer die Option geben, seine bereits vorhandenen Daten von der alten Tabelle in die neue Tabelle übertragen zu lassen. Hierfür müsste ich aber wissen, wo die alte Tabelle gespeichert ist und wie diese benannt wurde.
1. Ist es möglich, dass nach der Buttonauswahl "Daten übertragen" lediglich den Speicherort der alten Tabelle auszuwählen ist und nach erfolgter Pfadbestätigung die Übertragung startet?
z.B. alte Tabelle ist in Laufwerk C:Users/... die neue Tabelle ist in Laufwerk D:Downloads/...
2. Spielt es bei den zu übertragenen Daten eine Rolle, ob die der Nutzer selbst eingegeben oder diese per Dropwdown Menü (Kombinationsfeld - Formularsteuerelement) ausgewählt hat?
Zur Übertragung der Daten habe ich folgende Variante gefunden.
Code:
Sub test()
Workbooks("test1.xls").Worksheets("Sheet1").Cells(x, y).Copy
Workbooks("test2.xls").Worksheets("Sheet1").Cells(x, y).Paste
End Sub
Wenn ich aus Tabelle 1 die Daten von A1 bis E1 übertragen möchte, müsste ich dies doch dann vermutlich mit Cells (1, [1:5] bzw. 1, [1; 3; 5]).copy tun, oder?
Wenn ja, gilt dies auch in Kombination Zeilen und Spalten?
Z. B. müssten aus Tabelle 1 Blatt 2, die Werte aus den Spalten C bis AH der Zeilen 8, 10, 12 in die neue Datei übertragen werden. Manchmal besitzt nur jede zweite Spalte einen zu übertragenden Wert, dafür aber jede Zeile.
Jede Zelle an sich anzusprechen sprengt den Rahmen und macht das Ganze unübersichtlich. Darum würde ich gerne das Ganze zeilenweise erledigen wollen.
Darüber hinaus möchte ich über einen Button eine Datenübertragung von einem Tabellenblatt auf ein anderes Blatt ausführen lassen. Wie das ungefähr funktioniert habe ich bereits gesehen. Jedoch möchte ich in meiner Tabelle die Daten aus A8 bis AF8 von Blatt 1 nach Blatt 2 in A10 bis AF10 übertragen lassen. Dies soll fortlaufend untereinander erfolgen.
Anzumerken ist, dass in Zelle A8 von Blatt 1 das Datum steht. Bei der Übertragung per Makro stünde ich jedoch vor dem Problem, dass in der Zieltabelle evtl. Datumslücken vorhanden wären, weil an bestimmten Tagen nix passiert ist.
Diese Lücken wären für meine zu kalkulierende durchschnittliche Ertragsmenge pro Tag sehr unschön, da ich dann nur Tage heranziehen würde, für die ein Eintrag vorlag. Derzeit erledige ich das alles händisch. Ich kopiere die Daten aus Blatt 1 nach Blatt 2. Sind Datumslücken vorhanden, füge ich die fehlenden Tage und in weiteren Spalten den Wert "Null" ein.
Vielen Dank schon jetzt für eure Hilfe.
Gruß
Jens