Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Kommentar Makro





Frage

Sehr geehrte Damen und Herren, ich habe folgendes Problem. Ziel ist es mit Hilfe eines Makros den Tabelleninhalt in eine Kommentarzeile zu schreiben. Dazu habe ich bisher dieses Makro verwendet das ich ebenfalls diesem Forum entnommen habe daher ich keinerlei Wissen in Hinsicht Makroprogrammierung habe. Sub Kommentar_Alt() ActiveCell.AddComment ActiveCell.Comment.Visible = False ActiveCell.Comment.Text Text:=ActiveCell & Chr(10) & "" ActiveCell.Select ActiveWindow.SmallScroll Down:=-9 End Sub Nun soll das Makro allerdings auf den Zellbereich B3:AH2000 angewendet werden. Zudem sollen leere Felder keinen Kommentar bekommen. Es wäre unheimlich nett wenn mir jemand in dieser Hinsicht helfen könnte. Mit freundlichen Grüßen Daniel

Antwort 1 von Hajo_Zi

Hallo Daniel,
Option Explicit

Sub Kommentar_Alt()
Dim RaZelle As Range
For Each RaZelle In Range("B3:AH2000")
With RaZelle
If RaZelle <> "" Then
.AddComment
.Comment.Visible = False
.Comment.Text Text:=RaZelle & Chr(10) & ""
End If
End With
Next RaZelle
End Sub

Gruß Hajo

Antwort 2 von coros

Hallo Daniel,

nachfolgendes Makro sollte das machen, was Du Dir vorgestellt hast. Kopiere es in ein StandardModul.

Sub Kommentar_einfügen()
Dim Zelle As Range
On Error Resume Next
For Each Zelle In Range("B3:AH2000")
With Range(Zelle.Address)
.AddComment.Text Text:=Range(Zelle.Address) & Chr(10) & ""
End With
Next
End Sub



MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 3 von coros

Hi,

ich nochmal. Ups, da hätte ich besser doch mal aktualisieren sollen. Aber besser zwei Antworten als gar keine.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von BossD

Vielen Dank für die schnelle Antwort. Funktioniert einwandfrei.

Mit freundlichen Grüßen

Antwort 5 von BossD

Hallo noch mal, habe grade festgestellt das es doch noch ein Problem gibt in dem Makro von Hajo_Zis... wenn ich es ein zweites mal ausführe um Aktualisierungen in der Tabelle ebenfalls mit einem Kommentar zu versehen gibt er mir eine Fehlermeldung aus.

Vielen Danke

PS: Danke auch an Coros, jedoch weist dein Makro allen Zellen, auch denen ohne Textinhalt einen Kommentar zu.

Mit freundlichen Grüßen

Antwort 6 von coros

Hallo Daniel,

das hatte ich total überlesen, dass leere Zellen keinen Kommentar erhalten sollen. Aber mit nachfolgendem Makro sollte es funktionieren. Kopiere es wieder in ein StandardModul.

Sub Kommentar_einfügen()
Dim Zelle As Range
On Error Resume Next
For Each Zelle In Range("B3:AH2000")
If Range(Zelle.Address) <> "" Then
If Not Range("A1").Comment Is Nothing Then _
Range("A1").ClearComments
With Range(Zelle.Address)
.AddComment.Text Text:=Range(Zelle.Address) & Chr(10) & ""
End With
End If
Next
End Sub


Übrigens der Fehler bei Hajos Makro ist, dass es zu einem Fehler kommt, wenn in der Zelle bereits ein Kommentar vorhanden ist. Der Kommentar muss bevor er erneut erzeugt wird, erst gelöscht werden.

Ich hoffe, Du kommst klar. bei Fragen melde Dich bitte.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 7 von BossD

Grüße,
sehr schön.... funktioniert einwandfrei, könnte nicht besser sein.
Vielen Danke noch mal.

Mit freundlichen Grüßen

Antwort 8 von BossD

Hallo,
also erstens, vielen Dank noch mal für das Makro, zweitens, es gibt noch ein kleines Problem bei dem Makro.
Wenn der Kommentar bereits eingetragen ist, sich jedoch an der Zelle durch eine Aktualisierung etwas ändert dann wird dies bei erneutem Ausführen des Makros nicht aktualisiert.
Es wäre unheimlich nett wenn du da noch mal schauen könntest.

Vielen Dank noch mal

Antwort 9 von coros

Hi BossD,

da war ein Flüchtigkeitsfehler in dem Makro. Mit nachfolgendem funktioniert es.

Sub Kommentar_einfügen()
Dim Zelle As Range
On Error Resume Next
For Each Zelle In Range("B3:AH2000")
If Range(Zelle.Address) <> "" Then
If Not Range(Zelle.Address).Comment Is Nothing Then _
Range(Zelle.Address).ClearComments
With Range(Zelle.Address)
.AddComment.Text Text:=Range(Zelle.Address) & Chr(10) & ""
End With
End If
Next
End Sub


MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 10 von BossD

Wow,
vielen vielen Dank....
Wünsche noch ein schönes Wochenende.
MFG