fehler bei union und spaltenauswahl
27.01.2004 12:23:31
calle
ich hatte schonmal vor einer woche diese frage gestellt, aber bisher konnte mir keiner helfen!
ich habe einen code, der folgendes macht.
habe ein listenfeld in einer Userform und den inhalt des listenfeldes speichere ich in einem array ab.
nun gehe ich jedes element des arrays durch und markiere mir den gesuchten listeninhalt im tabellenblatt und verbinde ihn mit den folgenden gesuchten inhalten der liste die ich noch im array habe.
das klappt soweit auch ganz gut nur das problem ist,
dass er mir immer noch eine weitere spalte(von 1 bis 65536) hinter all meinen schon selectierten spalten markiert die aber gar nicht im array steht!
wieso macht er das? wieso markiert er mir hinter meinen spalten noch eine komplette spalte zusätzlich?
kann mir da jemand weiterhelfen?
hier der code
_________________________________
Private Sub cmdAuswaehlen_Click()
Dim aItem As Variant, suche$
Dim rAlleSp As Range
Dim rGesucht As Range
Dim varArray As Variant
Dim i As Integer
Dim iSelected As Integer
ReDim varArray(1)
For i = 0 To lstMonths.ListCount - 1
If lstMonths.Selected(i) Then
iSelected = iSelected + 1
ReDim Preserve varArray(iSelected)
varArray(iSelected) = lstMonths.List(i)
End If
Next
For Each aItem In varArray
Set rGesucht = Nothing
suche$ = CStr(aItem)
Set rGesucht = Cells.Find(What:=suche$, After:=[A1], _
LookIn:=xlFormulas, _
LookAt:=xlPart,SearchOrder:=xlByRows,SearchDirection:=xlNext, _
MatchCase:=True)
' wenn erstes mal was gefunden
If ((Not rGesucht Is Nothing) And (rAlleSp Is Nothing)) Then
Set rAlleSp = Range(Cells(rGesucht.Row, rGesucht.Column), _
Cells(rGesucht.End(xlDown).Row, _
rGesucht.Column))
' wenn zweites usw. male gefunden, dann den ersten und die weiteren ranges
' miteinander union
ElseIf ((Not rGesucht Is Nothing) And (Not rAlleSp Is Nothing)) Then
Set rAlleSp = Application.Union(rAlleSp, _
Range(Cells(rGesucht.Row, rGesucht.Column), _
Cells(rGesucht.End(xlDown).Row, rGesucht.Column)))
End If
Next aItem
If (Not rAlleSp Is Nothing) Then rAlleSp.Activate
End Sub
______________________________________
danke schonmal
calle