Clever-Excel-Forum

Normale Version: Zeilensteuerung eines Kommentars
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo liebe VBA-Freaks,

Habe 2 Textfelder mit Namen TextBox1 und TextBox2. Der Text aus Textbox2
soll als Kommentar in eine Excel-Zelle geschrieben werden. Durch Eingabe
einer Zahl in TextBox1 soll dieser Text in eine Zeile des Kommentars
geschrieben werden, die durch die Zahl aus Textbox1 angegeben wurde.

Also gebe ich in TextBox1 eine 3 ein soll der Text aus Textbox2
in Zeile 3 des Kommentars geschrieben werden. Steht im Kommentar
schon alter Text z.B. in Zeile 1, soll der nicht gelöscht werden.


Hat jemand Ahnung wie man so etwas per VBA machen könnte?
Vielen Dank für Eure Hilfe.
Hallo Susi,

so vielleicht:
Code:
Sub KommentarAendern()
  Dim oKommentar As Comment
  Dim strText As String
  Dim varArray As Variant
  Set oKommentar = Range("B3").Comment
  strText = oKommentar.Shape.OLEFormat.Object.Text
  varArray = Split(oKommentar.Shape.OLEFormat.Object.Text, vbLf)
  If (TextBox1 - 1) > UBound(varArray) Then
    ReDim Preserve varArray(TextBox1 - 1)
  End If
  varArray(TextBox1 - 1) = TextBox2
  oKommentar.Shape.OLEFormat.Object.Text = Join(varArray, vbLf)
End Sub

Gruß Uwe
Hallo Susi,

Du hast nicht geschrieben, was passieren soll, wenn kein Kommentar in der Excel-Zelle steht. Soll das VBA-Makro dann einen Kommentar eintragen oder die Zelle unberührt lassen?

Wenn einer eingetragen werden soll, dann z.B. nach Set oKommentar... eine Zeile einfügen mit dieser Ergänzung
Code:
If oKommentar Is Nothing Then Set oKommentar = Range("B3").AddComment

Wenn nicht, dann eventuell so
Code:
If oKommentar Is Nothing Then

Du hast nicht angegeben, wie Deine Kenntnisse in Excel und VBA sind. Ich nehme an, dass Du mit VBA umgehen kannst?