Function auf einzelne Worksheets bezogen
09.07.2014 07:55:28
Pascal
Dank der grosszügigen und Super - Hilfe hier im Forum hab ich vor Kurzem u.a. folgende Function erhalten, welche mir dazu dient, aus einem Textfeld raus (Userform) noch während ich Text ins Textfeld schreibe, schon mit dem Durchsuchen einer grossen Excel-Datenbank zu beginnen.
Funzt soweit alles perfekt.
Nun gilt es aber diese Function so anzupassen, dass nicht in allen Worksheets der Excel-Arbeitsmappe gesucht wird, sondern nur in Worksheets, die genauen Kriterien entsprechen.
so z.B. dürfen nur in Tabellenblättern gesucht werden, welche mit "D_" beginnen.
Dazu dürfen bestimmte Tabellenblätter (z.B. "D_Suche_1") nicht durchsucht werden.
wie also kann ich die Function so anpassen, dass sich das "For Each wks In Worksheets" auf einen vorher festgelegten Kriterienbereich bezieht ?
Herzlichen Dank für Eure Untersützung!
'Funktion für die Online-Suche
'=====================================
Private Function DasArray()
Dim oCells As Object, wks As Worksheet, rngC As Range
Dim oKey, arrTmp, n As Long
Set oCells = CreateObject("Scripting.dictionary")
For Each wks In Worksheets
For Each rngC In wks.UsedRange.Cells
If rngC "" Then
Select Case rngC.Column
Case 2, 4, 6, 8, 18: oCells(rngC) = rngC.Value 'Hier können die Spalten eingegeben _
werden, in welchen gesucht werden soll
End Select
End If
Next
Next
ReDim arrTmp(1 To oCells.Count, 1 To 3)
For Each oKey In oCells
n = n + 1
arrTmp(n, 1) = oKey.Parent.Name
arrTmp(n, 2) = oKey.Address
arrTmp(n, 3) = oCells(oKey)
Next
DasArray = arrTmp
End Function