Anzeige
Archiv - Navigation
364to368
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
364to368
364to368
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Von Tabell1 in Tabellealles archivieren

Von Tabell1 in Tabellealles archivieren
19.01.2004 16:01:52
Hega
Hallo Ihr alle zusammen,bin durch Zufall auf diese Seite gestossen.
Ich habe ein Problem wo ich nicht weiter komme, ich gebe täglich Werte in die Tabelle1 ein und nach der Eingabe kopiere ich manuell diese Eingaben in das Zabellenbl. Tabellealles.Gibt es eine Möglichkeit das auch über VBA zu machen?
So das jeder Eintrag dort automatisch archiviert gespeichert wird ?
Das zwischen den einzelnen Speicherungen eine Zeile frei bleibt.
Der Bereich liegt in Tabelle1 A2 bis Z14,habe mir sagen lassen das ich erwähnen sollte das in dem Bereich sich auch Verbundene Zellen befinden.
Kennt sich jemand damit aus?
Gruß Helga

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Von Tabell1 in Tabellealles archivieren
19.01.2004 16:54:06
ALM
Hallo Hega,
hier ein kleines Beispielprogramm:

Sub Sicherung()
' Variablen deklaration
Dim Zeilen As Object
Dim Leerstellen As Long
Dim Zeilenzaehler As Long
Dim Zelle_ As String
' Variablen setzen
Leerstellen = 0
Zeilenzaehler = 1
' Programm
Sheets("Tabelle1").Select
' das Tabellenbaltt "Tabelle1" aktiviert
Range("A2:Z14").Select
' hier werden die zu sichernden Zellen markiert
Selection.Copy
' hier werden die Zellen in den Zwichenspeicher kopiert
Sheets("Tabellealles").Select
' das Tabellenblatt "Tabellealles" wird aktiviert
' In dieser Schleife wird nach Leerstellen gesucht.
' Hinweis ! Nach zwei Leerstellen fügt er die Daten aus dem
' Zwischenspeicher ein.
For Each Zeilen In Worksheets("Tabellealles").Range("A1:A65536")
If Zeilen = "" Then
' Testet ob Leerstelle, wenn ja, dann wird die Variable "Leerstelle" um
' eins dazu addiert
Leerstellen = Leerstellen + 1
Else
' wenn nein, dann wird die Variable "Leerstelle" auf null gesetzt
Leerstellen = 0
End If
If Leerstellen = 2 Then
' Nach der zweiten Leerstelle wird die Schleife ( FOR - Schleife )
' abgebrochen
Exit For
End If
Zeilenzaehler = Zeilenzaehler + 1
' wird benutzt um die letzte Zellennummer zu speichern
Next Zeilen
Zelle_ = "A" + CStr(Zeilenzaehler)
' hier wird der Zellen Ort erzeugt
Range(Zelle_).Select
' markierung der herausgesuchten Zeile
ActiveSheet.Paste
' einfügen der Daten aus dem Zwischenspeicher
Sheets("Tabelle1").Select
' Aktivierung der "Tabelle1"
Application.CutCopyMode = False
' deaktivierung der "Kopier" -Markierung
Range("A2").Select
' Zelle A2 wird markiert um die Markierung aufzuheben
End Sub

Dieses musst Du in ein Modul kopieren. Dann kannst Du es aufrufen.
-> Extras->Makro->Visual Basic- Editor
dort dann
->Einfügen->Modul
dann den Text oben einfügen von

Sub Sicherung() bis End Sub

Das Makro aufrufen geht über
-> Extras->Makro->Makros->Sicherung
MFG
ALM
Anzeige
AW: Von Tabell1 in Tabellealles archivieren
19.01.2004 17:02:36
Helga
Hallo Alm,Danke erstmal das ist ja eine ganz schön lange Prodzedur.
Ich werde mal sehen ob ich das alles so hin bekomme,wenn ich dazu noch Fragen haben sollte, könnte ich nochmal nachfragen?
Vielen Dank.
Gruß Helga
AW: Von Tabell1 in Tabellealles archivieren
20.01.2004 09:03:58
ALM
Hallo Helga
Logisch kannst Du nachfragen bei Unklarheiten oden wenn Du etwas anderes Wissen möchtest.
MFG
ALM
AW: Von Tabell1 in Tabellealles archivieren
20.01.2004 13:23:18
Helga
Hallo Alm,ich habe alles so nach deine Anweisung gemacht das Makro läut ohne zu murren,
Aber in der tabellealle wird nicht eine Zeile weiter gezählt die kopierte Tabelle wird immer in Tabellealles beginnend in A1 eingetragen,obwohl die nächste beschreibbare Zeile
doch A14 wäre.
Also der Bericht vom 19.01.04 wurde korekt in A1 eingetragen
aber der von Heute also 20.01.04 auch also der hat den Bericht von gestern überschrieben.
Liegt das am Makro ?.
Gruss Helga
Anzeige
AW: Von Tabell1 in Tabellealles archivieren
20.01.2004 16:01:18
ALM
Hallo Helga,
ja der Fehler liegt im Makro! ( Sorry mein Fehler )
Fehlerquellen sind
z.B.
wenn Zellen in der Spalte „A2“ zusammengefügt worden sind, werden die Restlichen Zellen als leer gewertet.
Das Makro erkennt diesen Fehler nicht!
Ein weiteres „Fehlerfall“ ist, wenn die Zelle „A2“ leer bleibt. Das Makro sucht nach der Zweiten leeren Zelle nach dem letzten Eintrag.
Um nur einige „Fehler“ des Makros zu nennen.
Hier ein Abgeändertes Makro:

Sub Sicherung()
' Variablen deklaration
Dim Leerstellen As Long
Dim Zeilenzaehler As Long
Dim Range_z As Long
Dim Zelle_ As String
Application.ScreenUpdating = False
' verhinder das Flackern des Bildschirms beim ausführen
' Variablen setzen
Leerstellen = 0
Zeilenzaehler = 1
' Programm
Sheets("Tabelle1").Select
' das Tabellenbaltt "Tabelle1" aktiviert
Range("A2:Z14").Select
' hier werden die zu sichernden Zellen markiert
Selection.Copy
' hier werden die Zellen in den Zwichenspeicher kopiert
Sheets("Tabellealles").Select
' das Tabellenblatt "Tabellealles" wird aktiviert
' In dieser Schleife wird nach Leerstellen gesucht.
' Hinweis ! Nach zwei Leerstellen fügt er die Daten aus dem
' Zwischenspeicher ein.
For Range_z = 1 To 65536
If Cells(Range_z, 1) = "" Then
' Testet ob Leerstelle, wenn ja, dann wird die Variable "Leerstelle" um
' eins dazu addiert
Leerstellen = Leerstellen + 1
Else
' wenn nein, dann wird die Variable "Leerstelle" auf null gesetzt
Leerstellen = 0
Range_z = Range_z + 13
Zeilenzaehler = Zeilenzaehler + 13
End If
If Leerstellen = 1 Then
' Nach der zweiten Leerstelle wird die Schleife ( FOR - Schleife )
' abgebrochen
Exit For
End If
Zeilenzaehler = Zeilenzaehler + 1
' wird benutzt um die letzte Zellennummer zu speichern
Next Range_z
Zelle_ = "A" + CStr(Zeilenzaehler)
' hier wird der Zellen Ort erzeugt
Range(Zelle_).Select
' markierung der herausgesuchten Zeile
ActiveSheet.Paste
' einfügen der Daten aus dem Zwischenspeicher
Range("A2").Select
' Zelle A2 wird markiert um die Markierung aufzuheben
Sheets("Tabelle1").Select
' Aktivierung der "Tabelle1"
Application.CutCopyMode = False
' deaktivierung der "Kopier" -Markierung
Range("A2").Select
' Zelle A2 wird markiert um die Markierung aufzuheben
Application.ScreenUpdating = True
' dies muss wieder zurückgesetzt werden
End Sub


!!! HINWEIS !!! aber auch diese Makro ist nicht perfekt. Auch hier muss in der Zelle „A2“ IMMER etwas stehen. Wenn mal kein Wert eingetragen werden muss sollte ein LEERZEICHEN stattdessen eingetragen werden. Somit ist die Zelle, für des Makro, nicht mehr leer.
Wenn dieser Makel gegebenenfalls ebenso ausgerottet werden soll MELDEN!
Mit freundlichen Grüßen
ALM
P.S.:
Falls das Makro als Tastenkombination aufgerufen werden soll:
->Extras->Makro->Makros
das Makro auswählen
->Optionen...
und unter Tastenkombination ein Zeichen ( Buchstaben oder Zahl ) eingeben z.B. ‚T‘
dann kann das Makro mit der Tastenkombination mit
‚Strg‘+ ‚T‘
aufgerufen werden
Anzeige
AW: Von Tabell1 in Tabellealles archivieren
20.01.2004 18:04:16
Helga
Hallo ALM, Danke für deine Geduld,leider obwohl ich in der Zelle A2 einen Wert eingegeben habe,startet die neue Sicherung immer bei A1 und überschreibt die Vorhandene.
Gruss Helga
AW: Von Tabell1 in Tabellealles archivieren
21.01.2004 08:25:28
ALM
Hallo Helga
Leider hat das nichts mit Geduld zu tun sondern mit meiner Unfähigkeit zu tun.
Ich habe vergessen zu schreiben, dass die Tabelle "Tabellealles" bei dem neuen Programm bei "A1" beginnen muss. Darum Überschreibt es die „alten“ Werte. Um dies zu umgehen entweder die erste Zeile löschen oder die
Werte hier
...
' Variablen setzen
Leerstellen = 0
Zeilenzaehler = 1 <- auf 2 anstatt auf 1
...
neu dann so
...
' Variablen setzen
Leerstellen = 0
Zeilenzaehler = 2
...
und hier
...
For Range_z = 1 To 65536 <- mit 2 beginnen anstatt mit 1
If Cells(Range_z, 1) = "" Then
...
also so dann
...
For Range_z = 2 To 65536
If Cells(Range_z, 1) = "" Then
...
dann sollte er die ersten Werte nicht mehr Überschreiben.
MFG
ALM
Anzeige
AW: Von Tabell1 in Tabellealles archivieren
21.01.2004 12:35:23
Helga
Hallo Alm, ich habe schon Angst das ich Dich nerve,leider überschreibt er immer noch.
Gruss Helga
AW: Von Tabell1 in Tabellealles archivieren
21.01.2004 13:59:33
Helga
Hallo Alm,deine Mappe geht bei mir auch,liegt es etwa das bei mir einige Zellen verbunden sind.
Gruss Helga
AW: Von Tabell1 in Tabellealles archivieren
21.01.2004 16:25:08
ALM
Hallo Helga
bei mir auf dem Rechner funktioniert es auch mit verbundenen Zellen.
Benutze doch einfach diese Tabelle und gestalte diese nach Deinen
Bedürfnisse um.
MFG
ALM
P.S.: Worin die Fehler liegen kann man ohne Quelle schlecht sagen. Manchmal sind die Fehler auch nicht so leicht Auffindbar.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige