Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1248to1252
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

Daten in zweiter Tabelle mit Datum sichern

Daten in zweiter Tabelle mit Datum sichern
Fritz_W

Hallo Forumsbesucher,
per Makroaufzeichnung habe ich bisher Daten aus der 'Tabelle1' in die Tabelle 'Ergebnisse' übertragen (kopiert und unformatiert in Tabelle 'Ergebnisse' eingefügt).
Inhalt aus 'Tabelle1 O3' nach 'Ergebnisse B3'
Zellinhalt aus 'Tabelle B4:D19 ' nach 'Ergebnisse B4:G19
Meine nun weitergehenderen Vorstellungen lassen sich mit der Makroaufzeichnung nicht realisieren, so dass ich um eure Hilfe bitte.
Es sollte nunmehr zusätzlich in Zeile 1 also in die Zelle B1 der Tag, in Zeile 2, und in B2 die Uhrzeit des Kopiervorgangs eingetragen werden.
Bei einer erneuten Speicherung sollte der Kopiervorgang in Tabelle 'Ergebnisse' entsprechend nach rechts weitergeführt werden, beginnend immer mit der ersten leeren Spalte, die letzte (8. Speicherung) würde dann in die Spalten W bis Y erfolgen.
Für eure Hilfe danke ich im Voraus.
Viele Grüße
Fritz

28
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 06:50:10
marcl
Guten Morgen Fritz,
versuche mal das hier:
Sub kopieren()
Dim zeilencounter As Integer
Dim spaltencounter As Integer
Dim benutzteSpalte As Integer
' auslesen, wie viele Spalten im Blatt schon verwendet wurden
benutzteSpalte = Sheets("Ergebnisse").UsedRange.Columns.Count
' wenn das erste mal bereits ausgeführt wurde, jeweils eine Spalte weiter als verwednete
If benutzteSpalte  1 Then benutzteSpalte = benutzteSpalte + 1
' Kopiervorgang für Zelle O3
Sheets("Ergebnisse").Cells(3, 1 + benutzteSpalte) = Sheets("Tabelle1").Cells(3, 15)
' EInfügen des Datums und Uhrzeit
Sheets("Ergebnisse").Cells(1, 1 + benutzteSpalte) = Date
Sheets("Ergebnisse").Cells(2, 1 + benutzteSpalte) = Time
' Schleife zum Kopieren der Zellen B4 bis G19
For zeilencounter = 4 To 19
For spaltencounter = 1 To 5
Sheets("Ergebnisse").Cells(zeilencounter, spaltencounter + benutzteSpalte) = Sheets(" _
Tabelle").Cells(zeilencounter, spaltencounter + 1)
Next spaltencounter
Next zeilencounter
End Sub
Gruß
marcl
Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 08:18:42
Fritz_W
Hallo marcl,
toll, dass Du mir Deine Unterstützung anbietest, vielen Dank.
Der Code müsste wohl bei der folgenden Anweisung einen Fehler enthalten, leider kann ich selbst nicht feststellen, woran das liegt:
For spaltencounter = 1 To 5
Sheets("Ergebnisse").Cells(zeilencounter, spaltencounter + benutzteSpalte) = Sheets(" _
Tabelle ").Cells(zeilencounter, spaltencounter + 1)"
Könntest Du das nochmal überprüfen.
Viele Grüße
Fritz
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 08:29:44
marcl
Gerne doch,
was funktioniert denn da nicht? Bei mir klappt das. Ist vielleicht der Tabellenname falsch?
Gruß
marcl
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 08:38:08
Fritz_W
Hallo marcl,
ich habe den Code kopiert und in ein Modul eingefügt, da wurde bereits dieser Teil rot eingefärbt:
Sheets("Ergebnisse").Cells(zeilencounter, spaltencounter + benutzteSpalte) = Sheets(" _
Tabelle ").Cells(zeilencounter, spaltencounter + 1)"
Gruß
Fritz
P.S. Kann es allein am fettgedruckten Tabellennamen liegen? Muss wohl Tabelle1 lauten?
Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 09:01:36
marcl
hm, wenn der Satz rot gefärbt ist, liegt ein Syntaxfehler vor.
schreibe mal alles in eine Zeile und das " am Ende muss weg. Der _ kann auch weg. Sollte Sheets("Tabelle") lauten. Ob das Blatt Tabelle oder Tabelle1 lautet, liegt an Deiner Datei.
gruß
marcl
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 09:24:15
Fritz_W
Hallo marcl,
vielen Dank für die weitere Hilfe.
Hatte selbst eben genau das obige getan und damit das Makro auch zum Laufen gebracht.
Die Einfügung erfolgt jedoch nicht so wie vorgesehen: Der Wert aus Tabelle1 O3 wurde nach Ergebnisse AA3 (anstatt B3) kopiert. Entsprechend befand sich Datum in AA1 (statt in B1), die Uhrzeit in AA2 statt in B2 der Tabelle Ergebnisse.
Viele Grüße
Fritz
Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 09:36:21
marcl
Ich lasse die verwendeten Spalten auslesen. Wird nach der 8. Aufbereitung der Inhalt überschrieben? Dann könnten man vorher den ganzen Tabelleninhalt löschen.
If Cells(1, 25) "" Then Cells.ClearContents
Gruß
marcl
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 09:47:12
Fritz_W
Hallo marcl,
vielen Dank für den Hinweis. Tatsächlich möchte ich nach dem 8 Kopiervorgang löschen und erneut - bis zu 8x kopieren. Werde versuchen, das wie beschrieben umzusetzen. Muß aber jetzt kurz weg und melde mich deshalb ggf. zu einem späteren Zeitpunkt nochmal.
Bis dahin viele Grüße
Fritz
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 09:59:51
marcl

Sub kopieren()
Dim zeilencounter As Integer
Dim spaltencounter As Integer
Dim benutzteSpalte As Integer
' wenn Y1 nicht leer ist, Inhalt löschen
If Cells(1, 25)  "" Then Cells.ClearContents
' auslesen, wie viele Spalten im Blatt schon verwendet wurden
benutzteSpalte = Sheets("Ergebnisse").UsedRange.Columns.Count
' wenn das erste mal bereits ausgeführt wurde, jeweils eine Spalte weiter als  _
verwednete
If benutzteSpalte  1 Then benutzteSpalte = benutzteSpalte + 1
' Kopiervorgang für Zelle O3
Sheets("Ergebnisse").Cells(3, 1 + benutzteSpalte) = Sheets("Tabelle1").Cells(3, 15)
' EInfügen des Datums und Uhrzeit
Sheets("Ergebnisse").Cells(1, 1 + benutzteSpalte) = Date
Sheets("Ergebnisse").Cells(2, 1 + benutzteSpalte) = Time
' Schleife zum Kopieren der Zellen B4 bis G19
For zeilencounter = 4 To 19
For spaltencounter = 1 To 5
Sheets("Ergebnisse").Cells(zeilencounter, spaltencounter + benutzteSpalte) =  _
Sheets(" _
Tabelle").Cells(zeilencounter, spaltencounter + 1)
Next spaltencounter
Next zeilencounter
End Sub

Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 11:56:32
Fritz_W
Hallo marcl,
vielen (!!!) Dank für Deine weitere Unsterstützung und die Geduld.
Leider funktioniert das immer noch nicht wie gewünscht.
Dachte, dass der Grund darin liegen könnte, dass statt Y1 die Zelle W1 gemeint sein müsste.
Daraufhin hab ich den Code wie folgt geändert:
' wenn W1 nicht leer ist, Inhalt löschen
If Cells(1, 23) "" Then Cells.ClearContents
Leider brachte auch das nicht den gewünschten Erfolg, es wird nach wie vor in der Tabelle 'Ergebnisse' munter weiter spaltenweise nach rechts eingefügt.
Woran liegts?
Hab inzwischen fast schon ein schlechtes Gewissen (da ich gleich noch gerne etwas ändern würde: )
Ich beabsichtige in die Tabelle 3 zusätzliche Spalten vor die Spalte A einzufügen, so dass sich dort der zu aus Tabelle1 zu kopierende Zellbereich sich entsprechend ändert: statt B4:D19 wäre das E4:G19
Wenn man du das entsprechend ändern könntest, wärs gut.
Viele Grüße
Fritz
Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 12:48:22
marcl
If Cells(1, 23) "" Then Cells.ClearContents
muss gleich oben unter den Zeilen mit Dim .... stehen. In meiner Testdatei funktioniert das einwandfrei.
Und wo ist Tabelle3? In meinem Code habe ich nur Tabelle, Tabelle1 und Ergebnisse stehen. Welche ist denn gemeint?
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 13:15:28
Fritz_W
Hallo marcl,
werds gleich testen, Tabelle 3 war ein Flüchtigkeitsfehler, sollte heißen in Tabelle1 3 zusätzliche Spalten,
aber inzwischen glaub ich, dass ich das selbst hinbekomme. Meld mich gleich nochmal!
Einstweilen Dank
und Gruß
Fritz
AW: Daten in zweiter Tabelle mit Datum sichern
22.02.2012 14:25:19
Fritz_W
Hallo marcl,
seltsame Geschichte, alles funktioniert, nur es wird munter weiter nach rechts eingefügt.
Habe eine neue Beispieldatei angefertigt, die ich hier beifüge.
Das seltsame ist, er machte in der Spalte weiter, wo er in der Originaldatei zuletzt aufgehört hatte.
Mittlerweile bin ich so etwa in Spalte BQ gelandet.
Selbst nach einem Neustart von Excel hat er das munter fortgesetzt. Nur ein Neustart des Rechners hab ich noch nicht getestet.
Ich bin mit meinem Latein am Ende.
Test mal auf deinem Rechner mittels der angehängten Datei.
Nochmals Dank für Deine Arbeit
Gruß
Fritz
https://www.herber.de/bbs/user/79032.xlsm
Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
23.02.2012 07:49:15
marcl
Ich habe leider keine Möglichkeit, Dateien auf die Rechner zu laden. Schicke mir bitte Deinen Code zu. Ich werde das dann mal in meinen Dateien testen
AW: Daten in zweiter Tabelle mit Datum sichern
23.02.2012 07:49:22
marcl
Ich habe leider keine Möglichkeit, Dateien auf die Rechner zu laden. Schicke mir bitte Deinen Code zu. Ich werde das dann mal in meinen Dateien testen
AW: Daten in zweiter Tabelle mit Datum sichern
23.02.2012 08:16:48
Fritz_W
Hallo marcl,
in der hochgeladenen Beispieldatei befindet sich lediglich ein Modul mit dem beigefügten Code:
Sub kopieren()
Dim zeilencounter As Integer
Dim spaltencounter As Integer
Dim benutzteSpalte As Integer
' wenn Y1 nicht leer ist, Inhalt löschen
If Cells(1, 23)  "" Then Cells.ClearContents
' auslesen, wie viele Spalten im Blatt schon verwendet wurden
benutzteSpalte = Sheets("Ergebnisse").UsedRange.Columns.Count
' wenn das erste mal bereits ausgeführt wurde, jeweils eine Spalte weiter als  _
verwednete
If benutzteSpalte  1 Then benutzteSpalte = benutzteSpalte + 1
' Kopiervorgang für Zelle O3
Sheets("Ergebnisse").Cells(3, 1 + benutzteSpalte) = Sheets("Tabelle1").Cells(3,  _
15)
' Einfügen des Datums und Uhrzeit
Sheets("Ergebnisse").Cells(1, 1 + benutzteSpalte) = Date
Sheets("Ergebnisse").Cells(2, 1 + benutzteSpalte) = Time
' Schleife zum Kopieren der Zellen B4 bis G19
For zeilencounter = 4 To 19
For spaltencounter = 1 To 5
Sheets("Ergebnisse").Cells(zeilencounter, spaltencounter + benutzteSpalte)  _
= Sheets("Tabelle1").Cells(zeilencounter, spaltencounter + 1)
Next spaltencounter
Next zeilencounter
End Sub
Gruß
Fritz
Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
23.02.2012 09:19:51
marcl
Recht hast Du,
ändere mal die Zeile wie folgt ab:
If Cells(1, 23) "" Then Cells.Delete Shift:=xlUp ' nicht Cells.ClearContents
Bei mir funktioniert das so besser.
Gruß
marcl
AW: Daten in zweiter Tabelle mit Datum sichern
23.02.2012 13:06:20
Fritz_W
Hallo marcl,
ich hab mittlerweile umfassend getestet, mit - für mich - erstaunlichen und nicht erklärbaren Ergebnissen.
Zunächst hab ich die hochgeladene Beispieldatei auf einem zweiten PC (Excel 2007 und Windows XP) mit dem korrigierten Code getestet: Dabei wurde der vollständig beschriebene Zellbereich gelöscht, wenn die Zelle W1 nicht leer war. Eingefügt wurde aber weiterhin in Fortsetzung der vorhergehenden Eintragung immer schön spaltenmäßig weiter nach rechts (obwohl ich den letzten Eintrag gelöscht hatte, echt seltsam.
Dann habe ich das Ganze in einer neu angefertigten Beispieldatei (am ursprünglich verwendeten PC) unter Excel 2010 und Windows 7 getestet. Jetzt ergab sich im Vergleich zu den Tests mit dem alten Code überhaupt keine Änderung: Der Zellbereich wurde - auch wenn Zelle W1 nicht leer war - nicht gelöscht. Gleichzeitig wurden auch hier die neuen Daten (spaltenmäßig) jeweils immer weiter nach rechts eingefügt.
Wenn Du dafür eine Erklärung hast, dann lass mich das wissen, andernfalls möchte ich Dir in dieser Sache aber weitere Arbeit ersparen. Vielleicht erhalte ich anderweitig noch eine Erklärung für dieses Phänomen.
Nochmals vielen Dank für alles.
mfg
Fritz
Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
23.02.2012 13:06:25
Fritz_W
Hallo marcl,
ich hab mittlerweile umfassend getestet, mit - für mich - erstaunlichen und nicht erklärbaren Ergebnissen.
Zunächst hab ich die hochgeladene Beispieldatei auf einem zweiten PC (Excel 2007 und Windows XP) mit dem korrigierten Code getestet: Dabei wurde der vollständig beschriebene Zellbereich gelöscht, wenn die Zelle W1 nicht leer war. Eingefügt wurde aber weiterhin in Fortsetzung der vorhergehenden Eintragung immer schön spaltenmäßig weiter nach rechts (obwohl ich den letzten Eintrag gelöscht hatte, echt seltsam.
Dann habe ich das Ganze in einer neu angefertigten Beispieldatei (am ursprünglich verwendeten PC) unter Excel 2010 und Windows 7 getestet. Jetzt ergab sich im Vergleich zu den Tests mit dem alten Code überhaupt keine Änderung: Der Zellbereich wurde - auch wenn Zelle W1 nicht leer war - nicht gelöscht. Gleichzeitig wurden auch hier die neuen Daten (spaltenmäßig) jeweils immer weiter nach rechts eingefügt.
Wenn Du dafür eine Erklärung hast, dann lass mich das wissen, andernfalls möchte ich Dir in dieser Sache aber weitere Arbeit ersparen. Vielleicht erhalte ich anderweitig noch eine Erklärung für dieses Phänomen.
Nochmals vielen Dank für alles.
mfg
Fritz
Anzeige
AW: Daten in zweiter Tabelle mit Datum sichern
23.02.2012 13:19:46
marcl
Hallo Fritz,
ich habe keine Ahnung.
https://www.herber.de/bbs/user/79045.xls
Hier mal meine Datei. Die funktioniert bei mir tadellos. Nach 8 Einträgen wird alles gelöscht und die Eintragungen beginnen von vorne. Wenn das bei Dir auch nicht funktioniert, kann ich Dir leider nicht weiter helfen :-(
Gruß
marcl
AW: Daten in zweiter Tabelle mit Datum sichern
23.02.2012 15:22:30
Fritz_W
Hallo marcl,
hab die hochgeladene auf beiden PCs getestet, mit bekanntem Ergebnis.
Das Kopieren wird in der Tabelle'Ergebnisse' immer nach rechts fortgesetzt, auch nach dem Löschvorgang.
Falls ich noch (weitere) entscheidende Erkenntnisse gewinne, meld ich mich, ansonsten besten Dank für Deine Unterstützung.
mfg
Fritz
AW: Daten in zweiter Tabelle mit Datum sichern
24.02.2012 06:26:09
marcl
Guten Morgen Fritz,
so schnell gebe ich nicht auf. Hier ein anderer Ansatz, um die beschrioebenen Zellen zu ermitteln.
https://www.herber.de/bbs/user/79060.xls
Gruß
marcl
AW: Daten in zweiter Tabelle mit Datum sichern
24.02.2012 10:55:49
Fritz_W
Hallo marcl,
bist ein richtiger 'Kämpfer', das freut mich.
So sehr ich mich über solch instensive Unterstützung freue, so würde ich natürlich auch verstehen, wenn bei solchen Projekten ein Helfer auch mal 'das Handtuch wirft'.
Hab getestet:
Bei mir wird bei jedem Kopiervorgang immer in den ersten Bereich von Tabelle 'Ergebnisse' kopiert, also jeweils der vorherige Eintrag überschrieben.
Ist das bei Dir nicht der Fall?
Viele Grüße
Fritz
AW: Daten in zweiter Tabelle mit Datum sichern
24.02.2012 11:06:29
marcl
Ups,
bei mir nicht. Ich weiß ja auch nicht so genau, wie Deine Oberfläche in VBA aussieht. Also wenn Du mit der Maus in das Sub klickst, kannst Du mit der Taste F8 das ganze in Einzelschrtitten durchgehen. Dabei könntest Du feststellen, ob meine If Abfragen auch korrekt abgearbeitet werden.
Eine andere Möglichkeit wären noch die Verweise in VBA. Wenn Du bei Extras > Verweise schaust, sollten folgende Haken gesetzt sein:
Visual Basic For Applications
Microsoft Excel 12.0 Objekt Library (Bei Excel 2007, die Zahl ist je nach Version unterschiedlich)
Microsoft Office 12.0 Object Library
Microsoft Scripting Runtime
Microsoft Forms 2.0 Object Library
Vielleicht liegt es ja daran....
Gruß
marcl
AW: Daten in zweiter Tabelle mit Datum sichern
24.02.2012 11:06:38
marcl
Ups,
bei mir nicht. Ich weiß ja auch nicht so genau, wie Deine Oberfläche in VBA aussieht. Also wenn Du mit der Maus in das Sub klickst, kannst Du mit der Taste F8 das ganze in Einzelschrtitten durchgehen. Dabei könntest Du feststellen, ob meine If Abfragen auch korrekt abgearbeitet werden.
Eine andere Möglichkeit wären noch die Verweise in VBA. Wenn Du bei Extras > Verweise schaust, sollten folgende Haken gesetzt sein:
Visual Basic For Applications
Microsoft Excel 12.0 Objekt Library (Bei Excel 2007, die Zahl ist je nach Version unterschiedlich)
Microsoft Office 12.0 Object Library
Microsoft Scripting Runtime
Microsoft Forms 2.0 Object Library
Vielleicht liegt es ja daran....
Gruß
marcl
AW: Daten in zweiter Tabelle mit Datum sichern
24.02.2012 11:06:55
marcl
Ups,
bei mir nicht. Ich weiß ja auch nicht so genau, wie Deine Oberfläche in VBA aussieht. Also wenn Du mit der Maus in das Sub klickst, kannst Du mit der Taste F8 das ganze in Einzelschrtitten durchgehen. Dabei könntest Du feststellen, ob meine If Abfragen auch korrekt abgearbeitet werden.
Eine andere Möglichkeit wären noch die Verweise in VBA. Wenn Du bei Extras > Verweise schaust, sollten folgende Haken gesetzt sein:
Visual Basic For Applications
Microsoft Excel 12.0 Objekt Library (Bei Excel 2007, die Zahl ist je nach Version unterschiedlich)
Microsoft Office 12.0 Object Library
Microsoft Scripting Runtime
Microsoft Forms 2.0 Object Library
Vielleicht liegt es ja daran....
Gruß
marcl
AW: Daten in zweiter Tabelle mit Datum sichern
24.02.2012 12:01:36
Fritz_W
Hallo marcl,
bin den Code mit F8 durchgegangen. Dabei sind wurden nicht alle Anweisungen angesprungen.
Bei 'Extras - Verweise' hab ich daraufhin die 'fehlenden Haken' vor
Microsoft Scripting Runtime und Mircosoft Forms 2.0 Ojekt Library gesetzt.
Leider ohne dass dadurch etwas behoben werden konnte.
Tut mir leid.
Werd das noch am zweiten PC unter Excel 2007 untersuchen, komme aber heute leider nicht mehr dazu.
Falls es Neuigkeiten gibt, melde ich mich morgen nochmals.
Vielen Dank und viele Grüße.
Fritz
@marcl
25.02.2012 09:00:57
Fritz_W
Hallo marcl,
ich habe nun Deine Beispieldatei nun auf dem zweiten PC (Excel 2007/Windows XP) getestet:
Funktioniert - im Gegensatz zum Test mit Excel 2010 unter Win7 - genau wie es sein sollte.
Also muss das doch was mit der Konfiguration zu tun haben.
Auf jeden Fall kann ich dann auf dem zweiten Rechner arbeiten, das genügt mir vollkommen.
Irgendwann werd ich auch sicherlich erfahren bzw. herausfinden, worauf das seltsame Verhalten bei Excel 2010 zurückzuführen ist.
Dein Einsatz hat sich nun auf jeden Fall gelohnt, ein nochmaliger Dank und ein schönes WE
Gruß
Fritz

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige