mikeloidl
Goto Top

Excel VB - Gewisse Daten Speichern bzw. Auslesen

Hallo Leute,

Bräuchte Eure Hilfe bei meiner Auftragsliste.
Habe mir eine Schaltfäche gemacht mit Speicher & Schließen, wo gleichzeitig die Datei in einen anderen Ordner Zwischengespeichert wird.
Mit anderen Format bzw. ohne Macros und immer Automatisch überschrieben wird ohne danach gefragt zu werden.

Sub Schaltfläche_Speicher_Schließen()
'Datei Schließen und Speichern
Application.DisplayAlerts = False
ActiveWorkbook.Save
ThisWorkbook.SaveAs Filename:="Z:\FTP\Zwischenspeicher\Auftragsliste.xlsx", FileFormat:=xlOpenXMLWorkbook
Application.DisplayAlerts = True
Application.Quit
End Sub


Möchte aber gerne das nur die Zeilen gespeichert werden wo nicht Gelöscht dabei steht, in den Zwischenspeicher.

Bz.

Nr. Auftrag Bezeichnung Sachbearbeiter Gelöscht Auslesen
11 Sepp Küche Hias Speichern
12 Kofler Vorraum Sigi Gelöscht Nicht Speichern
13 Max Vorraum Sigi Gelöscht Nicht Speichern
14 Heinz Küche Hannes Speichern
15 Fritz Küche Hias Speichern
16 Mike Vorraum Sigi Gelöscht Nicht Speichern


Habe irgendwie nichts gefunden was mir passen könnte.

Vielleicht kann mir jemand helfen.
Vielen Dank im Voraus

Mike

Content-Key: 289350

Url: https://administrator.de/contentid/289350

Printed on: April 20, 2024 at 00:04 o'clock

Member: colinardo
colinardo Nov 26, 2015 updated at 15:26:35 (UTC)
Goto Top
Hallo Mike, Willkommen auf Administrator.de!
Machst du so:
(Kommentare findest du für jede Zeile im Code)
Hier auch das DEMO-Sheet: save_filtered_to_new_wb_289350.xlsm
Sub SaveFiltered()
    'Speicherpfad  
    Const FILEPATH = "C:\test.xlsx"  
    'Dialoge und ScreenUpdating ausschalten  
    Application.DisplayAlerts = False
    Application.ScreenUpdating = False
    'Daten liegen auf dem ersten Sheet  
    With Sheets(1)
        'Alle Daten anzeigen für den Fall das ein Filter gesetzt ist  
        If .AutoFilterMode Then
            .ShowAllData
        End If
        'Daten in Spalte 5 auf leere Einträge filtern  
        .UsedRange.AutoFilter 5, "="  
        'Bereich der sichtbaren Zellen kopieren  
        .UsedRange.SpecialCells(xlCellTypeVisible).Copy
        'Neues Workbook erstellen, dort die Daten einfügen, speichern und schließen  
        With Workbooks.Add
            .Sheets(1).Range("A1").PasteSpecial xlPasteAll  
            .SaveAs FILEPATH, xlOpenXMLWorkbook
            .Close
        End With
        'AutoFilter im Quell-Sheet wieder deaktivieren  
        If .AutoFilterMode Then
            .ShowAllData
        End If
    End With
    'Dialoge Screenupdating wieder aktivieren  
    Application.DisplayAlerts = True
    Application.ScreenUpdating = True
    Application.CutCopyMode = False
    MsgBox "Datei liegt unter '" & FILEPATH & "'", vbInformation  
End Sub
Grüße Uwe
Member: MikeLoidl
MikeLoidl Nov 26, 2015 at 11:57:43 (UTC)
Goto Top
Hallo Uwe,

Danke für Deine schnelle Hilfe.

Leider Funktioniert es bei mir nicht so.
Bekommen sofort einen Laufzeitfehler bei .AutoFilterMode = False
Vielleicht liegt es auch daran das Ich einige Module habe und alles auf Button & Fenster aufgebaut habe.
Wie kann Ich Dir Bilder zukommen lassen od. was du brauchst?
Kenn mich noch nicht so ganz hier aus ;)

Gruß Mike
Member: colinardo
colinardo Nov 26, 2015 updated at 14:24:41 (UTC)
Goto Top
Zitat von @MikeLoidl:
Leider Funktioniert es bei mir nicht so.
Siehst du ja am Demo-Sheet das es geht face-wink, ich poste hier ja keine Dinge die nicht funktionieren.
Bekommen sofort einen Laufzeitfehler bei .AutoFilterMode = False
Das habe ich oben durch eine konsistentere Methode ersetzt, bei älteren Excel-Versionen gab es da vereinzelt mal Probleme.
Vielleicht liegt es auch daran das Ich einige Module habe und alles auf Button & Fenster aufgebaut habe.
Wie kann Ich Dir Bilder zukommen lassen od. was du brauchst?
Kenn mich noch nicht so ganz hier aus ;)
Du kannst mich gerne via PM kontaktieren, Anpassungen sind dann jedoch nicht mehr kostenlos.

Grüße Uwe
Mitglied: 116301
116301 Nov 26, 2015 at 14:26:10 (UTC)
Goto Top
Hallo zusammen!

Möglicherweise hat das Sheet einen Blattschutz?

Gruß Dieter
Member: MikeLoidl
MikeLoidl Nov 26, 2015 at 15:22:38 (UTC)
Goto Top
Zitat von @116301:

Hallo zusammen!

Möglicherweise hat das Sheet einen Blattschutz?

Gruß Dieter

Hallo Dieter,

Blattschutz wurde Deaktiviert, wegen Test.

Gruß Mike
Member: colinardo
colinardo Nov 26, 2015 updated at 15:56:17 (UTC)
Goto Top
Schau in deinen Breifkasten, dort findest du den Code angepasst an dein Sheet ...

p.s. Das man zumindest die offensichtlichen Dinge wie Arbeitsblattnummer(Name) anpasst hätte ich jetzt eigentlich schon erwartet face-wink
Member: MikeLoidl
MikeLoidl Nov 26, 2015 at 17:07:58 (UTC)
Goto Top
Hallo Uwe,

Besten Dank Funktioniert Super!

Was meinst Du jetzt mit Arbeitsblattnummer anpassen?
Steh grad auf da Leitung face-smile

Gruß Mike
Member: colinardo
colinardo Nov 26, 2015 updated at 18:34:17 (UTC)
Goto Top
Zitat von @MikeLoidl:
Besten Dank Funktioniert Super!
Gerne.
Was meinst Du jetzt mit Arbeitsblattnummer anpassen?
Steh grad auf da Leitung face-smile
Ich meinte damit in meinem Code den Tabellen-Index, den du nicht angepasst hattest als du den Code unangepasst in dein Sheet übernommen hast , denn dein Sheet war an Position 3 und nicht an 1, hatte ich ja eigentlich kommentiert.
Na egal, waren ja auch noch andere Kleinigkeiten anzupassen. Man kann eben die Tabellenstruktur nicht vorhersehen.

Hauptsache es läuft nun für dich.

Schönen Abend
Uwe

Den Beitrag dann bitte noch als gelöst markieren. Merci.
Member: MikeLoidl
MikeLoidl Nov 26, 2015 at 19:15:39 (UTC)
Goto Top
Zitat von @colinardo:
Ich meinte damit in meinem Code den Tabellen-Index, den du nicht angepasst hattest als du den Code unangepasst in dein Sheet übernommen hast , denn dein Sheet war an Position 3 und nicht an 1, hatte ich ja eigentlich kommentiert.
Na egal, waren ja auch noch andere Kleinigkeiten anzupassen. Man kann eben die Tabellenstruktur nicht vorhersehen.
Aso das war Testhalber weil Ich da noch was ausprobiert habe mit versteckte Zeilen und dann hab Ich es gelassen face-wink

Danke Schönen Abende Ebenfalls

Gruß Mike