Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Kennt jemand ShowCharacter(Char As String)

Forumthread: Kennt jemand ShowCharacter(Char As String)

Kennt jemand ShowCharacter(Char As String)
03.12.2008 15:21:00
ray
Hallo,
ich nutzte ShowCharacter(Char As String) um in einer ListBox nur Zeilen einer Tabelle anzuzeigen, die mit "a" beginnen.
Jetzt möchte ich das umbauen, damit es statt mit Buchstaben mit Zahlen funzt.
Weiß jemand wie?
Hier der alte Code, der bei Buchstaben funzt:

Private Sub CommandButton6_Click()
ShowCharacter ("a")
End Sub



Private Sub ShowCharacter(Char As String)
Dim stRng       As Double
Dim endRng      As Double
Dim i           As Integer
On Error Resume Next
With Sheets("wohnungen")
stRng = WorksheetFunction.Match(Char, .Range("b:b"), 0)
If Err.Number  0 Then
Err.Clear
MsgBox "Es wurden keine Einträge für  '" & Char & "' gefunden.",
Exit Sub
End If
For i = 1 To 1000
endRng = WorksheetFunction.Match(Chr(i) & "*", .Range("b:b"), 0)
If Err.Number  0 Then
Err.Clear
End If
If endRng > 0 Then
Exit For
End If
Next i
If endRng = 0 Then
endRng = .Cells(.UsedRange.Rows.Count, .Range("b:b").Column).End(xlUp).Row + 1
End If
ComboBox1.RowSource = "wohnungen!b" & stRng & ":b" & endRng - 1
End With
End Sub


Viele Grüße aus dem verscheinten Hamburg mit völlig bekloppten Autofahrern, nur weil Schnee liegt...
Ray

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kennt jemand ShowCharacter(Char As String)
05.12.2008 00:37:28
Uduuh
Hallo,
ungetestet, aber so würde ich das machen:

Function ListArray(rngMatch As Range, strMatch As String)
Dim rngTmp As Range, iCounter As Integer, arrTmp()
ReDim arrTmp(1 To 1, 1 To Application.CountA(rngMatch))
With rngMatch
For Each rngTmp In Range(.Cells(1), .SpecialCells(xlCellTypeLastCell))
If CStr(rngTmp) Like strMatch & "*" Then
iCounter = iCounter + 1
arrTmp(1, iCounter) = rngTmp
End If
Next
End With
ReDim Preserve arrTmp(1 To 1, 1 To iCounter)
ListArray = WorksheetFunction.Transpose(arrTmp)
End Function



Private Sub CommandButton6_Click()
Listbox1.List = ListArray(Sheets("Wohnungen").Columns(2), "a")
End Sub


Gruß aus’m Pott
Udo

Anzeige
AW: läuft so leider nicht
05.12.2008 09:41:00
ray
Danke Udo, aber:
Code stopt bei:
ReDim Preserve arrTmp(1 To 1, 1 To iCounter)
Und bist Du sicher, dass das 'a' bei Listbox1.List = ListArray(Sheets("Wohnungen").Columns(2), "a")
richtig ist?
Grüße aus dem kalten HH

Forumthreads zu verwandten Themen

Anzeige
Anzeige