Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Bedingung prüfen und Spalte löschen

Betrifft: Bedingung prüfen und Spalte löschen von: Torsten
Geschrieben am: 27.10.2020 17:12:21

Hallo zusammen,

ich habe eine große Anzahl an Bezeichnungen in der ersten Zeil in Sheet 1 und eine kleinere Anzahl an Bezeichnungen in Sheet 2.
Ich möchte nun die Bezeichnungen in Sheet 1 mit Sheet 2 vergleichen und die Spalten in Sheet 1 löschen, welche in Sheet 2 nicht vorhanden sind.

Ich habe es mit folgendem Code probiert, aber er löscht Spalten bzw. lässt welche stehen, die ich nicht nachvollziehen kann.

Sub bereinigen()

Dim i As Long
Dim j As Long
Dim Spalte_L As Long
Dim Spalte_M As Long
Dim wksDiagramm As Worksheet
Dim wksDaten As Worksheet


Set wksDiagramm = Worksheets("Diagramm")
Set wksDaten = Worksheets("Daten")
Spalte_L = wksDiagramm.Cells(1, Columns.Count).End(xlToLeft).Column
Spalte_M = wksDaten.Cells(1, Columns.Count).End(xlToLeft).Column

For i = Spalte_L To 1 Step -1

    For j = Spalte_M To 1 Step -1
      If wksDiagramm.Cells(1, j) = wksDaten.Cells(1, i) Then
      i = i - 1
      GoTo weiter
      End If

    Next
        
        wksDiagramm.Columns(i).Delete

weiter:

Next
MsgBox Spalte_L & " & " & Spalte_M



End Sub
Zudem möchte ich die Zeilen löschen, welche nach dem löschen der Spalten keine Werte mehr enthalten. Datum, Zeit und Dauer sind dabei weiterhin vorhanden, also die Zellen würden erst ab Spalte D leer sein. Grundgerüst war hier erstmal folgendes, weiß aber nicht, wie ich es anpassen müsste.
Sub LeereZeilenEntfernen()
Dim Zeile As Long
Dim ZeileMax As Long

With Tabelle1
ZeileMax = .UsedRange.Rows.Count

For Zeile = ZeileMax To 1 Step -1

If .Cells(Zeile, 1).Value = "" Then

.Rows(Zeile).Delete

End If
Next Zeile
End With
End Sub
Habt ihr Ideen, was an den Codes geändert werden müsste oder gibt es noch effizientere Lösungen?

Viele Grüße
Torsten

https://www.herber.de/bbs/user/141132.xlsm

Betrifft: AW: Bedingung prüfen und Spalte löschen
von: Herbert_Grom
Geschrieben am: 27.10.2020 18:24:21

Hallo Torsten,

das mit den Spalten habe ich so weit erledigt. Doch das mit den Zeilen musst du mir noch mal erklären, denn die Spalten "aa - bg" habe alle keine Werte. Mach mir doch mal eine Beispiel-AM mit Werten in den Spalten.

Servus

Betrifft: AW: Bedingung prüfen und Spalte löschen
von: Torsten
Geschrieben am: 28.10.2020 08:58:53

Hallo Herbert,

entschuldige die späte Antwort und vielen Dank erstmal für die Unterstützung. Bei der neuen Datei habe ich die Daten eingebracht, wie die dann später aussehen könnten. In der Datei wird dies hoffentlich jetzt besser verständlich
Es werden dann jedoch deutlich mehr sein.
Spalten bis 500 und Zeilen größer 14.000

Viele Grüße
Torsten

https://www.herber.de/bbs/user/141137.xlsm

Betrifft: AW: Bedingung prüfen und Spalte löschen
von: Herbert_Grom
Geschrieben am: 28.10.2020 12:24:09

Hallo Torsten,

habe ich das richtig verstanden, dass alle Zeilen gelöscht werden sollen, die ab der Spalte D keine Werte mehr haben, auch wenn in den Spalten A-C Datum, Uhrzeit und Millisecond etwas drin steht?

Servus

Betrifft: AW: Bedingung prüfen und Spalte löschen
von: Torsten
Geschrieben am: 28.10.2020 12:55:43

Hallo Herbert,

das hast du richtig verstanden. Bei den späteren Daten werden Spalten bei sein, welche jede Sekunde einen Wert aufnehmen und andere, welche nur minütlich Werte erhalten und schreiben. Dabei würden dann mehrere hundert Zeilen leer sein, wenn ich nur die minütlichen Daten auswerte. Das ist die Intension dahinter.

Viele Grüße
Torsten

Betrifft: AW: Bedingung prüfen und Spalte löschen
von: Herbert_Grom
Geschrieben am: 28.10.2020 17:47:15

Hallo Torsten,

wenn ich dein Beispiel bearbeite, dann bleibt das übrig:



Ist das korrekt?

Servus

Betrifft: AW: Bedingung prüfen und Spalte löschen
von: Torsten
Geschrieben am: 29.10.2020 08:47:49

Hallo Herbert,

so sieht das genau richtig aus!
Wie hast du den Code geändert? ;-)

Viele Grüße
Torsten

Betrifft: AW: Bedingung prüfen und Spalte löschen
von: Herbert_Grom
Geschrieben am: 29.10.2020 09:30:14

Hallo Torsten,

schau mal:

https://www.herber.de/bbs/user/141161.xlsm

Servus

Betrifft: AW: Bedingung prüfen und Spalte löschen
von: Torsten
Geschrieben am: 29.10.2020 14:04:46

Hallo Herbert,

Vielen Dank! Funktioniert :-)

Viele Grüße
Torsten

Betrifft: AW: Prima! Danke für die Rückmeldung! owt
von: Herbert_Grom
Geschrieben am: 29.10.2020 14:49:18

,,,

Beiträge aus dem Excel-Forum zum Thema "Bedingung prüfen und Spalte löschen"