Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Listbox soll keine leeren Zeilen einlesen
#1
Hallo liebe Experten für VBA.
Code:
With Worksheets("Kundendistanz") 'Einlesen in die Listbox
   ListBox1.RowSource = "Kundendistanz!" & .Range(.Cells(4, 1), .Cells(700, 21)).Address
End With

Überall, wo ich suche, sehe ich Antworten, die eine FOR...NEXT Schleife in Verbindung mit dem Befehl ADDITEM haben.
Aber ich habe in meiner Anweisung zum Einlesen keine FOR..NEXT und ADDITEM.

Ich habe mal versucht VOR dem Einlesen den Bereich mit Variablen für die Zeile 4 bis Zeile 700 anzugeben.
Das ging total daneben.

Weiß jemand, was ich meinem Code oben einbauen muss, damit das hier auch funktioniert?
Antworten Top
#2
Hallo,

so funktioniert es schon mal:


Code:
With Worksheets("Kundendistanz") 'Einlesen in die Listbox
  ListBox1.List = Range(.Cells(4, 1), .Cells(700, 21)).Value
End With
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#3
@Klaus-Dieter: Fehlt da vor Range nicht ein Punkt?
Schöne Grüße
Berni
Antworten Top
#4
Hallo,

kann man machen, muß man nicht, weil die vor der Cells-Anweisung stehen, wo sie auch hingehören.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#5
Hallo Klaus-Dieter,

erst einmal vielen Dank für die Korrektur der Zeile.
Das funktioniert so prima.
Aber jetzt habe ich das Problem, dass die Listbox in der Spalte 21 eine Fließkommazahl zeigt.
Im Tabellenblatt erscheint mit meiner Formatierung z.B. "22,7 Km".

Wenn ich dann das hier so ändere, kommt der Fehler Typenunverträglichkeit.
Ist ja auch klar, die anderen Spalten haben keine Zahlen drin.
Code:
ListBox1.List = Format(.Range(.Cells(4, 1), .Cells(700, 21)), "#,#0.0 Km").Value

Also neue Zeile , die nur die Spalte 21 anspricht. Geht aber auch nicht.
Code:
ListBox1.List = Format(.Range(.Cells(4, 21), .Cells(700, 21)), "#,#0.0 Km").Value

Dann wollte ich mal eine For Next einsetzen..... Klappt auch nicht.
Code:
For x = 4 To 700
     ListBox1.List(x, 21) = Format(Worksheets("Kundendistanz").Range("U") & x, "#,##0.0 Km")
Next x

Wie bekomme ich in der Spalte 21 die Fließkommazahl in eine Dezimalzahl mit einer Nachkommastelle?
Antworten Top
#6
Hallo,

zeige mal deine Datei.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#7
Hier ist sie.
Gruß Achim


Angehängte Dateien
.xlsm   Distanz.xlsm (Größe: 165,46 KB / Downloads: 7)
Antworten Top
#8
Hallo Achim,

du kannst die Werte in Spalte 21 hart runden. So:  =WENN(H6>0;RUNDEN(T6*111,17;1);"")
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top
#9
Hallo Klaus-Dieter,

nun ja, jetzt ist zwar alles auf ,1 in der Spalte....Sieht irgendwie nicht besonders gut aus....
Aber besser als zuvor.

Was für krasse Unterschiede hier zum Tragen kommen.
Mit der Variante, die ich als erstes anwendete, sah zwar die Spalte gut aus,
hatte aber die ganzen Leerzeilen mit drin.

Jetzt sind die Leerzeilen weg, aber dafür auch die schöne Formatierung....
Hmmm….. Muss ich wohl diesen Kompromiss eingehen....

Ich danke dir für die Hilfe....
Schönen Abend noch.....
Antworten Top
#10
Hallo Achim,


Zitat:aber dafür auch die schöne Formatierung....

Excel ist eine Tabellenkalkulation, kein Präsentationsprogramm.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste