Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zeilensteuerung eines Kommentars
#1
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.
Antworten Top
#2
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
Antworten Top
#3
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?
.      \\\|///      Hoffe, geholfen zu haben.
       ( ô ô )      Grüße, André aus G in T  
  ooO-(_)-Ooo    (Excel 97-2019+365)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste