Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Erst leere Zellen löschen, dann Spalten vergleiche

Erst leere Zellen löschen, dann Spalten vergleiche
24.10.2016 12:47:22
Fabi
Hallo,
ich habe folgendes Problem und möchte dieses Problem mit VBA lösen, nur habe ich Schwierigkeiten bei der Umsetzung.
Zuerst möchte ich in der Spalte A alle leeren Zellen entfernen. Bei einer "leeren" Zelle handelt es sich bei meiner Umsetzung, um eine Zelle mit dem Inhalt "".
Nachdem die leeren Zellen in Spalte A entfernt wurden, muss ich die Spalte A mit B vergleichen, um das Ziel zu erreichen, dass ich zu jeder Zeile in Spalte A den entsprechenden Text aus Spalte C bekomme.
Folgendes Beispiel habe ich hochgeladen, falls es zu Verständnisproblemen kommt.
Sheet1 - Problem
Sheet2 - "Lösung"
https://www.herber.de/bbs/user/108989.xlsx
schonmal danke im voraus,
Fabi

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Erst leere Zellen löschen, dann Spalten vergleiche
24.10.2016 13:25:14
UweD
Hallo
wenn in A die Leerzellen gelöscht werden (also die darunterliegenden noch oben rücken),
dann Spalte B gelöscht wird, dann hast du doch schon dein Wunschergebnis.
Wass meinst du hiermit? ... muss ich die Spalte A mit B vergleichen, ...
Übrigens Zellen löscht man von unten nach oben mit Step-1
LG UweD
AW: Erst leere Zellen löschen, dann Spalten vergleiche
24.10.2016 13:35:40
Fabi
also vllt ist es so verständlicher erklärt:
mein ziel ist es für die Spalte A (Ohne leere Zellen, bzw. ohne Zellen mit Inhalt "") die entsprechende Zelle aus C zuzuordnen (vorhin vergessen: Spalte C gehört zu B, also Spalte C definiert die Werte von Spalte B). demnach möchte ich letztlich wissen "welcher Buchstabe zu welcher Zelle in Spalte A gehört".
ich hoffe, dass ich die frage klären konnte...
Anzeige
AW: Erst leere Zellen löschen, dann Spalten vergleiche
24.10.2016 13:46:04
UweD
ich hoffe, dass ich die frage klären konnte...

Für mich nicht...
welcher Buchstabe zu welcher Zelle in Spalte A gehört
Dann müsste deine Zieltabelle ja so aussehen oder?

Sheet1
 ABC
111g
222c
333b
444f
555a
666d
777e
888h
999i
101010j

Das wäre Spalte B umsortiert und 11, 12, und 13 gelöscht
Das ist aber nicht die Darstellung in Sheet2

Sheet2
 AB
11a
22b
33c
44d
55e
66f
77g
88h
99i
1010j

Wie soll es denn jetzt sein?
Anzeige
AW: Erst leere Zellen löschen, dann Spalten vergleiche
24.10.2016 13:51:32
Fabi
ah hab nicht erwähnt, dass a und b diesselben daten enthält. es wird nur spalte a benötigt, dementsprechend kann Spalte b später gelöscht werden wie du es schon gemacht hast.
also prinzipiell wäre deine tabelle 1 auch völlig in ordnung...
AW: Erst leere Zellen löschen, dann Spalten vergleiche
24.10.2016 14:29:36
UweD
Sub löschen()
    Dim TB, ER As Integer, LrA As Long, LrB As Long, i As Long
    ER = 1 ' evtl. Überschrift 
    Set TB = Sheets("Sheet1")
    With TB
        LrA = .Cells(.Rows.Count, "A").End(xlUp).Row 'letzte Zeile der Spalte 
        For i = LrA To ER Step -1
            If .Cells(i, 1) = "" Then
                .Cells(i, 1).Delete xlUp
            End If
        Next
        LrA = .Cells(.Rows.Count, "A").End(xlUp).Row
        LrB = .Cells(.Rows.Count, "B").End(xlUp).Row
        .Sort.SortFields.Clear
        .Sort.SortFields.Add Key:=Range("B:B") _
            , SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        .Sort.SetRange Range("B:C")
        .Sort.Header = xlGuess
        .Sort.MatchCase = False
        .Sort.Orientation = xlTopToBottom
        .Sort.SortMethod = xlPinYin
        .Sort.Apply
        .Columns(2).Delete xlLeft
        If LrA <> LrB Then
            .Rows(LrB + 1 & ":" & LrA + 1).Delete xlUp
        End If
    End With
End Sub
LG UweD
Anzeige
AW: Erst leere Zellen löschen, dann Spalten vergleiche
24.10.2016 15:23:27
Fabi
Super vielen Dank, funktioniert einwandfrei...
Prima! Danke für die Rückmeldung.
24.10.2016 15:25:18
UweD

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige