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

Forumthread: Makro zum variablen Auto-Ausfüllen einer Spalte

Makro zum variablen Auto-Ausfüllen einer Spalte
08.02.2017 14:14:34
Julia
Hallo,
ich habe folgendes Problem - ich habe schon einige Zeit online nach einer Lösung gefunden, aber leider nichts Passendes gefunden:
Ich habe eine Datei, in der in einer Spalte (im Beispiel: C) eine Anlagen- und Stationsbezeichnung steht, unter der deren Inhalte aufgelistet sind. Die verschiedenen Anlagen und Stationen sind durch Leerzeilen voneinander getrennt.
Ich suche ein Makro, dass in eine weitere Spalte in jede Zeile die betreffende Stationsbezeichnung (im Beispiel: D), in eine weitere Spalte (im Beispiel: E) die Anlagenbezeichnung schreibt.
Als Kriterium, welche Bezeichnung zu verwenden ist, kann Spalte B herangezogen werden: Auf eine Anlagenbezeichnung verweist das Wort "Anlage" in Spalte B, auf eine Stationsbezeichnung das Wort "Station".

Da die Dateien teilweise 1000 Zeilen und mehr lang sind, wäre es extrem mühsam, alle Zeilen händisch ausfüllen zu müssen.
Ich hoffe, ich konnte mich verständlich ausdrücken und danke schon einmal für die Hilfe.
Userbild
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Areas
08.02.2017 14:44:42
Fennek
Hallo,
teste

Sub Main
range("D2:E20").clear
with columns("C").specialcells(2)
Anl = .cells(1)
for each a in .areas
if a.cells(1).offset(0,-1).value = "Station" then
Sta = a.cells(1).value
else
Sta = a.cells(2).value
end if
a.offset(0,1).value = Sta
a.cells(1).offset(0,1) = ""
a.offset(0,2).value = Anl
next a
end with
End Sub
mfg
Anzeige
mit Formel
08.02.2017 14:48:41
ChrisL
Hi Julia
Screen-Shots sind nervig, weil abschreiben ist doof.
Formel für D3:
=WENN(UND(B3"Anlage";C3"");WENN(B3="Station";C3;D2);"")
Formel für E3:
=WENN(C3="";"";WENN(B3="Anlage";C3;WENN(E2="";E1;E2)))
Sub t()
Dim letzteZeile As Long
With ActiveSheet
letzteZeile = .Cells(Rows.Count, 3).End(xlUp).Row
.Range("E2") = .Range("C2")
With .Range("D3:D" & letzteZeile)
.FormulaLocal = "=WENN(UND(B3""Anlage"";C3"""");WENN(B3=""Station"";C3;D2);"""")"
.Value = .Value
End With
With .Range("E3:E" & letzteZeile)
.FormulaLocal = "=WENN(C3="""";"""";WENN(B3=""Anlage"";C3;WENN(E2="""";E1;E2)))"
.Value = .Value
End With
End With
End Sub

cu
Chris
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige