Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kommentar - Autor

Kommentar - Autor
28.11.2006 10:34:47
Walburga
Guten Morgen allerseits,
wer hat einen Tipp/Lösung?
Ich habe jede Menge Kommentare in verschiedensten Mappen. Bekanntlicherweise wird der Autor (also ich) immer in der Statusleiste eingeblendet. Nun mein Problem: Neben meinem Namen wird auch meine Telefonnummer angezeigt, und genau diese hat sich geändert. Wie kann ich nun elegant sämtliche "Autoren" ändern?
Liebe Grüsse
Walburga

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentar - Autor
28.11.2006 10:37:04
Dr.
Hi,
unter Extras/Optionen/Allgemein/Benutzername die Telefonnummer ändern.
AW: Kommentar - Autor
28.11.2006 10:58:09
Walburga
Hallo Dr.
so einfach gehts nun aber nicht, Dein Tipp gilt für neue Kommentare, mein Problem aber ist, wie geschrieben, die bereits bestehenden. Diese will ich nicht NEU verfassen!!
Wer weiss weiter?
Gruss Walburga
AW: Kommentar - Autor
28.11.2006 11:09:05
Dr.
Und so?

Sub test()
For Each c in ActiveSheet.Comments
If c.Author = "Walburga 666" Then c.Author = "Walburga 667"
Next c
End Sub

AW: Kommentar - Autor
28.11.2006 11:14:31
Walburga
Hallo Dr.
getestet?
bei mir kommt Fehler 450
Gruss Walburga
AW: Kommentar - Autor
28.11.2006 11:29:39
Reinhard
Hi Walburga,
bei XL97 kommt auch dieser Fehler 450, zu Author sagt die Hilfe verwirrendes :
Gibt den Autor des Kommentars zurück oder legt ihn fest. String Nur-Lese-Zugriff.
Gruß
Reinhard
Anzeige
AW: Kommentar - Autor
28.11.2006 11:37:28
Dr.
Die Eigenschaft scheint tatsächlich schreibgeschützt zu sein...
AW: Kommentar - Autor
28.11.2006 12:21:01
Walburga
Hallo Ihr beiden,
euere Erkenntnis war mir auch bekannt, blos mein Problem ist damit nicht gelöst! Wer weiss noch was, vielleicht eine API-Lösung?
Gruss Walburga
AW: Kommentar - Autor
28.11.2006 12:20:33
Reinhard
Hi Walpurga,
Option Explicit
Sub test()
Dim c, t
For Each c In Range("A1:E10").Cells
If HatKommentar(c) = True Then
t = c.Comment.Text
c.ClearComments
c.AddComment "Reinh 1234:" & Mid(t, 3)
End If
Next c
End Sub
Function HatKommentar(Z) As Boolean
Dim t
HatKommentar = False
On Error GoTo ende
t = Z.Comment.Text
HatKommentar = True
ende:
End Function

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Kommentar - Autor
28.11.2006 12:24:27
Walburga
Hi Reinhard
dein Code ändert jedoch nicht die Ausgabe in der Statuszeile!!!
Gruss Walburga
AW: Kommentar - Autor
28.11.2006 12:36:14
Reinhard
Hi Walpurga,
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If HatKommentar(Target) = True Then
Application.StatusBar = "Reinh 12345"
Else
Application.StatusBar = False
End If
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Kommentar - Autor
28.11.2006 12:46:35
Walburga
Hi Reinhard
dein Code kann nicht in meinem Sinn funktionieren, natürlich zeigt dein Code deine vorgegebene Meldung an, sobald die Zelle(mit Kommentar) aktiviert ist, fährt man jedoch nur mit der Maus über die Kommentarzelle, so bleibt in der Statuszeile alles beim alten. Solltest mal testen!!
Ich warte und suche immer noch nach einer Lösung!
Gruss Walburga
Anzeige
AW: Kommentar - Autor
28.11.2006 13:24:12
Stefan
Hallo Walburga,
Fueg doch mal die Tipps die Du gekriegt hast zusammen:
1. Die Telefonnummer in Optionen aendern
2. Reinhards Makro ausfuehren.
Reinhards Makro loescht den alten Kommentar und fuegt einen neuen ein; dabei wird der als Autor (fuer die Statusleiste) eingetragen, der gerade unter Optionen eingetragen ist.
Schoene Gruesse
Stefan
AW: Kommentar - Autor
28.11.2006 13:30:55
Stefan
... ich meine natuerlich Reinhards erstes Makro...
AW: Kommentar - Autor
28.11.2006 13:34:04
Walburga
Hi Stefan
danke für Deinen Beitrag, aber Du solltest es schon mal testen, bevor Du antwortest. Zu 1. funktioniert nur für die "Zukunft", bereits bestehende Kommentare werden dadurch nicht geändert.
Zu 2. Reinhards Makro ändert den "Autor" nur im Kommentar selber, die Anzeige in der Statusleiste bleibt davon unberührt.
und im Übrigen, ich wollte nicht jeden Kommentar neu schreiben, sondern nur Bruchteile davon ändern, und dass sozusagen in einem Aufwasch!
Liebe Grüsse
Walburga
Anzeige
AW: Kommentar - Autor
28.11.2006 14:04:07
EtoPHG
Hallo Walburga,
Hier geht's ja sehr kritisch zu und her, aber ich versuch's trotzdem.
Unter der Annahme, das im Optionen - Allgemein - Benutzername, der neue Author steht!

Sub Versiv()
Dim cT As Comment
Dim tTxt As String
Dim tAdr As String
Dim tOldAuthor As String
tOldAuthor = "Walburga die Erste"             ' Hier alter Author !
For Each cT In ActiveSheet.Comments
If cT.Author = tOldAuthor Then
tTxt = cT.Text
If Left(tTxt, Len(tOldAuthor)) = tOldAuthor Then
tTxt = Application.UserName & Mid(tTxt, Len(tOldAuthor) + 1)
End If
tAdr = cT.Parent.Address
cT.Delete
ActiveSheet.Range(tAdr).AddComment (tTxt)
End If
Next
End Sub

Gruss Hansueli
Anzeige
AW: Kommentar - Autor
28.11.2006 14:04:28
yps
hi,
was ist daran so schwer ?
Option Explicit

Sub CommentNew()
Dim alterAuthor As String
Dim neuerAuthor As String
Dim str As String
Dim myComment As Comment
alterAuthor = "Micha" '< anpassen
neuerAuthor = Application.UserName
For Each myComment In ActiveWorkbook.ActiveSheet.Comments
str = myComment.Text
str = neuerAuthor & ":" & vbLf & Right(str, Len(str) - Len(alterAuthor) - 2)
myComment.Delete
With Range(myComment.Parent.Address).AddComment
.Text str
.Shape.TextFrame.Characters(0, Len(neuerAuthor)).Font.Bold = True
End With
Next
End Sub

cu Micha
Anzeige
AW: Kommentar - Autor
28.11.2006 14:06:36
Stefan
Hallo Walburga,
Reinhards Makro aendert den Kommentar nicht, er LOESCHT und erstellt sie NEU, mit dem Namen der im Programm festgelegt ist. Diese Unterscheidung ist wichtig fuer die Statusleiste. Wie du richtig sagst, das Makro selbst hat keine Auswikungen auf das Autoren Feld, das wichtig fuer die Statuszeile ist. Das kann nur durch den Namen in den Optionen geaendert werden, das, wie du ebenso richtig sagst, nur fuer zukuenftige Kommenare gueltig ist. Da Reinhards Makro aber NEUE Kommentare erstellt (mit dem alten Kommentartext), und nicht nur einen Bruchteil aendert, sind dies ZUKUENFTIGE Kommentare (also Kommentare die eingefuegt wurden, nachdem der Name in den Optionen geandert wurde). Damit erhaeltst Du Kommentare mit der richtigen Telefonnummer sowohl im Textfeld als auch in der Statusleiste.
Ich gehe davon aus dass ich mich in meinem ersten Posting nicht klar genug ausgedrueckt habe, dass naemlich die beiden Punkte gemeinsam durchgefuehrt werden muessen, und kein entweder oder darstellen. Deshalb entschuldige ich mich fuer dieses Missverstaendnis. Einen Mangel an Tests kann ich mir nicht vorwerfen (ich denke 2 sollten genuegen).
Schoene Gruesse
Stefan
PS: Ich lass die Frage trotzdem weiter offen... ;-)
Anzeige
AW: Kommentar - Autor
28.11.2006 14:25:26
Walburga
Hallo an alle
habe jetzt etwas gefunden, dass genau passt:
Sub change_comment_user_in_statusbar()
change_user_all ("Walburga, Neuname Tel.: +49-89-999999")
End Sub

Private Sub change_user_all(Optional temp_user As String = " ")
Dim c As Comment
Dim user As String
Dim x As Range
Dim temp As String
Dim s(10) As Variant
'hiermit wird verhindert, daß der User in der
'Statuszeile genannt wird
'zwischenspeichern
user = Application.UserName
'ändern oder chr(32) einsetzen NUR KEIN NULLstring
If IsMissing(temp_user) Then temp_user = " "
Application.UserName = temp_user
For Each c In ActiveSheet.Comments
'merke dir beliebige Werte des alten Kommentars!
s(1) = c.Shape.Height
s(2) = c.Shape.Left
s(3) = c.Shape.Width
'usw usw
Set x = c.Parent
temp = c.Text
c.Delete
x.AddComment temp
'schreibe die Werte in den NEUEN Kommentar zurück
x.Comment.Shape.Height = s(1)
x.Comment.Shape.Left = s(2)
x.Comment.Shape.Width = s(3)
'usw usw
Next
'alten Usernamen zurückholen
Application.UserName = user
End Sub

Vielen Dank für Eure Bemühungen
Gruss Walburga
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige