Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1124to1128
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
Inhaltsverzeichnis

Kommentare umschalten | Herbers Excel-Forum

Kommentare umschalten
03.01.2010 18:06:14
Ewald Sadowski

Hallo
habe folgendes Problem:
In einer Mappe sind in Tabelle1 SpalteA Kommentare eingetragen. Diese können aber über Button umgeschaltet werden (Spalten kopieren) Das funktioniert auch.
Nun möchte ich von Tabelle2 auf diese Kommentare zugreifen aber dies funktioniert nicht richtig.
Bei den kommentaren erscheint "#Wert". Wenn ich dann die Formel im Formeleditor öffne, nichts ändere, den Formeleditor schließs, wird der Kommentar angezeigt. Wenn ich dann umschalte, tut sich wieder nichts.
in der Zelle E11 wo der Kommentar erscheinen soll ist folgender Code hinterlegt
Code:
=TakeComment(Tabelle1!A8;E11)
In einem Modul dazu
Code:


Public Function TakeComment(rngQuelle As Range, Optional rngZiel As Range)
If rngZiel Is Nothing Then
Set rngZiel = Application.Caller
End If
With rngZiel
If Not .Comment Is Nothing Then
.Comment.Delete
End If
If rngQuelle.Value <> "" Then
.AddComment rngQuelle(1, 1).Text
TakeComment = "OK"
Else
TakeComment = "leer"
End If
End With
End Function

wenn nach oben geschilderter Methode der Kommentar erscheint, so ist er immer eingeblendet. Muß dann immer von Hand ausgeblendet werden.
Bei der Suche nach dem Fehler "Spur zum Fehler" erhalte ich folgende Meldung:
Der Fehlerdetektiv hat Spurpfeile oder Zirkelbezüge gefunden.
ich find aber keinen Zirkelbezug
habe noch mal einiges probiert:
wenn ich die Daten in Spalte A von Hand lösche und neu eintrage wechselt der Kommentar
Vielleicht liegt der Fehler auch im Code der Button mit denen kopiert wird.
Sie sehen so aus:
Button 1
Code:
Private Sub CommandButton1_Click()
Worksheets("Tabelle1").Range("C1:C15").Copy Destination:=Worksheets("Tabelle1").Range("A1")
End Sub
Button 2
Code:
Private Sub CommandButton2_Click()
Worksheets("Tabelle1").Range("D1:D15").Copy Destination:=Worksheets("Tabelle1").Range("A1")
End Sub
Sonderbar ist nur das es bei Text,Hyperlinks und Steuerelementbezeichnungen funktioniert.
Allerdings ist auch bei der manuellen Änderung der Kommentar eingeblendet.
Habe versucht mit Code:
Comment.Visible = False
auszublenden, funktionierte allerdings auch nicht.
Vielleicht hat ja jemand eine Lösung zum Problem
Gruß

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentare umschalten
03.01.2010 18:16:16
Josef Ehrensberger
Hallo Ewald,
eine Tabellenfunktion kann keine Veränderungen an Zellen vornehmen,
also auch keinen kommentar einfügen.
Gruß Sepp
AW: Kommentare umschalten
03.01.2010 18:28:06
Ewald Sadowski
Hallo Sepp
danke für deine schnelle Antwort
nur könntest du erklären, was du damit meinst ????
Die selbe Methode funktioniert bei Text, Hyperlinks und auch bei Steuerelementbeschriftungen.
Warum das bei Kommentaren nicht gehen soll, ist mir unverständlich
Gruß Ewald
AW: Kommentare umschalten
03.01.2010 18:45:38
Josef Ehrensberger
Hallo Ewald,
deine UDF versucht eine Zelleigenschaft zu verändern und das geht halt
nunmal nicht. Eine Funktion kann nur den Zellwert ändern, aber nicht
die Eigenschaften der Zelle oder der Exceloberfläche.
Gruß Sepp
Anzeige
AW: Kommentare umschalten
03.01.2010 19:55:27
Ewald Sadowski
Hallo Sepp
jetzt weiß ich gar nichts mehr, ich ändere doch keine Zelleneigenschaft oder die Oberfläche, es geht doch nur um den Text im Kommentar. Der Text des Kommentars steht in Spalte A und wird dort abgefragt. Dieser Text ist aber veränderbar.
Habe jetzt einmal mit dem Makrorecorder aufgezeichnet und folgenden Code für die Button erhalten:
Private Sub CommandButton1_Click()
Columns("A:A").Select
Selection.ClearContents
Columns("C:C").Select
Selection.Copy
Columns("A:A").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Private Sub CommandButton2_Click()
Columns("A:A").Select
Selection.ClearContents
Columns("D:D").Select
Selection.Copy
Columns("A:A").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
Ist zwar wahrscheinlch nicht optimaler Code, aber damit kann ich den Text im Kommentar der Zielzelle umschalten.
Allerdings wird in der Zelle wo die Funktion drinsteht immer noch #Wert angezeigt, und der Kommentar in der Zielzelle ist nach Umschaltung eingeblendet, obwohl vorher ausgeblendet.
Gruß Ewald
Anzeige
AW: Kommentare umschalten
03.01.2010 20:13:21
Josef Ehrensberger
Hallo Edgar,
der Kommentar ist eine Zelleigenschaft und
dein Code hat nichts mit Kommentaren zu tun.
Gruß Sepp
AW: Kommentare umschalten
03.01.2010 21:18:22
Ewald Sadowski
Hallo Sepp
hast ja recht der letzte Code ist für die Button die Spalte C oder D nach A kopieren.
Habe es jetzt aber hinbekommen mit folgendem Code:
Public Function TakeComment(rngQuelle As Range, Optional rngZiel As Range)
If rngZiel Is Nothing Then
Set rngZiel = Application.Caller
End If
With rngZiel
If Not .Comment Is Nothing Then
.Comment.Delete
End If
If rngQuelle.Value <> "" Then
.AddComment rngQuelle(1, 1).text
.Comment.Visible = False
TakeComment = "OK"
Else
TakeComment = "leer"
End If
End With
End Function
Entscheidend scheint zu sein, das der Kommentar ausgeblendet ist.
Kannst du mir noch einen Tip geben, wie ich den Code für das Kopieren der Spalten optimieren kann.
Schon mal ein Danke für deine Hilfe
Gruß Ewald
Anzeige
AW: Kommentare umschalten
03.01.2010 21:28:29
Josef Ehrensberger
Hallo Ewald,
dafür reicht das.
Private Sub CommandButton1_Click()
  Columns("A:A") = Columns("C:C").Value
End Sub

Gruß Sepp
Anzeige
AW: Kommentare umschalten
05.01.2010 15:45:03
Ewald Sadowski
Hallo Sepp
bin erst heute dazu gekommen reinzuschauen.
Habe deinen Code probiert,funktioniert zwar, dauert aber lange (Sanduhr läuft) etwa 3-4 sec.
Ist bei meinem nicht optimalen Code nicht so (Sanduhr ist erst garnicht zu sehen)
Habe ich da was falsch gemacht,
Gruß Ewald
AW: Kommentare umschalten
05.01.2010 15:54:33
Josef Ehrensberger
Hallo Ewald,
dann schreib

Columns("C:C").Copy Columns("A:A")

Gruß Sepp
AW: Kommentare umschalten
05.01.2010 17:44:03
Ewald Sadowski
Hallo Sepp
danke für die schnelle Antwort
habe es probiert, jetzt geht das Kopieren richtig schnell, aber ich bekomme bei den Kommentaren wieder die Fehlermeldung.
Es scheint mir das zuerst die Werte in A gelöscht werden müssen, bevor kopiert wird.
Gruß Ewald
Anzeige
AW: Kommentare umschalten
05.01.2010 18:24:42
Josef Ehrensberger
Hallo Ewald,
ein bisschen Mitarbeit, könnte man aber schon voeaussetzen!

Columns("A:A").ClearContents
Columns("C:C").Copy Columns("A:A")

Gruß Sepp
AW: Kommentare umschalten
06.01.2010 10:20:15
Ewald Sadowski
Hallo Sepp
bitte nicht böse sein, ich probiere schon um das hinzukriegen nur bekomme ich keine Lösung hin.
Habe mal das aufgezeichnete Makro für die Button im Einzelschritt laufen lassen, da gab es einen Sprung nach "Selektion.ClearContens" in das Modul1 (Public Function TakeComment) das dann komplett durchlaufen wurde.
Vielleicht ist es ja möglich, da wir ja nur das Makro für die Button betrachtet haben, keine Zeit für das Durchlaufen der Funktion bleibt,weil durch Copy ja wieder ein Wert in A drinsteht und das Comment.delete nicht ausgeführt wird.
Vielleicht hilft dies ja weiter
Gruß Ewald
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige