Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1536to1540
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

Wenn Inhalt

Wenn Inhalt
03.02.2017 11:20:51
Henry
Moin,
ich habe leider eine Ausgabe in der alle Daten in einer Spalte sind und muss diese trennen (30000 Zeilen).
Mall und Meno sollen in Spalte A und daneben Meyer1234567 etc soll dann in Spalte B
Das ist auch immer so, dass der Wert für Spalte A immer der obere ist.
Wenn Zelle B1 ?####### dann nächster oben stehender Wert
der nicht wie ?####### ist in Spalte A daneben...
Mall
Meye1234567
Meye1234566
Meye1234577
Meno
Schu1234567
Schu1234577
Schu1234588
Beispieldatei: https://www.herber.de/bbs/user/111136.xlsb
Geht das per VBA kann jemand helfen ?
Gruss
Henry

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Wenn Inhalt
03.02.2017 11:52:26
ransi
Hallo Henry,
Wie soll Excel denn erkennen ob der Wert nun ein neuer eintrag in Spalte A ist oder ob das ein ganz normaler Wertfür Spalte B ist?
ransi
AW: Wenn Inhalt
03.02.2017 12:12:27
Henry
Hallo Ransi,
mit VBA müsste es doch gehen ?
AW: Wenn Inhalt
03.02.2017 12:14:20
ransi
Hallo,
Sicher geht das.
Aber man braucht eine Unterscheidungsmerkmal was in Spalte A und was in Spalte B gehört.
Oder hast du nur die 2 Begriffe für die Spalte A?
ransi
AW: Wenn Inhalt
03.02.2017 12:21:49
Henry
Hallo Ransi,
der Wert Spalte B hat immer das Format 4 Buchstaben + 7 Zahlen
Der Wert für Spalte A ist immer der nächste obere Wert der nicht dieses Format hat.
Gruss
Henry
AW: Wenn Inhalt
03.02.2017 13:09:25
ransi
Hallo Henry,
Teste mal an einer Kopie deiner Daten:
Option Explicit
Option Compare Text

Sub machs()
    Dim arrIn As Variant
    Dim arrOut As Variant
    Dim L As Long
    Dim K As Long
    Dim SpalteA As String
    Dim Muster As String
    Muster = "[A-ZÄÖÜ][A-ZÄÖÜ][A-ZÄÖÜ][A-ZÄÖÜ]#######"
    arrIn = Range("A1:A" & Range("A" & Rows.Count).End(xlUp).Row).Value
    Redim arrOut(1 To UBound(arrIn), 1 To 2)
    For L = 1 To UBound(arrIn)
        K = K + 1
        If arrIn(L, 1) Like Muster Then
            arrOut(K, 1) = SpalteA
            arrOut(K, 2) = arrIn(L, 1)
            Else:
            SpalteA = arrIn(L, 1)
            arrOut(K, 1) = SpalteA
            arrOut(K, 2) = arrIn(L + 1, 1)
            L = L + 1
        End If
    Next
    Range("B1").Resize(UBound(arrOut), 2) = arrOut
End Sub



ransi
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige