Hallo Zusammen,
ich habe ein Problem und komme nicht weiter. Ich hoffe nun das Hier jemand Rat hat und wie ich es umsetzen kann.
Meine Exel-Datei benötigt viel Dropdowns und so wie es jetzt ist würde es enom ausarten.
Es gibt 20 Regale mit je 8 Artikel die hinterlegt werden sollen. Das würden 160 Dropdownlisten entsprechen.
Dazu habe ich eine Liste mit Artikel angelegt und weitere Dropdowns.
Hier mein Formel:
In $B$2 ist ein Dropdown mit Filter. Hier würde ich gerne die aktive Zelle ansprechen.
Anbei habe ich mal die Mappe-Test angehängt.
Ich habe eine andere Herrangehensweise mittels VBA versucht, allerdings bekomme ich da ein Fehler.
Diese Zeile macht mir zu schaffen:
Ändere ich die Range auf H3:H10 bekomme ich ein Laufzeiten-Fehler.
Anbei habe ich mal die Mappe-Test-2 angehängt.
Weiß wer Rat.
Nachtrag: Diesen Forum habe ich auch eine Anfrage gestellt.
http://www.office-hilfe.com/support/show...ten-Fehler
und
http://www.office-hilfe.com/support/show...tive-Zelle
ich habe ein Problem und komme nicht weiter. Ich hoffe nun das Hier jemand Rat hat und wie ich es umsetzen kann.
Meine Exel-Datei benötigt viel Dropdowns und so wie es jetzt ist würde es enom ausarten.
Es gibt 20 Regale mit je 8 Artikel die hinterlegt werden sollen. Das würden 160 Dropdownlisten entsprechen.
Dazu habe ich eine Liste mit Artikel angelegt und weitere Dropdowns.
Hier mein Formel:
Code:
=WENNFEHLER(INDEX([Namen];AGGREGAT(15;6;(ZEILE([Namen])-1)/(--SUCHEN($B$2;[Namen])>0);ZEILE()-1);1);"")
Anbei habe ich mal die Mappe-Test angehängt.
Ich habe eine andere Herrangehensweise mittels VBA versucht, allerdings bekomme ich da ein Fehler.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
'** Prüfen, ob der Wert in Zelle H2 geändert wurde
If Not Application.Intersect(Target, Range("H3:H10")) Is Nothing Then
'** Screenupdating und Berechnung deaktivieren
With Application
.ScreenUpdating = False
.Calculation = xlCalculationManual
End With
'** Dimensinionierung der Variablen
Dim wsDat
Dim lngZeile As Long
Dim lngPos As Long
'** Vorgaben definieren
Set wsDat = ThisWorkbook.Sheets(1)
lngZeile = 2 '** Startzeile für Ausgabe in Spalte C
'** Ausgabebereich löschen
wsDat.Range("C2:C50").ClearContents
'** Spalte H ab Zeile 2 bis zur letzten gefüllten Zeile durchlaufen
For a = 2 To wsDat.Cells(Rows.Count, 5).End(xlUp).Row
'** Ermittlung der Position, ab der das gesuchte Zeichen aus Zelle C3 gefunden wurde
lngPos = InStr(1, LCase(wsDat.Cells(a, 5).Value), LCase(wsDat.Range("H3").Value))
'** Daten in Spalte C auflisten, wenn der Suchbegriff vorhanden ist
If lngPos > 0 Then
wsDat.Cells(lngZeile, 3).Value = wsDat.Cells(a, 5).Value
'** Zeilenzähler erhöhen
lngZeile = lngZeile + 1
End If
Next a
'**Berechnung und Bildschirmaktualisierung wieder einschalten
With Application
.ScreenUpdating = True
.Calculation = xlCalculationAutomatic
End With
End If
Diese Zeile macht mir zu schaffen:
Code:
lngPos = InStr(1, LCase(wsDat.Cells(a, 5).Value), LCase(wsDat.Range("H3").Value))
Anbei habe ich mal die Mappe-Test-2 angehängt.
Weiß wer Rat.
Nachtrag: Diesen Forum habe ich auch eine Anfrage gestellt.
http://www.office-hilfe.com/support/show...ten-Fehler
und
http://www.office-hilfe.com/support/show...tive-Zelle