Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1028to1032
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Kennt jemand ShowCharacter(Char As String)
03.12.2008 14: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

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

Betreff
Datum
Anwender
Anzeige
AW: Kennt jemand ShowCharacter(Char As String)
04.12.2008 23: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 08: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

38 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige