habe eine frage ist es irgendwie möglich ein Array nach werten zu durchsuchen und die gefundenen werte in eine Tabelle einzutragen ?Folgendes Beispiel habe ich vorbereitet.
Dim cb()
Sub neu()
For x = 1 To 100
ReDim Preserve cb(x)
cb(x) = Cells(x, 1)
Next
End Sub
Mit diesem lese ich die werte aus den zellen 1 bis 100 in ein Array ein. Nun möchte ich z.B das ich em ende wenn ich eine find bedngung eingeben nur noch die werte die der bedingung entsprechen in einen Excel tabelle ausgegeben werden.
Ich hoffe mann hat verstanden wa sich meine. Momentan habe ich es etwas umständlich gemacht :( Ich schreibe alle werte nicht in ein array sondern erstelle ein neues Sheet. Der Code hier: und diesen möchte ich gerne verbessern.
Dim suche
Dim dateiname As String, i As Integer
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Makros Start nur bei Doppelklick in Spalte "C"
If Target.Column <> 3 Then
Exit Sub
Else
End If
'Doppelgeklickten Wert in Variable schreiben
suche = Target.Value
'neues tabellenblatt hinzufügen (Wird am ende wieder gelöscht)
Worksheets.Add
neusheet = ActiveSheet.Name
'Neues Tabellenblatt mit daten füllen
i = 1
dateiname = Dir$("O:\Sekretariat\Dokumente\FMEA\FMEA Dateien IQ-FMEA\*.fme")
Do While dateiname <> ""
Worksheets(neusheet).Cells(i, 1) = dateiname
i = i + 1
dateiname = Dir$()
Loop
' suchen nach doppelgeklicktem Zellinhalt
Set zelle = Worksheets(neusheet).Range("A:A").Find(what:=suche, Lookat:=xlPart)
If Not zelle Is Nothing Then
treffer = 1
ersteAdresse = zelle.Address
Do
'Doppelgeklicken Zellinhalt in Tabelle schreiben
Worksheets(neusheet).Cells(treffer, 3) = Worksheets(neusheet).Range(zelle.Address)
treffer = treffer + 1
'MsgBox zelle.Address
Set zelle = Range("A:A").FindNext(zelle)
Loop While Not zelle Is Nothing And zelle.Address <> ersteAdresse
End If
End Sub