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 reinigen
#1
Guten Tag zusammen,

ich suche ein Makro, welches mir die aktuelle Tabelle bereinigt. Bereinigt meint in diesem Zusammenhang, dass alle Daten welche nicht sichtbar sind gelöscht werden. Die Tabelle ist hierbei immer unterschiedlich lang, die Spalten bleiben. Beispielsweise wie in der Datei: Berlin wird als Ort raus gefiltert, nun möchte ich auf den Button klicken und in der Tabelle ist der Datensatz von "Peter" nicht mehr finden.




danke  Blush


Angehängte Dateien
.xlsx   CF_Forum.xlsx (Größe: 11,28 KB / Downloads: 10)
Antworten Top
#2
Hallöchen,

Zitat:dass alle Daten welche nicht sichtbar sind gelöscht werden

drehe die Bedingung mal so um, dass die sichtbaren unsichtbar werden und die unsichtbaren sichtbar. Dann löschst Du die sichtbaren. Den Code zum Löschen kannst Du aufzeichnen bzw. Du nimmst die SpecialCells - xlCellTypeVisible
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
[-] Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:
  • elamigo
Antworten Top
#3
Hallo amigo
So ein Makro könnte lauten:
Code:
Sub Makro1()
    asn = ActiveSheet.Name
    Sheets.Add
    ActiveSheet.Name = "azbycx"
    Sheets(asn).Select
    Cells.Copy
    Sheets("azbycx").Select
    Range("A1").Select
    ActiveSheet.Paste
    Range("A1").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
   
    Sheets(asn).Select
    ActiveSheet.Shapes.Range(Array("Button 1")).Select
    Selection.Copy
    Sheets("azbycx").Select
    Range("F1").Select
    ActiveSheet.Paste
    Range("A1").Select
   
    Application.DisplayAlerts = False
    Sheets("Tabelle1").Delete
    Application.DisplayAlerts = True
    Sheets("azbycx").Name = "Tabelle1"
End Sub

Das Makro kopiert Deine aktive Tabelle (ohne die nicht-sichtbaren Zeilen) und den Button in eine neue Tabelle.
Die "alte" Tabelle wird gelöscht und die neue erhält den Namen der alten.

Es empfiehlt sich, vor dem Testen eine Kopie der Original-Datei zu machen!

Es gibt sicher eine viel elegantere Variante für ein solches Makro. Ich hoffe, mein Makro hilft Dir fürs erste.
Grüsse Niclaus
[-] Folgende(r) 1 Nutzer sagt Danke an Niclaus für diesen Beitrag:
  • elamigo
Antworten Top
#4
Hallo

eleganter ist es nur die Zeilen zu löschen und nicht eine neue Tabelle erstellen. 
Man beachte bitte das hier unbedingt erforderliche Rückwaerts löschen mit Step -1 !!  Sonst stimmt der Zeilenzahler nicht!!

mfg Gast 123

Code:
Sub Makro1_löschen()
Dim j As Long, lz1 As Long
  'LastZell in Spalte A suchen
  lz1 = Cells(Rows.Count, 1).End(xlUp).Row
  'unsichbare Zeilen Rückwaerts löschen
  For j = lz1 To 2 Step -1
     If Rows(j).EntireRow.Hidden = True Then
        Rows(j).Delete shift:=xlUp
     End If
  Next j
End Sub

Hinwes:   Mein Makro prüft NICHT ob das was du da löschst auch richtig ist?? Sonst müsste man diese Namen vorher per MsgBox anzeigen!
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • elamigo
Antworten Top
#5
Das hätte leider nicht geklappt, weil es Referenzen auf das Tabellenblatt gibt, daher darf nur neu gespeichert oder umbenannt werden, zudem sind die Tabellenblattnamen immer anders...ansonsten danke für deine Idee! Kann den Code glaub ich tatsächlich für etwas anderes nutzen  19

here go, exakt was ich brauche, danke! Ausgabe was gelöscht wird ist nicht wichtig. danke!
Antworten Top
#6
Hallöchen,
Sprich mal die Antworter an damit man weiß wen Du meinst..
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top
#7
(24.02.2021, 13:27)schauan schrieb: Hallöchen,
Sprich mal die Antworter an damit man weiß wen Du meinst..

wer ist Hallöchen? 17

Gruß Uwe
Antworten Top
#8
ah dachte ich zitiere sorry, erste war für Nicolaus und das 2. auf gast123 bezogen.
[-] Folgende(r) 1 Nutzer sagt Danke an elamigo für diesen Beitrag:
  • Gast 123
Antworten Top


Gehe zu:


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