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

Namenvergabe bedingt

Forumthread: Namenvergabe bedingt

Namenvergabe bedingt
Harald
Hallo Excellfreaks
hab im ganzen Forum schon nach einer Lösung gefunden und leider noch nichts gefunden.
Problem:
Spalte A: Eintrag eines Namen
Spalte B: Eintrag x oder y
nun will ich erreichen das in einer Gültigkeitsabfrage nur mehr Namen gelistet werden die in Spalte B mit einem X gekennzeichnet sind angezeigt werden.
wäre nett wenn sich jemand diesem Problem annimmt
Danke im voraus
Harald
Anzeige

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

Betreff
Benutzer
Anzeige
AW: Namenvergabe bedingt
13.01.2010 12:51:37
ingoG
Hallo Harald,
was hälst Du von einer Hilfsspalte auf die Du die Gültigkeit referenzierst.
in dieser Hilfsspalte kannst Du per Formel nur die Namen eintragen, die ein x in Spalte B haben...
Ich hoffe, das reicht Dir als ansatz.
Gruß Ingo
PS eine Rückmeldung wäre nett...
AW: Namenvergabe bedingt
13.01.2010 12:54:52
Harald
an Hilfszeile hab ich auch schon gedacht und ausprobiert.
jdoch werden hier auch alle Leerzeilen übernommen und im der Gültigkeitsauswahl sind dies auch ausgeführt(Namen werden nicht lückenlos angezeigt).
Anzeige
AW: Namenvergabe bedingt
13.01.2010 13:48:16
ingoG
Hallo Harald,
wenn Du mit Leerzeilen am ende leben kannst, geht folgende MatrixFormel:
in Spalte A1:a1000 stehen die Namen
in B1:b1000 die x,Y
dann trägst du zB in c1 folgende Formel ein:
=WENN(ZÄHLENWENN(B:B;"x")<ZEILE();"";INDEX(A:A;MIN(WENN(ZÄHLENWENN(INDIREKT("B1:B"&ZEILE($1:$1000) );"X")=ZEILE();ZEILE($1:$1000);99999))))
(Matrixformel, Eingabe abschließen mit Strg-Shift-Enter)
und kopierst sie nach unten.
Deine Gültigkeitsliste referenzierst Du dann auf ZB c1:c100
Gruß Ingo
PS eine Rückmeldung wäre nett...
Anzeige
@ingoG
13.01.2010 15:41:33
Björn
Hallo Ingo,
siehe mal meine Antwort von 13:42, das ist noch etwas kürzer.
Außerdem war ich etwas schneller ;-) (Spaß)
Gruß
Björn B.
AW: Namenvergabe bedingt
13.01.2010 12:54:57
welga
Hallo Harald S,
in Excel mit Formel:
=wenn(B1="x";A1;"")
mit VBA:
Sub test()
Dim i As Long
Dim ii As Long
ii = 0
For i = 1 To Cells(1, 1).End(xlDown).Row
If Cells(i, 2) = "x" Then
ii = ii + 1
Cells(ii, 4) = Cells(i, 1)
End If
Next i
End Sub
Gruß
welga
Anzeige
AW: Namenvergabe bedingt
13.01.2010 13:24:39
welga
Hallo nochmals,
markiere Spalte "A" und vergebe einen Gültigkeitsbereich als Liste "=$D:$D".
Dann schreibe das Makro in das entsprechende Tabellenblatt:
Private Sub worksheet_change(ByVal target As Range)
Dim i As Long
Dim ii As Long
Dim a As Long
If Not Intersect(Range(Cells(1, 2), Cells(Cells(1, 2).End(xlDown).Row, 2)), target) Is Nothing  _
Then
Application.ScreenUpdating = False
Range(Cells(1, 4), Cells(Cells(1, 4).End(xlDown).Row, 4)).Select
Selection.ClearContents
ii = 1
For i = 1 To Cells(1, 1).End(xlDown).Row
If Cells(i, 2) = "x" Then
ii = ii + 1
Cells(ii, 4) = Cells(i, 1)
End If
Next i
If Cells(2, 4)  "" Then
Cells(1, 4).Select
Selection.AutoFilter
Range(Cells(2, 4), Cells(Cells(1, 4).End(xlDown).Row, 4)).Sort Key1:=Range("D2"), Order1:= _
xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Selection.AutoFilter
Selection.Delete shift:=xlUp
For a = Cells(1, 4).End(xlDown).Row To 2 Step -1
If Cells(a, 4) = Cells(a - 1, 4) Then
Cells(a, 4).Select
Selection.Delete shift:=xlUp
End If
Next a
End If
Application.ScreenUpdating = True
End If
End Sub

Anzeige
mit einem Autofilter....
13.01.2010 13:10:25
Björn
Hallo,
... mit einem Autofilter auf Spalte B, dann als Eintrag "x" und schon werden alle anderen ausgeblendet.
Das Ergebnis kannst du kopieren und "Inhalte einfügen - nur Werte", dann werden die ausgeblendeten nicht mitkopiert.
Gruß
Björn B.
ganz einfach..
13.01.2010 13:42:38
Björn
Hallo,
hab noch mal ne neue Idee.
Über eine Hilfsspalte, z.B. Spalte C.
Die Formel funktioniert bis Zeile 1000, das kannst du aber anpassen.
=INDEX(A:A;KKLEINSTE(WENN(B$1:B$1000="x";ZEILE($1:$1000));ZEILE(A1)))
Diese Formel muss als Matrix-Formel eingegeben werden.
Also nicht mit Enter bestätigen, sondern mit Strg+Shift+Enter, danach sollten geschweifte Klammern um die Formel sein. {}
Diese Formel dann in Spalte C nach unten kopieren.
Einfach mal testen, wenn in B ein X steht, dann wird der Name aus A in C angezeigt.
Gruß
Björn B.
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