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

Liste umbauen

Liste umbauen
12.08.2019 09:09:18
Tim
Hallo zusammen,
habe hier eine Liste, die ich im Rohformat zusammengestellt habe. Die Daten liegen in Spalte A vor, geordnet nach Land und darunter Orte. Diese beginnen mit Deutsche Botschaft oder Deutsches Generalkonsulat. Zuerst wird das Land genannt und dann die Orte.
In Spalte B müssten die Länder den Orten zugeordnet werden. Habe schon versucht mit Makroaufzeichnung damit ich einen VBA Code habe, jedoch keinen Erfolg.
Vielen Dank.
Tim
Datei: https://www.herber.de/bbs/user/131387.xlsx

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: eine kleine Formel würrde es auch tun ...
12.08.2019 09:51:49
neopa
Hallo Tim.
... in B1: =WENN(LINKS(A1;3)"Deu";"";VERWEIS(9;1/(LINKS(A$1:A1;3)"Deu");A:A))
und nach unten kopieren.
Gruß Werner
.. , - ...
AW: eine kleine Formel würrde es auch tun ...
13.08.2019 09:07:34
Tim
Hallo Werner,
hatte mit Deiner Formel Probleme. Ich schaue mir das nochmal an woran es lag.
Danke für Deine Lösung.
AW: Liste umbauen
12.08.2019 09:52:46
fcs
Hallo Tim,
hier ein entsprechendes Makro:

Sub Laender_Zuordnen()
Dim Zeile As Long
Dim sLand As String
Dim wks As Worksheet
Set wks = ActiveSheet
With wks
For Zeile = 1 To .Cells(.Rows.Count, 1).End(xlUp).Row
If Left(.Cells(Zeile, 1), 8) = "Deutsche" Then
.Cells(Zeile, 2) = sLand
Else
sLand = .Cells(Zeile, 1).Text
'               .Cells(Zeile, 2) = sLand   '? ggf. Zeile aktiv machen
End If
Next
End With
End Sub
Lösung per Formel:
B1: =WENN(A1=C1;"";C1)
C1: =A1
C2: =WENN(A2="";"";WENN(LINKS(A2;8)="Deutsche";C1;A2))

Die Formeln in B1 und C2 nach unten kopieren bis zum Ende der Liste. Danach dann die Zellen mit Formeln kopieren und durch Werte ersetzen. Dann spalte C löschen.
LG
Franz
Anzeige
AW: Liste umbauen
13.08.2019 09:13:39
Tim
Hallo Franz,
VBA hat perfekt auf Anhieb funktioniert.
Was ich momentan noch nicht ganz nachvollziehen kann ist, weshalb sLand erst bei der else Bedingung genommen wird.
Danke!
Tim
AW: Liste umbauen
13.08.2019 10:41:32
fcs
Hallo Tim,
das Makro arbeitet in jeder Datenzeile nach folgendedem Schema:
1. Prüfe ob der Text in Spalte A mit "Detsche" beginnt.
2. Wenn ja, dann trage den Inhalt der Variablen sLand in Spalte B ein.
3. Wenn nein, merke den Text in Spalte A (=Ländername) in der Variablen sLand
D.h., immer wenn "Deutsche" nicht am Anfang des Textes in A steht also ein anderes Land eingetragen ist wird diese in der Variablen sLand zwischengespeichert und in den nachfolgenden Zeilen in Spalte B eingetragen, bis ein neues Land beginnt.
LG
Franz
Anzeige
Danke, jetzt vsrständlich! Tim *kwt*
13.08.2019 15:55:05
Tim
Danke für die Erklärung!
Danke, jetzt vsrständlich! Tim *kwt*
13.08.2019 15:55:07
Tim
Danke für die Erklärung!
AW: Liste umbauen
12.08.2019 10:07:51
Kulo
So?
=WENN(LINKS(A1;19)="Deutsche Botschaft ";WECHSELN(A1;"Deutsche Botschaft ";"");WENN(LINKS(A1;26) ="Deutsches Generalkonsulat ";WECHSELN(A1;"Deutsches Generalkonsulat ";"");WENN(LINKS(A1;25) ="Deutsche Vertretungen in ";WECHSELN(A1;"Deutsche Vertretungen in ";"");WENN(LINKS(A1;19) ="Deutsches Konsulat ";WECHSELN(A1;"Deutsches Konsulat ";"");A1))))
Viele Grüße
Kulo

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige