Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
352to356
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
352to356
352to356
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

ListBox einlesen...

ListBox einlesen...
22.12.2003 09:38:56
Ina
Hallo Forum,

ich habe ein Problem mit einer ListBox...

Wie kann ich es realisieren, das nur Werte aus Zellen ausgelesen werden, die auch wirklich einen Inhalt beherbergen??

Mit folgendem Code wird der komplette Bereich eingelesen, also auch leere Zellen...


Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 2
ListBox1.RowSource = "Tabelle1!AF48:AG95"
End Sub
Vielleicht kann jemand den Code dahingehend umstricken?

Danke für jede Hilfe!

Gruss Ina

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ListBox einlesen...
22.12.2003 09:50:19
Willie
Hallo Ina
Ich denke so sollte es klappen
Gruß
Willie


Private Sub UserForm_Initialize()
For i = 48 To 95
If Cells(i, 32).Value = "" Then GoTo weiter
ListBox1.ColumnCount = 2
ListBox1.AddItem Cells(i, 32).Value
weiter:
Next
End Sub

AW: ListBox einlesen...
22.12.2003 09:59:20
Ina
Hallo Willie,

leider kommt die Fehlermeldung Laufzeitfehler '70': Zugriff verweigert.

Liegt das vielleicht daran, das der komplette Bereich (Zeilen / Spalten) angesprochen wird und nicht eingegrenzt wird auf Tabelle1!AF48:AG95??
Zellen ausserhalb des Bereichs Tabelle1!AF48:AG95 sind gesperrt!

Kannst Du's noch einmal versuchen? Danke!

Gruss Ina
Anzeige
Hilfe kommt ...
22.12.2003 10:15:24
Willie
Ja das kann sein ich habe es nochmal getestet bei mir
funktioniert es
Gruß
Willie


Private Sub UserForm_Initialize()
For i = 48 To 95
If Sheets("Tabelle1").Cells(i, 32).Value = "" Then GoTo weiter
ListBox1.ColumnCount = 2
ListBox1.AddItem Sheets("Tabelle1").Cells(i, 32).Value
weiter:
Next
End Sub

AW: Hilfe kommt ... :-(
22.12.2003 10:22:31
Ina
Hallo Willie,

jetzt kommt zwar keine Fehlermeldung mehr, aber leider wird nur eine Columne angezeigt und der Text in der Columne nicht im richtigen Format (1 statt 001) :-(

Kannst Du noch einmal helfend eingreifen?

Danke, Ina
Anzeige
AW: Hilfe kommt ... :-(
22.12.2003 10:31:18
PeterW
Hallo Ina,

die Teilaufgabe mit dem Zahlenformat hast du ursprünglich nicht erwähnt. Probier mal:

Private Sub UserForm_Initialize()
Dim arr() As Variant
Dim i As Integer
Dim iRow As Integer
Dim iAnz As Integer
iAnz = WorksheetFunction.CountA(Range("AF48:AF95"))
ReDim arr(0 To iAnz - 1, 0 To 1)
iRow = 0
For i = 48 To 95
If Cells(i, 32).Value <> "" Then
arr(iRow, 0) = Format(Cells(i, 32), "000")
arr(iRow, 1) = Cells(i, 33)
iRow = iRow + 1
End If
Next
ListBox1.ColumnCount = 2
ListBox1.List = arr
End Sub

Gruß
Peter
AW: Hilfe kommt ... :-)), leider jetzt ein Probl.
22.12.2003 10:40:38
Ina
Hallo Peter,

Alles wird genau so angezeigt, wie gewünscht! Danke!

Ein Problem hat sich jetzt allerdings eingeschlichen...
Die Übernahme per linkem Mausklick klappt nicht mehr.

Kannst Du den Code entsprechend anpassen?


Private Sub ListBox1_Click()
Sheets("Tabelle").Range(ActiveCell.Address) = ListBox1.Value
Unload Me
End Sub


Danke und Gruss

Ina
Anzeige
AW: Hilfe kommt ... :-)), leider jetzt ein Probl.
22.12.2003 10:47:47
PeterW
Hallo Ina,

hab hier XP und damit klappt das ohne Probleme. Gibt es bei dir eine Fehlermeldung?

Gruß
Peter
AW: Hilfe kommt ... :-)), leider jetzt ein Probl.
22.12.2003 10:53:57
Ina
Hallo Peter,

nein, es kommt keine Fehlermeldung.

Die Zeile in der ListBox wird nach Klick (linke Maustaste) blau unterlegt, mehr nicht.
Ich kann auch weitere Zeilen in der ListBox anklicken, die ebenfalls blau unterlegt werden, aber nicht übernommen.

Mit diesem Code klappt das ausgezeichnet:


Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 2
ListBox1.RowSource = "Tabelle1!AF48:AG95"
End Sub


Private Sub ListBox1_Click()
Sheets("Tabelle1").Range(ActiveCell.Address) = ListBox1.Value
Unload Me
End Sub


Private Sub CommandButton2_Click()
Unload Me
End Sub


Gruss
Ina
Anzeige
AW: Hilfe kommt ... :-)), leider jetzt ein Probl.
22.12.2003 11:12:49
PeterW
Hallo Ina,

starte den Rechner neu und probier es nochmal. Hier ist die Datei, in der es wie gewünscht funktioniert:
https://www.herber.de/bbs/user/2567.xls

Gruß
Peter
AW: Liegt es vielleicht daran?
22.12.2003 11:29:36
Ina
Hallo Peter,

ich habe den Rechner neu gestartet und jetzt erhalte ich eine Fehlermeldung:
Laufzeitfehler '9': Index ausserhalb des gültigen Bereichs


Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("G9:G39")) Is Nothing Then
If Cells(Target.Row, 2) = "1" Then
UserForm2.Show
Else
UserForm1.Show
End If
End If
If Not Intersect(Target, Range("H9:H39")) Is Nothing Then
UserForm3.Show
End If
Cancel = True
End Sub


Debuggen -> Wird gelb unterlegt: UserForm3.Show

Wo liegt der Fehler??

Kannst Du noch einmal weiterhelfen?

Danke, Ina
Anzeige
AW: Liegt es vielleicht daran (Nachtrag)?
22.12.2003 11:37:48
Ina
Hallo Peter,

der Code steht in Diese Arbeitsmappe/Tabelle1

Gruss Ina
AW: Liegt es vielleicht daran (Nachtrag)?
22.12.2003 11:47:35
PeterW
Hallo Ina,

die Fehlermeldung läßt vermuten, dass mit Userform3 etwas nicht stimmt. Wenn es die Daten zulassen kannst du mir die Datei mal zuschicken. Ist wohl einfacher, als hier zu spekuluieren (pewun@web.de).

Gruß
Peter
AW: Klappt... Auslesen auch aus anderer Tabelle?
22.12.2003 12:11:07
Ina
Hallo Peter,

ein ganz grosses SORRY!

Ich habe den Code kopiert und... natürlich beim Anpassen einen Buchstaben vergessen!

Noch einmal Sorry... und eine letzte Frage:

Ist es möglich, den Code so anzupassen, das die Werte aus Tabelle3 B8:F107 eingelesen werden (bitte auch nur Zellen, die Werte enhalten)?

Gruss Ina
Anzeige
AW: Klappt... Auslesen auch aus anderer Tabelle?
22.12.2003 13:04:33
PeterW
Hallo Ina,

du hast es mit den "letzten Fragen". :-)
Die Anpassung sieht so aus (allerdings hast du nicht erwähnt, welche Formate du möchtest, es werden jetzt die Werte in die Listbox eingelesen):

Private Sub UserForm_Initialize()
Dim arr() As Variant
Dim i As Integer
Dim iRow As Integer
Dim iAnz As Integer
Dim iCount As Integer
With Sheets("Tabelle3")
iAnz = WorksheetFunction.CountA(.Range("B8:B107"))
ReDim arr(0 To iAnz - 1, 0 To 4)
iRow = 0
For i = 8 To 107
If .Cells(i, 2).Value <> "" Then
For iCount = 2 To 6
arr(iRow, iCount - 2) = .Cells(i, iCount)
Next
iRow = iRow + 1
End If
Next
End With
ListBox1.ColumnCount = 5
ListBox1.List = arr
End Sub

Gruß
Peter
Anzeige
AW: Auslesen auch aus anderer Tabelle-Format
22.12.2003 13:17:17
Ina
Hallo Peter,

das klappt natürlich bestens (war vorhin ein ein ganz dummer Fehler von mir)!

Und... Sorry, die Formate habe ich wirklich vergessen.

1. Spalte ist Ok (4-stellige Nummern)!
2.-5. Spalte sollen das Format HH:MM aufweisen.

Kannst Du noch einmal "basteln"?
Anschliessend nerve ich auch nicht mehr... :-)

Danke und Gruss
Ina
AW: Auslesen auch aus anderer Tabelle-Format
22.12.2003 13:24:56
PeterW
Hallo Ina,

dann sollte das so gehen:

Private Sub UserForm_Initialize()
Dim arr() As Variant
Dim i As Integer
Dim iRow As Integer
Dim iAnz As Integer
Dim iCount As Integer
With Sheets("Tabelle3")
iAnz = WorksheetFunction.CountA(.Range("B8:B107"))
ReDim arr(0 To iAnz - 1, 0 To 4)
iRow = 0
For i = 8 To 107
If .Cells(i, 2).Value <> "" Then
arr(iRow, 0) = Format(.Cells(i, 2), "0000")
For iCount = 3 To 6
arr(iRow, iCount - 2) = Format(.Cells(i, iCount), "hh:mm")
Next
iRow = iRow + 1
End If
Next
End With
ListBox1.ColumnCount = 5
ListBox1.List = arr
End Sub

Gruß
Peter
PS: bin gespannt auf die allerletzte Frage ;-)
Anzeige
AW: Auslesen auch aus anderer Tabelle-Format
22.12.2003 13:47:01
Ina
Hallo Peter,

wie versprochen, jetzt nerve ich nicht mehr!

Noch einmal vielen, vielen lieben Dank für Deine Mühe und Geduld!!

Ich wünsche Dir und (falls vorhanden) Deiner Familie ein besinnliches Weihnachtsfest und einen "Guten Rutsch" ins neue Jahr!

Viele Grüsse
Ina
AW: Hilfe kommt ... :-))
22.12.2003 11:14:02
Ina
Hallo Peter,

ich habe den Code in eine andere Mappe eingebunden... Da klappt es...

Muss der Fehler wohl irgendwo anders stecken!

Danke und Gruss

Ina

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige