Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Listbox FORMAT

Listbox FORMAT
19.03.2007 21:31:57
Walter
Guten Abend,
habe noch einmal zu meiner Listbox eine Frage:
Wie kann ich das Format der Spalte4 in "### ###" festlegen, so daß bei Aufruf der Uf und Anzeige der Listbox mir dies Format angezeigt wird ?
Hier mein Makro:

Private Sub UserForm_Initialize()
'--------------- für Bildschirmanpassung --------------------------------------
Dim hwndForm As Long, hwndMenu As Long
Dim intY, intLast, intNext As Integer
On Error Resume Next
With UFDatenbank
.StartUpPosition = 0
.Top = 0
.Left = 0
.Height = GetDeviceCaps(GetDC(0&), 8)
.Width = GetDeviceCaps(GetDC(0&), 10)
End With
ReleaseDC 0, GetDC(0&)
hwndForm = FindWindow(vbNullString, Me.Caption)
'------------ ab hier festgelegt, UF kann nicht verschoben werden ----------------
If hwndForm  0 Then
hwndMenu = GetSystemMenu(hwndForm, 0)
If hwndMenu  0 Then DeleteMenu hwndMenu, &HF010, &H0
End If
Dim lzeile As Long
Dim i As Integer, j As Integer
lzeile = Sheets(strSh).Cells(Sheets(strSh).Rows.Count, ersteSpalte).End(xlUp).Row
With ListBox11
.Width = 750
.ColumnCount = 15             'Anzahl der Spalten               'Herr.Typ 1,5
.ColumnWidths = "0,9cm;2,5cm;2cm;1,5cm;2cm;2cm;2cm;2cm;2cm;" _
& "1,8cm;1,5cm;1,5cm;1,2cm;2cm;1,5cm"
.Clear
'Listbox füllen
.List = Range(Sheets(strSh).Cells(intstartzeile, ersteSpalte), _
Sheets(strSh).Cells(lzeile, ersteSpalte + 14)).Value
End With
End Sub
gruß walter

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Listbox FORMAT
19.03.2007 21:52:00
Peter
Hallo Walter,
nur indem du jede Spalte der ListBox einzeln befüllst, dann kannst du ein Format mitgeben
ListBox1.List(iIndx, 3) = Format(Range("D" & lZeile).Value, "### ###")
Gruß Peter
Leider nicht
19.03.2007 22:09:00
Walter
Guten Abend Peter,
leider kein Erfolg:
ListBox11.List(i, 3) = Format(Range("D" & lzeile).Value, "### ###")
habe mal dies probiert:
ListBox11.List(4, 3) = Format(ListBox11.List(4, 3), "### ###")
ab zeile 4 soll das Zahlenformat wie es in der Sheet steht übernommen werden.
mfg walter
Hier noch
19.03.2007 22:17:01
Walter
Hallo Peter,
die 1. Zahl in der Spalte wird Richtig angezeigt !
mfg walter
Anzeige
AW: Leider nicht
19.03.2007 22:19:00
Peter
Hallo Walter,
ein kleines laufendes Beispiel:


Option Explicit
Private Sub UserForm_Activate()
Dim lZeile  As Long
Dim iIndx   As Long
   With ListBox1
      .Width = 250
      .ColumnCount = 4
      .ColumnWidths = ("2 cm; 1,5 cm;2 cm; 3 cm")
      .Clear
   End With
   For lZeile = 1 To 9
      ListBox1.AddItem " "
      ListBox1.List(iIndx, 0) = Range("A" & lZeile).Value
      ListBox1.List(iIndx, 1) = Format(Range("B" & lZeile).Value, "## ##")
      ListBox1.List(iIndx, 2) = Range("C" & lZeile).Value
      ListBox1.List(iIndx, 3) = Format(Range("D" & lZeile).Value, "###  ###")
      iIndx = iIndx + 1
   Next lZeile
End Sub 


Gruß Peter
Anzeige
Wieso nicht ?
19.03.2007 22:33:06
Walter
Hallo Peter,
weiß nicht warum?
Habe mal so geändert...
Dim lZeile As Long
Dim iIndx As Long
For lZeile = 4 To 15
' ListBox11.AddItem " "
ListBox11.List(iIndx, 0) = Range("A" & lZeile).Value
ListBox11.List(iIndx, 3) = Format(Range("D" & lZeile).Value, "#### ###")
iIndx = iIndx + 1
Next lZeile
Wieso wird das Format nur bis Zeile 12 ! angezeigt?
mfg walter
Habe glaub ich gefunden ?
19.03.2007 22:38:00
Walter
Hallo Peter,
wenn ich hier: For lZeile = 1 To 9
bis 1000 anstatt 9 setzen wird das Format gemacht allerdings dauert es sehr lang bis
die UF dann erscheint !!!
mfg walter
Anzeige
Bitte hier noch einmal Schauen...
20.03.2007 10:15:00
Walter
Guten Morgen Peter,
anbei mein geändertes Makro, es läuft soweit, allerdings wenn ich die Zeile bis Nr.6 habe, super Schnell
aber leider nur bis Zeile 6 !
Was habe ich den jetzt noch Falsch gemacht ?

Private Sub UserForm_Initialize()
'--------------- für Bildschirmanpassung --------------------------------------
Dim hwndForm As Long, hwndMenu As Long
Dim intY, intLast, intNext As Integer
On Error Resume Next
With UFDatenbank
.StartUpPosition = 0
.Top = 0
.Left = 0
.Height = GetDeviceCaps(GetDC(0&), 8)
.Width = GetDeviceCaps(GetDC(0&), 10)
End With
ReleaseDC 0, GetDC(0&)
hwndForm = FindWindow(vbNullString, Me.Caption)
'------------ ab hier festgelegt, UF kann nicht verschoben werden ----------------
If hwndForm  0 Then
hwndMenu = GetSystemMenu(hwndForm, 0)
If hwndMenu  0 Then DeleteMenu hwndMenu, &HF010, &H0
End If
Label15 = Worksheets("Datenbank").Range("C2").Value
Label17 = Format(Worksheets("Datenbank").Range("A2").Value, ("dd.mm.yyyy"))
Dim lZeile As Long
Dim i As Integer, j As Integer
lZeile = Sheets(strSh).Cells(Sheets(strSh).Rows.Count, ersteSpalte).End(xlUp).Row
With ListBox11
.Width = 750
.ColumnCount = 15             'Anzahl der Spalten               'Herr.Typ 1,5
.ColumnWidths = "1,5cm;2,3cm;1,8cm;1,5cm;2cm;2cm;2cm;2cm;2cm;" _
& "1,8cm;1,5cm;1,5cm;1,2cm;2cm;1,5cm"
.Clear
'Listbox füllen
.List = Range(Sheets(strSh).Cells(intstartzeile, ersteSpalte), _
Sheets(strSh).Cells(lZeile, ersteSpalte + 14)).Value
'--- von Peter Feustel 19-3-07 ------------------------------------
'Dim lZeile  As Long
Dim iIndx   As Long
For lZeile = 4 To 6
'    ListBox11.AddItem " "
'   ListBox11.List(iIndx, 0) = Range("A" & lZeile).Value
ListBox11.List(iIndx, 0) = Format(Range("A" & lZeile).Value, "#,#00")
'   ListBox11.List(iIndx, 2) = Range("C" & lZeile).Value
ListBox11.List(iIndx, 3) = Format(Range("D" & lZeile).Value, "#### ###")
iIndx = iIndx + 1
Next lZeile
End With
End Sub

mfg Walter
Anzeige
AW: Bitte hier noch einmal Schauen...
20.03.2007 15:24:00
Peter
Hallo Walter,
dein Makro aus teilweise definierten Variablen und vielen eigenen Bezeichnungen und Defines lässt sich nicht nachbauen und damit auch nicht testen.
Bau einmal Option Explicit vor dein Makro und definiere alles (alle Dims beieinander, nicht irgendwo im Coding) .
Ohne die komplette Mappe weiß man absolut nicht, was du überhaupt machen willst.
Solltest du tatsächlich 1000 Zeilen in die ListBox einfügen wollen, so benötigt das ein wenig Zeit.
Gruß Peter
Hallo Peter
20.03.2007 16:16:00
Walter
Hallo Peter,
herzlichen Dank für deine angebotene Hilfe.
Werde jetzt gleich die Datei fertigmachen und schick diese Dir nach Haus oder?
Ich habe gerade festgestellt, die Mappe habe ich in Excel2000 erstellt und in Excel XP waren die
CommandButton etc. plötzlich weg.
gruß walter
Anzeige
Danke -)
20.03.2007 18:58:00
Walter
Hallo Peter,
habe das Format rausgenommen, bin so zufrieden, da es so beim "Laden" recht schnell geht!
mfg walter KR
AW: Danke -)
20.03.2007 20:32:01
Peter
Hallo Walter,
du könntest folgendes versuchen:
anstelle von .Value besser .Text verwenden
.List = Range(Sheets(strSh).Cells(intstartzeile, ersteSpalte), _
Sheets(strSh).Cells(lzeile, ersteSpalte + 14)).Text
Gruß Peter
AW: Danke -)
21.03.2007 09:14:00
Walter
Guten Morgen Peter,
habe gerade durchgeführt, keine Änderung!
Habe noch eine Frage:
Hast Du vielleicht ein Muster einer Listbox auf einer UF da?
Das Wichstigste, ich brauch dann eine UF mit Textboxen, wenn man in der Listbox angeklickt hat,
spllten die die Daten den in den Textboxen erscheinen:
1. zum ändern
2. zum löschen
3. neue Eingabe-Möglichkeit
mfg walter
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige