Hallo
wie geht das dass ich in einem Excel Dokument alle 50 - 100 Kommentare, überall wo 2018 vorkommt das in 2019 ändere?
Hallo
wie geht das dass ich in einem Excel Dokument alle 50 - 100 Kommentare, überall wo 2018 vorkommt das in 2019 ändere?
Hallo Stefan H1,
willst du noch die Schritart, die Größe, oder Fett oder nicht Fett,
vom alten Kommentar übernehmen, dann so:
Sub Kommentar_Eintrag_ändern()
Dim TxIst As String 'Alter Kommentar
Dim TxNew As String 'Neuer Kommentar
Dim Zei As Long 'Zeile
Dim posA As Long 'Position = Punkt vor Jaheszahl
Dim shComNa As String 'Font Name
Dim shComSi As Integer 'Font Sitze
Dim shComBo As Boolean 'Font Fett = True oder False
For Zei = 2 To 10
With ActiveSheet.Cells(Zei, "A")
If Not .Comment Is Nothing Then
TxIst = .Comment.Text
If InStr(.Comment.Text, ".2011") > 0 Then
posA = InStr(.Comment.Text, ".2011")
TxNew = Left(.Comment.Text, posA) & 2019 & Mid(.Comment.Text, posA + 5)
'Die Schriftart, Schriftgröße und Fettschrift, vom alten Kommentar übernehmen.
With .Comment.Shape.TextFrame.Characters.Font
shComNa = .Name
shComSi = .Size
shComBo = .Bold
End With
.ClearComments
.AddComment TxNew
'Die Schriftart, Schriftgröße und Fettschrift festlegen.
With .Comment.Shape.TextFrame.Characters.Font
.Name = shComNa
.Size = shComSi
.Bold = shComBo
End With
'Die Kommentargröße, an den Text anpassen.
With .Comment.Shape.TextFrame
.AutoSize = True
End With
End If
End If
End With
Next
End Sub
Oder du legst das Schrift- Format aller Kommentare selbst fest,
z.B. Verdana, Größe 9 und Fett:
Sub Kommentar_Eintrag_ändern_Format()
Dim TxIst As String 'Alter Kommentar
Dim TxNew As String 'Neuer Kommentar
Dim Zei As Long 'Zeile
Dim posA As Long 'Position = Punkt vor Jaheszahl
For Zei = 2 To 10
With ActiveSheet.Cells(Zei, "A")
If Not .Comment Is Nothing Then
TxIst = .Comment.Text
If InStr(.Comment.Text, ".2011") > 0 Then
posA = InStr(.Comment.Text, ".2011")
TxNew = Left(.Comment.Text, posA) & 2019 & Mid(.Comment.Text, posA + 5)
.ClearComments
.AddComment TxNew
'Die Schriftart, Schriftgröße und Fettschrift festlegen.
With .Comment.Shape.TextFrame.Characters.Font
.Name = "Verdana"
.Size = 9
.Bold = True
End With
'Die Kommentargröße, an den Text anpassen.
With .Comment.Shape.TextFrame
.AutoSize = True
End With
End If
End If
End With
Next
End Sub
Die Frage ist natürlich, wieweit kennst du dich in VBA aus, um den Rest selbst anzupassen, z.B. statt bis zur Zeile 10, bis zur letzten belegten Zeile die Kommentare zu ändern.
z.B. For Zei = 2 To ActiveSheet.Cells(Rows.Count, "A").End(xlUp).Row
statt For Zei = 2 To 10