Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema Label
BildScreenshot zu Label Label-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Inhalt von D70:D80 in Textbox ausgeben geht nicht

Betrifft: Inhalt von D70:D80 in Textbox ausgeben geht nicht von: Stefan
Geschrieben am: 15.09.2004 11:29:38

Hallo zusammen,
habe ein Problem und bitte um Eure Hilfe.
Den Inhalt von D70:D80 soll in Textbox 7 ausgegeben werden, das passiert mit einer
Schleife). Leider wird immer in die gleiche Zeile geschrieben und daher der Eintrag immer mit dem nächsten überschrieben. Kann man ein Return oder so senden ?

Hier mein Code (wichtig ist nur der Teil bei 'Übergabe an Zellwert an Textbox)

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address(0, 0) = "D70" Then
Dim i As Integer
Dim L As Integer
Dim k As Integer
Range("E70:E80") = "" 'Ausgabebereich leeren
k = 1 'Zeile für Ausgabe
Do While Cells(k, 1) <> ""
k = k + 1
Loop
For i = 1 To k
If Cells(i, 1) = Range("D70") Then 'wenn Spalte A = Suchfeld
With ActiveSheet.Shapes("Text Box 7")
.TextFrame.Characters.Text = Cells(i, 2) & Chr$(64) 'Übergabe Zellwert an Textbox

End With
End If
Next i
End If
End Sub


Lieben Dank und Gruß
Stefan
  


Betrifft: AW: Inhalt von D70:D80 in Textbox ausgeben geht nicht von: Harald Kapp
Geschrieben am: 15.09.2004 11:33:46

Hallo Stefan,
probier mal:
Vor der Schleife natürlich zuerst die Textbox löschen:

ActiveSheet.Shapes("Text Box 7").TextFrame.Characters.Text = ""
For i = 1 To k
If Cells(i, 1) = Range("D70") Then 'wenn Spalte A = Suchfeld
With ActiveSheet.Shapes("Text Box 7")
.TextFrame.Characters.Text = .TextFrame.Characters.Text & chr(13) & Cells(i, 2) & Chr$(64)
...

Gruß Harald


  


Betrifft: AW: Inhalt von D70:D80 in Textbox ausgeben geht nicht von: Stefan
Geschrieben am: 15.09.2004 11:53:25

Moin Harald,
danke für Deine Idee, wir nähern uns der Lösung.
Die Einträge kommen jetzt der Reihe nach.
Chr$(13) bewirkt das @-Zeichen, bei Chr$(64) ein kleines Kästchen.
Jedoch erfolgt bei beiden Zeichen kein Zeilenumbruch in die Nächste Zeile.
Gibt es eine Übersicht über die Chr$-Befehle.
Nochmals Danke, bin ein ganzes Stück weiter.
Gruß Stefan


  


Betrifft: AW: Inhalt von D70:D80 in Textbox ausgeben geht nicht von: Harald Kapp
Geschrieben am: 15.09.2004 12:56:09

Hallo Stefan,
probier mal statt "chr(13)" "vbNewLine" (siehe Hilfe unter "Visual Basic für Applikationen-Konstanten", "Verschiedene Konstanten").

Die "Übersicht über die Chr$-Befehle" findest Du in der Gilfe unter chr$(). Das sind aber keine Befehle, sondern es handelt sich um eine Funktkon, die das ASCII-Äquivalent zu der als Argument übergebenen Zahl ausgibt. also chr$(13) = CarriageReturn (Wagenrücklauf).


Gruß Harald


  


Betrifft: AW: Inhalt von D70:D80 in Textbox ausgeben geht nicht von: Stefan
Geschrieben am: 15.09.2004 14:06:09

Juhuuuu :-))

Das haut schon mal hin. Jeder Eintrag steht jetzt in einer separaten Zeile.
Lediglich ist am Ende immer ein Kästchen zu sehen. Gibts da auch noch ne
Möglichkeit das wegzubekommen ?
Jedenfalls erstmal supervielen Dank.
Gruß Stefan


 

Beiträge aus den Excel-Beispielen zum Thema "Inhalt von D70:D80 in Textbox ausgeben geht nicht"