Textbox indirekt ansprechen

opl

Grünschnabel
Hallo zusammen,

ich hab da ein kleines Problem.

Ich möchte die Zellen aus einem Exceltabellenblatt auslesen und in Textboxen schreiben.
Das Tabellenblatt ist bereits offen und ein direkter Zugriff funktioniert


dim n
for n = 1 to 82 'Ja ist richtig 82 Textboxen

Text(n).text = xlSheets.Range("B" + n)
next

Leider klappt das so nicht. Die Fehlermeldung sagt SUB Methode nicht bekannt oder so ähnlich.

Vielen Dank für Eure Hilfe. Ich bin ja ein blutjunger Anfänger
 
Leider klappt das nicht. Er meldet Sub oder Function nicht definiert Ich denke auch das liegt nicht an dem EXCEL Zugriff. Wenn ich z.N. versuche einfach in jede Textbox "Hallo zu schreiben geht das auch nich mit der gleichen Fehlermeldung.
 
Sie heißen Text1, Text2 etc. Wie legt mman die als Array an Jetzt sagt aber nich einfach eine bestehende Textbox kopieren. Dann kann man ja da keine Änderungen mehr auslesen. Das ganze soll natürlich auch in Richtung Excel funktionieren.
 
Hallo, erstelle auf Deiner Form eine TextBox Namens Text und gib Ihr unter der Eigenschaft "Index" - den Wert 0
Jetzt kannst Du die TextBox 81 mal kopieren und einfügen, dabei wird der Index immer um 1 hochgestzt.
Deinen Code musst Du dann wie folgt ändern:
Code:
Dim N As Long
For N = 0 To 81 'Ja ist richtig 82 Textboxen
 Text(N).Text = xlSheets.Range("B" & Trim(CStr(N + 1)))
Next
 
Naja, wie soll das dann bitte auch gehen :)
Also Visual Basic 6 macht es dir da kinderleicht. Du musst nur 2 Textboxen gleich nennen und dann jeweils noch einen index (0, 1, 2, 3 ...) vergeben - that`s it.
 
Ja das weiß ich ja. Und mit Labels geht das ja auch Prima. Aber ich muß in der z.B. Text43 eine Formel reinschreiben wenn sie sich ändert Beispiel.

Private Sub Text43_change(Index as Integer)
Text4.Text = Val(Text5.Text)+ text6.text
End Sub

oder andere halt. Das heißt ich muß sie immer noch einzeln im Code beschreiben können .
Ich hoffe Ihr habt verstanden was ich meine.
An dieser Stelle aber ertmal ein Dankeschön an alle die bereits geantwortet haben
 
Das geht so:
Code:
Private Sub Text_Change(Index As Integer)
Select Case Index

Case 1

Case 2

' u.s.w

Case 43
Text(4).Text = Val(Text(5).Text) + Text(6).Text

Case 44

' u.s.w.

End Select

End Sub
 
Habs noch nich probiert. Leider Osterbesuch aber das klappt bestimmt Vielen DANK an alle,

Ach ja noch ne kleine frage.
Ich möchte wissen ab wann in einem Excel Tabellenblatt nix mehr steht. Z.B
B1 bis B20 ist gefüllt(egal was). Wie bekomme ich heraus ab wann die zellen leer sind?
 
Zurück