Re: Lesen von Zellen
27.01.2003 17:38:32
Steffan
Hallo Andreas,angenommen in Deinem Userform hast Du Combobox1, Combobox2, Coombobox3 und CommandButton1.
Der folgende Demo-Code macht folgendes:
- Einlesen der Namen der Tabellenblätter in Combobox1
- Feststellen des genutzten Bereiches auf dem jeweils in Combobox1 ausgewählten Tabellenblatt
- Bereitstellen der im genutzten Bereich befindlichen Zeilennummern in Combobox2
- das gleiche für Spalten in Combobox3
- entsprechend der Änderung der Auswahl in Combobox1 werden Combobox2 und 3 angepasst
- bei klick auf den Commandbutton wird der Wert aus der zugehörigen Tabellenzelle gelesen und in die Variable DeinWert geschrieben
- Dieser Wert wird in Tabelle1 in Zelle A1 geschrieben.
Private Sub ComboBox1_Change()
updatecombos (ComboBox1.ListIndex + 1)
End SubPrivate Sub CommandButton1_Click()
If ComboBox2.ListIndex = -1 Or ComboBox3.ListIndex = -1 Then _
MsgBox "Keine Zeile / Spalte gewählt!": Exit Sub
DeinWert = Worksheets(ComboBox1.ListIndex + 1). _
Cells(Str(ComboBox2.Text), Str(ComboBox3.Text)).Value
Worksheets(1).Cells(1, 1).Value = DeinWert
Unload UserForm1
End Sub
Private Sub UserForm_Initialize()
For i = 1 To Worksheets.Count
ComboBox1.AddItem Worksheets(i).Name
Next
ComboBox1.ListIndex = 0
End Sub
Sub updatecombos(wb As Integer)
ComboBox2.Clear
ComboBox3.Clear
With Worksheets(wb).UsedRange
For i = .Cells(1, 1).Row To .Rows.Count + .Cells(1, 1).Row - 1
ComboBox2.AddItem i
Next
For i = .Cells(1, 1).Column To .Columns.Count + .Cells(1, 1).Column - 1
ComboBox3.AddItem i
Next
End With
End Sub
Alles klar?
Steffan.