Microsoft Excel

Herbers Excel/VBA-Archiv

Zellkommentare in eine Eingabemeldung wandeln | Herbers Excel-Forum


Betrifft: Zellkommentare in eine Eingabemeldung wandeln von: vati
Geschrieben am: 18.01.2012 14:51:10

Hallo zusammen,

gibt es die Möglichkeit, mittels VBA, mehrere Excel- Zellkommentare in eine Eingabemeldung zu wandeln?

Hintergrund:
Ich habe mehrere Tabellen mit unzähligen Kommentaren und möchte diese gern in Eingabemeldungen umwandeln.
Die Eingabemeldung soll immer zu der Zelle gehören, in der der Kommentar steht.
Die Kommentare können im Anschluss gelöscht werden.
Copy/ Paste ist zu aufwändig.

Weiß jemand, ob und wie dies per VBA möglich ist?

Danke vorab & Viele Grüße
Vati

  

Betrifft: AW: Zellkommentare in eine Eingabemeldung wandeln von: Rudi Maintaire
Geschrieben am: 18.01.2012 15:20:26

Hallo,
so:

Sub xxxx()
  Dim cmt As Comment
  For Each cmt In ActiveSheet.Comments
    With cmt.Parent.Validation
      .Delete
      .Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
        :=xlBetween
      .IgnoreBlank = True
      .InCellDropdown = True
      .InputTitle = ""
      .ErrorTitle = ""
      .InputMessage = cmt.Text
      .ErrorMessage = ""
      .ShowInput = True
      .ShowError = True
    End With
    cmt.Delete
  Next
End Sub

Gruß
Rudi


  

Betrifft: AW: Ich erhalte: Laufzeitfehlen '1004' von: vati
Geschrieben am: 18.01.2012 15:40:03

Hallo Rudi,

viele Dank, für deine hilfe.

Ich erhalte bei beiden Varianten:

Laufzeitfehlen '1004'

.InputMessage = cmt.Text

Was muss ich noch anpassen?

V.G. Vati


  

Betrifft: kürzer von: Rudi Maintaire
Geschrieben am: 18.01.2012 15:27:07

Hallo,

Sub xxxx()
  Dim cmt As Comment
  For Each cmt In ActiveSheet.Comments
    With cmt.Parent.Validation
      .Delete
      .Add xlValidateInputOnly
      .InputMessage = cmt.Text
    End With
    cmt.Delete
  Next
End Sub

Gruß
Rudi


  

Betrifft: AW: kürzer von: vati
Geschrieben am: 18.01.2012 15:46:43

Hallo Rudi,

ich sehe gerade, dass das Makro trotz Fehlermeldung fasst alle Kommentare ersetzt hat.
Es sind noch ca. 20 übrig, welche ich auch per Hand ändern könnte.

Das Problem möchte ich jedoch trotzden gern erfahren / lösen. :)

Danke & Viele Grüße

Vati


  

Betrifft: Text zu lang? von: Rudi Maintaire
Geschrieben am: 18.01.2012 16:03:04

Hallo,
die Eingabeaufforderung kann max. 254 Zeichen.

.InputMessage = left(cmt.Text, 254)

Gruß
Rudi


Beiträge aus den Excel-Beispielen zum Thema "Zellkommentare in eine Eingabemeldung wandeln"