Kommentare aus Zellinhalten generieren
#21
(22.03.2021, 19:12)TxbyFmjy schrieb: Diese Lösung von dir funktioniert einwandfrei (siehe Anlage). Herzlichen Dank.

Anmerkung: Das ist leider eine Falschaussage.


(21.03.2021, 15:51)Kuwer schrieb:
Code:
Sub kommentar_aus_rngZelle_einfuegen_2()
  '** Dimensionierung der Variablen
  Dim rngZelle As Range
 
  '** Alle markierten rngZellen durchlaufen
  For Each rngZelle In Selection.Cells
    With rngZelle
      If Not .Comment Is Nothing Then
        If Len(.Value) Then
          .Comment.Text Date & Chr(10) & .Value
        Else
          '.Comment.Delete
        End If
      Else
        If .Value = "ja" Then
          .AddComment.Text Date & Chr(10) & .Value
        End If
      End If
    End With
  Next rngZelle
End Sub


Korrektur meiner Falschaussage:

Code:
If Not .Comment Is Nothing Then

Die vorgenannte Bedingung, wenn das Kommentar nicht leer ist, ist die Grundlage für die folgende Bedingung.

Code:
If Len(.Value)

Die vorgenannte Bedingung betrifft alle Zellen, die einen Zelleninhalt haben.

Beide vorgenannten Bedingungen führen dazu, dass die Kommentare der Zellen mit Zelleninhalt, die bereits ein Kommentar haben, mit dem Kommentar überschrieben werden, auch die Zellen, mit dem Zellinhalt nein.

(21.03.2021, 13:25)TxbyFmjy schrieb: Hallo,

zu nachfolgendem Beispiel habe ich zwei Fragen:

Frage 2:

Wenn sowohl die Zellen, deren Zelleninhalt "ja" ist, als auch die Zellen deren Zelleninhalt "nein" ist, noch kein Kommentar haben, erhalten alle markierten Zellen vom Makro ein Kommentar. Wie muss das Makro geändert werden, damit nur die markierten Zellen, deren Zelleninhalt "ja" ist ein Kommentar erhalten.


Der Code von Uwe passt nicht zur Frage 2.
Antworten Top
#22
(27.03.2021, 21:34)MisterBurns schrieb: Ja, Uwe hast du gentwortet. Ich hätte es nur nett gefunden, wenn du meinen Vorschlag auch einer Antwort für würdig befunden hättest. Ich hatte versucht dir zu erklären, wie du einfach und ohne VBA dein Problem hättest lösen können.

Und nur weil etwas seit 2000 auf eine Weise gemacht wird, muss das doch nicht auf ewig so bleiben. Stell dir vor, die Automobilkonstrukteure würden ihre Autos seit 20 Jahren nicht weiterentwickeln...

HILFE! Mir fehlen die Worte.

Hier werden Äpfel mit Birnen verglichen.

Es ist zu unterscheiden zwischen dem Kunden (Äpfel), der das Produkt nicht entwickelt hat und dem Hersteller Microsoft (Birnen), der das Produkt entwickelt hat. Seit 2000 wird vom Kunden eine Tabelle mit Kommentaren zu Zellen verwendet. Und ja: der Hersteller Microsoft hat möglicherweise (beurteilen kann ich das nicht) Kommentare zu Zellen seit 20 Jahren nicht weiterentwickelt ....

Der Kunde kann Kommentare zu Zellen nur so verwenden, wie sie eben sind. Wenn der Kunde jetzt Kommentare zu Zellen nicht mehr verwenden würde, würde das ja nicht bedeuten, dass der Hersteller Microsoft Kommentare zu Zellen weiterentwickelt hat.

Möglicherweise (beurteilen kann ich das nicht) ist die Automobilindustrie innovativer als Microsoft.

Dein Vorschlag, Kommentare zu Zellen nicht mehr zu verwenden, sondern die Texte teils ausufernder Kommentare in separaten Spalten zu pflegen, war eben keine Lösung.

Für Microsoft sind Kommentare zu Zellen offensichtlich immer noch eine Erwähnung wert:

Zitat:https://support.microsoft.com/de-de/offi...2b5c7bf6f8

Einfügen von Kommentaren und Notizen in Excel

Excel für Microsoft 365, Excel für Microsoft 365 für Mac, Excel für das Web, Excel 2019, Excel 2016, Excel 2019 für Mac, Excel 2013, Excel 2010, Excel 2007, Excel 2016 für Mac, Excel für Mac 2011, Excel für iPad, Excel für iPhone, Excel  für Android-Tablets, Excel für Android-Smartphones, Excel Mobile

Hinweis, um Missverständnisse zu vermeiden: Bei Excel für Microsoft 365 wird zwischen Kommentaren (Unterhaltungen mit anderen Personen) und Notizen (Anmerkungen) unterschieden. In diesem Beitrag wurde der Begriff Kommentare aus Excel 2016 verwendet. In Excel für Microsoft 365 hätte man Noitzen verwenden müssen.


Ich habe deinen Vorschlag mehrmals mit Anworten gewürdigt, jedoch deine Meinung über Kommentare zu Zellen nicht geteilt.
Antworten Top
#23
Hallo,

niemand bestreitet die Sinnhaftigkeit von Kommentaren. Was in diesem Beitrag zu Kritik geführt hat, ist die Tatsache, dass du offenbar beabsichtigst (beabsichtigt hast), jede Zelle einer Spalte mit einem Kommentar zu versehen. Das ist Blödsinn, dafür fügt man eine Spalte ein, wie ja auch schon angemerkt wurde. Merke: die Menge bestimmt das Gift. Kommentare verwendet man für einzelne Zellen, um da dauerhaft oder temporär auf irgend etwas hinzuweisen. Nicht jede Funktion von Excel ist dafür entwickelt worden, dass man sie exzessiv einsetzt.
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • TxbyFmjy
Antworten Top
#24
Nein, diese Kritik wurde nicht angebracht.

(21.03.2021, 16:59)MisterBurns schrieb: Gleichzeitig möchte ich dir sagen, dass ich die Idee grundsätzlich für unsinnnig halte. Du siehst ja selbst, dass du jetzt schon umständlich im Forum fragen musst, weil du selbst nicht auf die Lösung kommst (nicht falsch verstehen, fragen ist willkommen). Wenn du die Kommentare einfach in eine separate Spalte schreiben würdest, hättest du gar kein Problem. Zellen sind einfach befüll- und auswertbar, Kommentare dagegen nicht. Stell dir vor du suchst nach etwas bestimmtem - Autofilter an und fertig. Wenn die Kommentarspalte stört, dann einfach ausblenden.
Mach dir also das Leben leicht.
Antworten Top
#25
Leider wurde hier völlig missverstanden, was ich ausdrücken wollte. Nicht Microsoft ist hier das Problem. Ob die die Möglichkeit der Kommentareinbindung weiterentwickeln oder nicht, ist unerheblich. Ich meinte, nur weil DEINE Tabelle seit 2000 auf diese oder jene Art verwendet wird, heißt das nicht, dass das auch 2021 noch so sein muss. Man kann Dateien weiterentwickeln. Du würdest ja auch nicht die ZÄHLENWENN-Funktion nicht verwenden, nur weil sie in Excel 2000 noch nicht verfügbar war.

Mein Vorschlag ist nichts für dich, was soll's? Wenn du glaubst, dass eine VBA-Lösung sinniger ist, dann bitte. Hoffe nur, du brauchst die Datei niemals in Excel Online.

Bin dann raus.
Schöne Grüße
Berni
[-] Folgende(r) 1 Nutzer sagt Danke an MisterBurns für diesen Beitrag:
  • TxbyFmjy
Antworten Top
#26
(09.05.2021, 12:10)Klaus-Dieter schrieb: Was in diesem Beitrag zu Kritik geführt hat, ist die Tatsache, dass du offenbar beabsichtigst (beabsichtigt hast), jede Zelle einer Spalte mit einem Kommentar zu versehen.

Das habe ich weder beabsichtigt noch eine solche Tatsache beschrieben.

(21.03.2021, 13:25)TxbyFmjy schrieb: Frage 2:

Wenn sowohl die Zellen, deren Zelleninhalt "ja" ist, als auch die Zellen deren Zelleninhalt "nein" ist, noch kein Kommentar haben, erhalten alle markierten Zellen vom Makro ein Kommentar. Wie muss das Makro geändert werden, damit nur die markierten Zellen, deren Zelleninhalt "ja" ist ein Kommentar erhalten.

Ich habe ausdrücklich gefragt, wie das Makro geändert werden muss, damit nur die markierten Zellen, deren Zelleninhalt "ja" ist ein Kommentar erhalten. Dabei handelt es sich offensichtlich um die Beschreibung eines Beispiels.

Es ging bei meiner Frage 2 zu meinem Beispiel also tatsächlich immer nur darum, dass eine ausgewählte Anzahl von Zellen ein Kommentar erhalten sollte.

(09.05.2021, 22:44)MisterBurns schrieb: Leider wurde hier völlig missverstanden, was ich ausdrücken wollte. Nicht Microsoft ist hier das Problem. Ob die die Möglichkeit der Kommentareinbindung weiterentwickeln oder nicht, ist unerheblich. Ich meinte, nur weil DEINE Tabelle seit 2000 auf diese oder jene Art verwendet wird, heißt das nicht, dass das auch 2021 noch so sein muss. Man kann Dateien weiterentwickeln. Du würdest ja auch nicht die ZÄHLENWENN-Funktion nicht verwenden, nur weil sie in Excel 2000 noch nicht verfügbar war.

Mein Vorschlag ist nichts für dich, was soll's? Wenn du glaubst, dass eine VBA-Lösung sinniger ist, dann bitte. Hoffe nur, du brauchst die Datei niemals in Excel Online.

Bin dann raus.

Hier wurde nicht völlig missverstanden, was du ausdrücken wolltest, sondern du hast dich völlig missverständlich ausgedrückt und bist richtig verstanden worden. Dein Vorschlag war tatsächlich nichts.

Mittlerweile ist Fakt, dass
  • es sich bei Kommentaren/Notizen zu Zellen, nicht um einen Dinosaurier handelt, der vom Hersteller Microsoft seit 20 Jahren nicht weiterentwickelt wurde,
  • die Pflege von Kommentaren/Notizen in Spalten keine Lösung darstellt, weil sich die Struktur der Tabelle laufend ändern würde und 
  • genau aus diesen Gründen die hier geäußerte Kritik gegenstandslos ist.
(09.05.2021, 12:05)TxbyFmjy schrieb: Für Microsoft sind Kommentare zu Zellen offensichtlich immer noch eine Erwähnung wert:

https://support.microsoft.com/de-de/offi...2b5c7bf6f8

Einfügen von Kommentaren und Notizen in Excel

Excel für Microsoft 365, Excel für Microsoft 365 für Mac, Excel für das Web, Excel 2019, Excel 2016, Excel 2019 für Mac, Excel 2013, Excel 2010, Excel 2007, Excel 2016 für Mac, Excel für Mac 2011, Excel für iPad, Excel für iPhone, Excel  für Android-Tablets, Excel für Android-Smartphones, Excel Mobile

Hinweis, um Missverständnisse zu vermeiden: Bei Excel für Microsoft 365 wird zwischen Kommentaren (Unterhaltungen mit anderen Personen) und Notizen (Anmerkungen) unterschieden. In diesem Beitrag wurde der Begriff Kommentare aus Excel 2016 verwendet. In Excel für Microsoft 365 hätte man Notizen verwenden müssen.

(25.04.2021, 11:11)TxbyFmjy schrieb: Ich arbeite mit einer Excel-Datei die im Jahre 2000 nicht von mir begonnen wurde. Seit 2000 werden Kommentare verwendet. Regelmäßig soll ich in drei Spalten fortlaufend jeweils das Kommentar einer Zelle mit gleichlautenden Informationen befüllen in Abhängigkeit vom Wert, der in der Zelle jeweils manuell eingetragen wurde. Betrag und Datum werden nachfolgend manuell im jeweiligen Kommentar eingetragen.

Hinweis, um Missverständnisse zu vermeiden: Es werden weder alle Spalten dieser Tabelle mit einem Kommentar versehen (die Rede ist von drei Spalten) noch insbesondere jene Zellen dieser drei Spalten, deren Zelleninhalt "nein" ist.

Zitat:Bei der Arbeit mit Excel sind Kommentare ein hervorragendes Mittel, um Erläuterungen zu einzelnen Formeln oder Werten direkt an Ort und Stelle einzubinden – ähnlich einer Haftnotiz. Dafür muss die Struktur der Tabelle nicht verändert werden, was zum Beispiel bei einer Kommentarspalte der Fall ist. Es soll also nicht jede Zelle einer Spalte mit einem Kommentar gefüllt werden.

Quellenangabe: https://www.pcs-campus.de/excel/kommentare_erstellen/

Würde man Kommentare in einer Spalte pflegen, so dass sie unmittelbar lesbar sind (Stichwort: Zeilenumbruch), würde sich die Struktur der Tabelle verändern. Würde man Zeilenumbruch nicht verwenden, könnte man Kommentare nur in der Bearbeitungsleiste lesen.

Die hier geäußerte Kritik ist so überflüssig wie ein Kropf.
Antworten Top
#27
Hallo,


Zitat:Das habe ich weder beabsichtigt noch eine solche Tatsache beschrieben.


die Bilder in deinem ersten Beitrag sagen etwas anderes aus. Im übrigen: wem nicht zu raten ist, dem ist auch nicht zu helfen, dann musst du eben weiter wursteln.

TxbyFmjy --> IL
Viele Grüße
Klaus-Dieter
Der Erfolg hat viele Väter, 
der Misserfolg ist ein Waisenkind
Richard Cobden
[-] Folgende(r) 1 Nutzer sagt Danke an Klaus-Dieter für diesen Beitrag:
  • TxbyFmjy
Antworten Top
#28
Schreib die Kommentare in eine eigene Tabelle und verweise per hyperlink dorthin
falls die Kommentare für viele Zellen identisch sind reduziert sich auch die Anzahl der Kommentare
oder mit VBA zu einer msgbox
[-] Folgende(r) 1 Nutzer sagt Danke an bug99 für diesen Beitrag:
  • TxbyFmjy
Antworten Top
#29
(10.05.2021, 10:00)Klaus-Dieter schrieb: die Bilder in deinem ersten Beitrag sagen etwas anderes aus. Im übrigen: wem nicht zu raten ist, dem ist auch nicht zu helfen, dann musst du eben weiter wursteln.

Lesen und verstehen ist offensichtlich nicht deine Stärke. Du musst die Informationen (Texte und Bilder) im Zusammenhang lesen. Offensichtlich zeigen die Bilder im Zusammenhang mit den Texten was nicht gewollt ist.

(21.03.2021, 13:25)TxbyFmjy schrieb: Frage 2:

Wenn sowohl die Zellen, deren Zelleninhalt "ja" ist, als auch die Zellen deren Zelleninhalt "nein" ist, noch kein Kommentar haben, erhalten alle markierten Zellen vom Makro ein Kommentar. Wie muss das Makro geändert werden, damit nur die markierten Zellen, deren Zelleninhalt "ja" ist ein Kommentar erhalten.

Ich brauche nicht weiterzuwursteln, denn ich habe mittlerweile funktionierende Lösungen:

(27.03.2021, 20:58)TxbyFmjy schrieb:
Code:
Sub insert_text_Ausschüttung1_Ausschüttung2_Ausschüttung3()

'** Dimensionierung der Variablen
Dim rngZelle As Range

'** Alle markierten rngZellen durchlaufen
For Each rngZelle In Selection.Cells
    With rngZelle
  
If .Value = "6 aus 49: ja" And .Comment Is Nothing Then

                .AddComment.Text "Ausschüttung 1" & Chr(10) & Chr(10) _
                & "Wert: Betrag eintragen €" & Chr(10) & Chr(10) _
                & "Dokument 1" & Chr(10) & Chr(10) _
                & "Ausgang: Datum eintragen"
                .Comment.Shape.TextFrame.Characters(Start:=1, Length:=14).Font.ColorIndex = 3
                .Comment.Shape.TextFrame.Characters(Start:=1, Length:=14).Font.Bold = True
                .Comment.Shape.TextFrame.AutoSize = True
                .Comment.Shape.TextFrame.AutoMargins = True

ElseIf .Value = "Bingo: ja" And .Comment Is Nothing Then

                .AddComment.Text "Ausschüttung 2" & Chr(10) & Chr(10) _
                & "Wert: Betrag eintragen €" & Chr(10) & Chr(10) _
                & "Dokument 2" & Chr(10) & Chr(10) _
                & "Ausgang: Datum eintragen"
                .Comment.Shape.TextFrame.Characters(Start:=1, Length:=14).Font.ColorIndex = 3
                .Comment.Shape.TextFrame.Characters(Start:=1, Length:=14).Font.Bold = True
                .Comment.Shape.TextFrame.AutoSize = True
                .Comment.Shape.TextFrame.AutoMargins = True
              
ElseIf .Value = "Jackpot: ja" And .Comment Is Nothing Then

                .AddComment.Text "Ausschüttung 3" & Chr(10) & Chr(10) _
                & "Wert: Betrag eintragen €" & Chr(10) & Chr(10) _
                & "Dokument 3" & Chr(10) & Chr(10) _
                & "Ausgang: Datum eintragen"
                .Comment.Shape.TextFrame.Characters(Start:=1, Length:=14).Font.ColorIndex = 3
                .Comment.Shape.TextFrame.Characters(Start:=1, Length:=14).Font.Bold = True
                .Comment.Shape.TextFrame.AutoSize = True
                .Comment.Shape.TextFrame.AutoMargins = True
            End If
    End With
Next rngZelle
End Sub

(08.05.2021, 10:32)TxbyFmjy schrieb:
Code:
Public Sub kommentar_aus_zelle_einfuegen_4()
'** Dimensionierung der Variablen
Dim kom1 As Comment
Dim kom2 As Comment
Dim zelle As Object
'** Alle markierten Zellen durchlaufen
For Each zelle In Selection
With zelle
    If .Value = "421: ja" Then
        If .Comment Is Nothing Then '--wenn kein Kommentar
          Set kom1 = .AddComment
          kom1.Text Date & Chr(10) & .Value
        Else '--wenn ein Kommentar
          Set kom2 = .Comment
          kom2.Text Text:=Date & Chr(10) & .Comment.Text & Chr(10) & .Value & Chr(10) & "Formular 1"
        End If
    End If
    If .Value = "422: ja" Then '--wenn kein Kommentar
        If .Comment Is Nothing Then
          Set kom1 = .AddComment
          kom1.Text Date & Chr(10) & .Value
        Else '--wenn ein Kommentar
          Set kom2 = .Comment
          kom2.Text Text:=Date & Chr(10) & .Comment.Text & Chr(10) & .Value & Chr(10) & "Formular 2"
        End If
    End If
End With
Next zelle
End Sub

Dies reicht mir für diesen Anwendungsfall vollkommen aus.
Antworten Top
#30
(10.05.2021, 10:58)bug99 schrieb: Schreib die Kommentare in eine eigene Tabelle und verweise per hyperlink dorthin
falls die Kommentare für viele Zellen identisch sind reduziert sich auch die Anzahl der Kommentare
oder mit VBA zu einer msgbox

Herzlichen Dank für deinen Tipp.

Ich arbeite mit (diverse*n) Kolleg*innen zusammen, die - (mich eingeschlossen) auch oftmals lediglich aus Zeitgründen - Texte und Bilder zu Informationen nicht im Zusammenhang lesen können. Wenn eine Tabelle nicht nur von einer einzigen (diverse*n) Kollegin/einem einzigen (diverse*n) Kollegen bearbeitet wird, sondern von (diverse*n) Kolleg*innen, die in der Praxis im Allgemeinen allesamt - mich eingeschlossen - keine Excel-Nerds sind, sondern so gut es eben geht von der Hand in den Mund leben, so führt eine zunehmende Komplexität einer Excel-Tabelle zu erheblichen Problemen im betrieblichen Alltag. Daraus können sogar Folgekosten ausgelöst durch unkollegiale Konflikte entstehen.

Eine Excel-Tabelle idiotensicher zu machen, ist sicherlich möglich, wenn z. Bsp. Benutzereingaben über Masken gesteuert werden, etc., aber eine Herkulesaufgabe im betrieblichen Alltag wo alles industriell getaktet immer nur schnell schnell gehen soll.

Um mir das Abschreiben aller bereits vorhandenen Kommentare zu ersparen, ließen sich alle bereits vorhanden Kommentare auf ein neues Blatt kopieren:

Code:
Sub KommentareInNeuesBlattSchreiben()
    Dim wksMitKommentaren As Worksheet  'die Tabelle mit Kommentaren
    Dim wksAusdruck As Worksheet        'die Tabelle zum Ausdrucken
    Dim cmtDieser As Comment            'ein Kommentar
    Dim lngZeile As Long

    Set wksMitKommentaren = ActiveSheet     'Achtung, vorher merken, weil neues Blatt kommt
    Set wksAusdruck = ThisWorkbook.Worksheets.Add() 'macht eine neue Tabelle

    With wksAusdruck
        'Titelzeile schreiben:
        lngZeile = 1
        .Cells(lngZeile, 1).Value = "Adresse"           'vor jeden führenden Punkt wird wksAusdruck gesetzt wegen "With"
        .Cells(lngZeile, 2).Value = "Zellwert"
        .Cells(lngZeile, 3).Value = "Kommentar"
        .Cells(lngZeile, 4).Value = "Transparenz"
        .Rows(lngZeile).Font.Bold = True     'Titelzeile fett machen

        For Each cmtDieser In wksMitKommentaren.Comments    'alle Kommentare durchlaufen und in neuer Tabelle auflisten
            lngZeile = lngZeile + 1
            .Cells(lngZeile, 1).Value = cmtDieser.Parent.AddressLocal
            .Cells(lngZeile, 2).Value = cmtDieser.Parent.Value
            .Cells(lngZeile, 3).Value = cmtDieser.Text
            .Cells(lngZeile, 4).Value = cmtDieser.Shape.Fill.Transparency
        Next
    End With
End Sub

Und ein Hyperlilnk ließe sich folgendermaßen realisieren:

Zitat:Excel: Hyperlink auf andere Tabelle einfügen

  1. Wählt die entsprechende Zelle aus und drückt [Strg] + [K].
  2. Wählt im neuen Fenster links „Aktuelles Dokument“ aus. Euch werden unter dem Knotenpunkt „Zellbezug“ alle eure Tabellenblätter angezeigt.
  3. Wählt ein Tabellenblatt aus und gebt darüber die Zelle ein, auf die verlinkt werden soll. In unserem Beispiel ist das E100.

Wenn ich dabei an meine (diverse*n) Kolleg*innen denke, weiß ich leider nicht, wie ich denen das verkaufen soll. Und wenn ich es nicht verkauft kriege, bleibt es im Regal liegen. Im Übrigen möchte ich meinen (diverse*n) Kolleg*innen das gar nicht zumuten. Ich wollte nur unter dem Radar meine Arbeit von Routinetippereien ein wenig entlasten.
Antworten Top


Gehe zu:


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