Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabelle 1 achivieren.
#1
Guten Abend Leute......

Bin neu hier, und mit meinem Latein am Ende...... :22:
Habe schon oft nützliche Tips gefunden, doch leider nicht hier für. 

Ich habe eine Tabelle, die jeden Tag nach 0 Uhr geleert wird, und neu beschrieben wird. Das zuvor geschrieben soll über einen Button archiviert werden. 
Das funktioniert soweit auch. Sobald ich es aber neu archivieren möchte, kommt die Meldung: "Es sind bereits Daten vorhanden. Diese Überschreiben". Das sollte eben nicht passieren.
Die Liste sollte fortlaufend geführt werden. So das ich über einen Filter z.b Einträge von 6 Monaten finden könnte. 
Ich verzweifel noch.....:( 

In einer älteren Version hat das wunderbar funktioniert. Doch Leider mussten wir die Tabelle anpassen, und seit dem geht es nicht mehr. 
Habe das Forum rauf und runter durchsucht. Habe ähnliche Themen gefunden, doch leider funktionierte das nicht.
Vielleicht kann mir jemand helfen, und mir evtl. sagen, was ich Doofkopp da jetzt falsch gemacht habe..........

Danke schon mal im Voraus für eure Hilfen.

Hier ist die Datei....


Angehängte Dateien
.xlsm   Tagesberich Test Übung.xlsm (Größe: 423,48 KB / Downloads: 14)
Vielen Dank 
___________________________________________________________________
Jeder brauch mal Hilfe. Und ohne euch wäre das nicht möglich....
Antworten Top
#2
Hallo,

ich kann keinen Unterschied zwischen jetziger und vorheriger Version erkennen. Blush

Gruß Uwe
Antworten Top
#3
Guten Abend Uwe

Hier eine Datei wie es vorher aussah, und funktionierte.

Vielen Dank fürs gucken


Angehängte Dateien
.xlsm   Tagesbericht_VLD Test.xlsm (Größe: 123,84 KB / Downloads: 12)
Vielen Dank 
___________________________________________________________________
Jeder brauch mal Hilfe. Und ohne euch wäre das nicht möglich....
Antworten Top
#4
Hallo

hier mal ein verbesserter Code ohne die ganzen Select des Makrorecorders. Die Zeilen sind überflüssig!
Ob das Sortieren im Archiv notwendig ist weiss ich nicht? Deshalb zwei Makros. Ohne oder mit Sortierung ...

mfg Gast 123


Code:
'Makro OHNE Sortierung
Sub insArchiv()
' insArchiv Makro
   'LastZell +1 in Archiv ermitteln
   lz1 = Sheets("Archiv").Cells(Rows.Count, 2).End(xlUp).Row + 1
   
   Sheets("Tabelle1").Range("C7:I64").Copy
   Sheets("Archiv").Cells(lz1, 2).PasteSpecial xlPasteValues
   Application.CutCopyMode = False
   
   Sheets("Tabelle1").Range("C7:I64").ClearContents
   Range("C1").Select
End Sub


'Makro MIT Sortierung
Sub insArchiv_Sort()
' insArchiv Makro
With ActiveWorkbook.Worksheets("Archiv")
   'LastZell +1 in Archiv ermitteln
   lz1 = .Cells(Rows.Count, 2).End(xlUp).Row + 1
   
   Sheets("Tabelle1").Range("C7:I64").Copy
   .Cells(lz1, 2).PasteSpecial xlPasteValues
   Application.CutCopyMode = False
   
   lz1 = .Cells(Rows.Count, 2).End(xlUp).Row
   .Sort.SortFields.Clear
   .Sort.SortFields.Add Key:=Range("H6"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortNormal
   With .Sort
       .SetRange Range("B6:H" & lz1)
       .Header = xlNo
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
End With
End

   Range("C7:I64").ClearContents
   Range("C1").Select
End Sub
Antworten Top
#5
Guten Abend Gast 123.....:)

Danke, das werde ich Morgen auf der Arbeit direkt mal Probieren.
Lg
Vielen Dank 
___________________________________________________________________
Jeder brauch mal Hilfe. Und ohne euch wäre das nicht möglich....
Antworten Top
#6
Mahlzeit zusammen.
Hallo Gast 123.

Funktioniert mit oder ohne Sortierung auf der alten Liste super. 
Wenn ich das jetzt auf die neue Anpasse, schmeißt der ne Fehlermeldung aus, oder kopiert archiviert nur die ersten 3 Reihen.

Die verbundenen Zeilen nimmt der gar nicht mit.... :22: :22:



Sub insArchiv_Sort()

' insArchiv Makro

With ActiveWorkbook.Worksheets("Archiv")
    
   'LastZell +1 in Archiv ermitteln
   lz1 = .Cells(Rows.Count, 6).End(xlUp).Row + 1
   
   Sheets("Tagesbericht").Range("C7:AN606").Copy
   .Cells(lz1, 6).PasteSpecial xlPasteValues
   Application.CutCopyMode = False
   
   lz1 = .Cells(Rows.Count, 6).End(xlUp).Row
   .Sort.SortFields.Clear
   .Sort.SortFields.Add Key:=Range("AN6"), SortOn:=xlSortOnValues, _
     Order:=xlAscending, DataOption:=xlSortNormal
   With .Sort
       .SetRange Range("B6:AN" & lz1)
       .Header = xlNo
       .MatchCase = False
       .Orientation = xlTopToBottom
       .SortMethod = xlPinYin
       .Apply
   End With
End With
End

   Range("C7:AN606").ClearContents
   Range("C1").Select
End Sub


Angehängte Dateien
.xlsm   Tagesberich Test 1 Dialog.xlsm (Größe: 198,11 KB / Downloads: 10)
Vielen Dank 
___________________________________________________________________
Jeder brauch mal Hilfe. Und ohne euch wäre das nicht möglich....
Antworten Top
#7
(25.12.2019, 19:30)Digger5000 schrieb: Ich habe eine Tabelle, die jeden Tag nach 0 Uhr geleert wird, und neu beschrieben wird. Das zuvor geschrieben soll über einen Button archiviert werden. 

Moin!
Wenn Du eine exakt dafür vorgesehene Vorlagendatei mit der Endung .xltx nimmst,
und jeden Tag eine neue Datei auf Basis dieser Vorlage erstellst,
und sie sofort unter einem Namen (incl. Datum?) abspeicherst,
dann ersparst Du Dir das überflüssige VBA!

Lesefutter:
https://support.office.com/de-de/article...8baec39e1e

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#8
Hallo Ralf.

Ja das würde auch funktionieren. Jedoch habe ich dann nach 1 Jahr 365 Dateien. 
Die Tabelle dient zur Dokumentation im 24 Std. Betrieb. Sobald es nach 0 Uhr ist wird sie kopiert, deswegen auch der Button Markierung, über Copy Paste in eine Mail Vorlage kopiert und versendet. 
Danach soll dann alles archiviert werden, und geleert damit die für den Folge Tage wieder zu verwendet ist.

So habe ich die Möglichkeit rückwirkende Sachen über die Filterfunktion schnell noch mal zu finden. Deswegen der Aufwand mit dem VBA Projekt. 
in der Alten Liste hat das auch super funktioniert. Doch musste die Liste ein wenig angepasste werden. Und nun bin ich nur bei der Archivierung mit dem Latein am Ende   Confused Confused

Lg Andreas
Vielen Dank 
___________________________________________________________________
Jeder brauch mal Hilfe. Und ohne euch wäre das nicht möglich....
Antworten Top
#9
Hallo,
Erstelle mal eine Tabelle ohne verbundene Zellen ... Vielleicht klappt dann dein Code. Verbundene Zellen sind Mist.

Gruß
Marcus

Wissen ist Macht - es ist aber nicht schlimm nicht alles zu wissen.
Man muss nicht alles wissen - man muss nur wissen wo es steht, oder wo man Hilfe bekommt.
Antworten Top
#10
(26.12.2019, 15:06)marose67 schrieb: Hallo,
Erstelle mal eine Tabelle ohne verbundene Zellen ... Vielleicht klappt dann dein Code. Verbundene Zellen sind Mist.

Gruß
Marcus

Hallo Marcus.

Das ist meine Befürchtung. Wenn du dir Oben die alte Liste ansiehst, die Funktioniert einwandfrei. 

Lg Andreas
Vielen Dank 
___________________________________________________________________
Jeder brauch mal Hilfe. Und ohne euch wäre das nicht möglich....
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste