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

Nochmal UserForm

Nochmal UserForm
05.01.2004 13:52:18
miriam
Hallo Forum,

leider muß ich nochmal etwas fragen:
Ist es möglich in einer UserForm in einer Spalte Daten aus einem Tabellenblatt anzuzeigen und in der anderen Spalte den Benutzer Werte eintragen zu lassen, die dann in ein anderes Tabellenblatt übertragen werden? Wenn ja, wie??

In Bezug auf UserForm bin ich absoluter Anfänger; Hier mal mein Versuch:


Private Sub UserForm_Initialize()
ListBox1.ColumnCount = 1
ListBox2.ColumnCount = 1
CommandButton1.Caption = "OK"
Dim anzahl As Integer
Dim Ende As Long
Ende = anzahl - 1
Dim ws As Worksheet
Set ws = Workbooks("Datenquelle.xls").Worksheets("Vergleichvor")
ListBox1.List() = ws.Range(ws.Cells(1, 1), ws.Cells(Ende, 1))
ListBox2.List() =
End Sub


Wobei anzahl, immer ein anderer Wert sein kann. Wär toll, wenn mir jemand helfen könnte.

Gruß
miriam

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nochmal UserForm
06.01.2004 14:44:29
Dieter Klemke
Hallo Miriam,

mir fällt bei deinem Problem nur ein, es über eine zwischengeschaltete TextBox zu lösen.
Ich habe dir mal ein Beispiel unter der folgenden Adresse eingestellt:

https://www.herber.de/bbs/user/2781.xls

MfG
Dieter
AW: Nochmal UserForm
06.01.2004 22:48:45
miriam
Hallo Dieter!

Super, Toll, das ist genial!!!

Aber leider mag er den Befehl RowSource nicht. Wieso weiß ich auch nicht. Muß man da irgendetwas einstellen.

Ansonsten vielen vielen Dank, das ist wirklich eine tolle Lösung

Gruß
Miriam
AW: Nochmal UserForm
06.01.2004 23:13:08
Dieter Klemke
Hallo Miriam,

falls du Sonderzeichen im Arbeitsmappen- oder Tabellennamen hast, müssen zusätzlich bei RowSource noch zwei Apostrophs erscheinen. Wenn du die UserForm_Initialize-Prozedur gegen die folgende austauschst, sollte es eigentlich klappen.

Private Sub UserForm_Initialize()
Dim anzZeilen As Long
Dim rng As Range
Set ws1 = ThisWorkbook.Worksheets(1)
Set ws2 = ThisWorkbook.Worksheets(2)
' dynamische Anbindung der 1. ListBox
Set rng = ws1.Range("A1").CurrentRegion
anzZeilen = rng.Rows.Count
Set rng = ws1.Range(ws1.Cells(1, 1), _
ws1.Cells(anzZeilen, 1))
lstListe1.RowSource = "'[" & ThisWorkbook.Name & "]" & _
ws1.Name & "'!" & rng.Address(False, False)
' Anbindung der 2. ListBox (die 2. Box wird an einen Bereich von
' Tabelle2 angebunden, der genau so viele Zeilen enthält, wie der
' Bereich von Tabelle1)
Set rng = ws2.Range(ws2.Cells(1, 2), _
ws2.Cells(anzZeilen, 2))
lstListe2.RowSource = "'[" & ThisWorkbook.Name & "]" & _
ws2.Name & "'!" & rng.Address(False, False)
txtNeuerWert = ws2.Range("B1")
txtNeuerWert.SelStart = 0
txtNeuerWert.SelLength = Len(txtNeuerWert)
lstListe1.ListIndex = 0
lstListe2.ListIndex = 0
lstListe2.Enabled = False
End Sub

MfG
Dieter
Anzeige
AW: Nochmal UserForm
06.01.2004 23:31:22
miriam
Hallo Dieter,

in diesem Fall saß der Fehler mal wieder davor...:-))) Man sollte halt alles richtig benennen und dann geht das auch.
Trotzdem Danke.
Aber eine kleine Frage hätte ich noch:
In der zweiten Liste stehen nur Zahlen und die wollte ich gerne zählen, habe es so versucht, klappt aber nicht:
If IsNumeric(lstListe2.Text) Then
Summe = Summe + Val(lstListe2.Text)
End If
Hast Du da eine Idee?

Vielen Dank für Deine HilfeGruß
Miriam
AW: Nochmal UserForm
07.01.2004 12:32:57
Dieter Klemke
Hallo Miriam,

du kannst das z.B. so machen:

Sub Summation()
Dim i As Long
Dim Summe As Double
With frmDemo
For i = 0 To .lstListe2.ListCount - 1
If IsNumeric(.lstListe2.List(i)) Then
Summe = Summe + Val(.lstListe2.List(i))
End If
Next i
End With
MsgBox Summe
End Sub

MfG
Dieter
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige