Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1828to1832
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

Spalten löschen abhängig nach Zellinhalt

Spalten löschen abhängig nach Zellinhalt
01.05.2021 11:39:33
Dino
Guten Morgen alle zusammen,
ich möchte im aktivem Arbeitsblatt von oben aus gesehen nach ersten Zellinhalt "KGR" suchen.
Danach soll in der gefundener Zeile die Spalten gelöscht werden, die nicht diesen Zellinhalten entsprechen:
organizationalPerson.title
person.cn
person.sn
person.telephoneNumber
distinguishedName
organizationalPerson.l
Wie mache ich das bitte per VBA?
Beste Grüße,
Dino

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Spalten löschen abhängig nach Zellinhalt
01.05.2021 12:32:44
Werner
Hallo,
z.B. indem du den roten Hinweistext, der dir beim Anlegen des Beitrages angezeigt wird, beherzigst und eine Beispielmappe hier hoch lädst.
Deine Beschreibung ist unzulänglich.
-Wo soll gesucht werden?
-In einer bestimmten Spalte? Wenn ja welche?
-Was steht exact in den Zellen der Fundzeile, um das Löschen oder nicht Löschen der jeweiligen Spalte fest zu machen?
-soll dann tatsächlich die gesamte Spalte gelöscht werden?
Also bitte eine Beispielmappe. Am besten noch an einem konkreten Beispiel zeigen, wie das Ergebnis dann aussehen soll.
Gruß Werner
AW: Spalten löschen abhängig nach Zellinhalt
01.05.2021 14:23:11
Dino
Hallo Werner,
aktuell suche in Spalte A nach Zellinhalt "KGR". Ich habe weitere Dateien, wo der Zellinhalt nicht in Spalte A steht.
Unten im Code habe ich versucht die Spalten endgültig zu löschen, sofern diese nicht bestimmten Zellinhalt haben.

Sub Spalten_Loeschen()
'Suchen in Spalte A nach Zellinhalt "KGR"
Dim sTxt As Object
With ActiveSheet.Columns(1)
Set sTxt = .Find("KGR", LookIn:=xlValues)
End With
'Hiermit habe ich versucht die Spalten endgültig zu löschen
For Each cell In Range(Cells(1, sTxt.Row), Cells(sTxt.Row, 256).End(xlToLeft).Column, sTxt.Row)
If cell.Value  "KGR" Or cell.Value  "organizationalPerson.title" Or cell.Value  "person.cn" Or cell.Value  "person.telephoneNumber" Or cell.Value  "distinguishedName" Or cell.Value  "organizationalPerson.l" Then cell.EntireColumn.Delete
Next
End Sub
Beste Grüße,
Dino
Anzeige
AW: Spalten löschen abhängig nach Zellinhalt
01.05.2021 15:26:22
hary
Moin
Ersetz mal die or durch and
gruss hary
AW: Spalten löschen abhängig nach Zellinhalt
01.05.2021 16:27:55
Dino
Hallo Hary,
ich bekomme Fehlermeldung (Fehler beim Kompilieren: Falscher Anzahl an Argumenten oder ungültige Zuweisung zu einer Eigenschaft) in dieser Zeile:
For Each cell In Range(Cells(1, sTxt.Row), Cells(sTxt.Row, 256).End(xlToLeft).Column, sTxt.Row)
Ich habe testweise die Zeile mit fixen Zellenbereich For Each cell In Range("A6:AZ6") eingetragen, um das Ganze überhaupt zu testen. Ich habe Or durch And ersetzt. Die Spalten wurden gelöscht aber nicht alle.
Ich müsste das Makro mehrfach ausführen, um nicht benötigten Spalten endgültig zu löschen. Da scheint bei mir noch etwas nicht zu stimmen. :-)
Beste Grüße,
Dino
Anzeige
AW: Spalten löschen abhängig nach Zellinhalt
01.05.2021 16:40:55
Hajo_Zi
die Variable sTxt ist nicht fesgelegt und nicht als Range Definiert.
Zu Deiner Datei kann ich nichts schreiben, was wohl daran liegt das ich nicht auf fremde Rechner schaue.Ich baue keine Datei nach.
Sollte die Datei verlinkt werden?
Wenn du an Stelle einer Demomappe deine Originalmappe hochladen willst, diese aber sensible Daten enthält, kannst du diese Daten
http://www.ms-office-forum.de/forum/showthread.php?t=322895
ändern.
Bilder lade ich mir nicht runter, da Excel damit nichts anfangen kann.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
http://www.excel-ist-sexy.de/bilder-statt-datei/
Hochgeladene Bilder können zwar als solche in Excel importiert werden, sind jedoch bei der Lösung von Problemen nicht sehr hilfreich, da man die eigentlichen Daten nicht ohne große und zeitraubende Umwege direkt in die Tabelle übertragen kann.
Das ist nur meine Meinung zu dem Thema.
GrußformelHomepage
Anzeige
AW: Spalten löschen abhängig nach Zellinhalt
01.05.2021 16:22:22
GerdL
Hallo Dino,
deine Beschreibung ist nicht eindeutig. Probier mal.

Sub Spalten_loeschen()
Dim Zelle As Range, Spalte As Long
Set Zelle = ActiveSheet.Find("KGR", LookIn:=xlValues, lookat:=xlWhole, MatchCase:=True)
If Not Zelle Is Nothing Then
For Spalte = ActiveSheet.Cells(Zelle.Row, Columns.Count).End(xlToLeft).Column To 1 Step -1
Select Case ActiveSheet.Cells(Zelle.Row, Spalte)
Case "KGR", "organizationalPerson.title", "person.cn", "person.telephoneNumber", "organizationalPerson.l"
'mach nix
Case Else
ActiveSheet.Columns(Spalte).Delete
End Select
Next
End If
End Sub
Gruß Gerd
Anzeige
AW: Spalten löschen abhängig nach Zellinhalt
01.05.2021 16:40:47
Dino
Hallo Gerd,
ich habe es getestet. In dieser Zeile Set Zelle = ActiveSheet.Find("KGR", LookIn:=xlValues, lookat:=xlWhole, MatchCase:=True) bekomme ich diese Meldung: Laufzeitfehler "438": Objekt unterstützt diese Eigenschaft oder Methode nicht.
Gruß Dino
AW: Spalten löschen abhängig nach Zellinhalt
01.05.2021 16:49:42
hary
Moin
Da ist gerd ein Cells abhanden gekommen.

Set Zelle = ActiveSheet.Cells.Find("KGR", LookIn:=xlValues, lookat:=xlWhole, MatchCase:=True)
gruss hary
AW: Spalten löschen abhängig nach Zellinhalt
01.05.2021 17:55:02
Dino
Besten Dank Gerd und Hary!
Gruß Dino

64 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige