Hallo zusammen,
ich habe eine Excel Tabelle mit Format
Aufzählung; Daten1; Daten2; Daten3
und würde gerne sämtliche Informationen aus Daten3 als Kommentar in Daten2 ablegen wollen - für alle Zeilen!
Könnt’ Ihr mir weiterhelfen?
Gruß+Dank
Pole
Z.B.
1; Auto; Grau; Verkaufsschlager
2; Haus; Pink; Ladenhüter
soll zu
1; Auto; Grau ‚Kommentarfeld: Verkaufsschlager‘;
2; Haus; Pink ‚Kommentarfeld: Ladenhüter‘;
werden.
Hallo Pole,
Umwandlung geht per Makro:
Sub InhaltzuKommentar()
Dim Zellen As Range, Zelle As Range
'Zellen in Spalte 3 als Bereich festlegen
Set Zellen = ActiveSheet.Range(Cells(2, 3), Cells(ActiveSheet.UsedRange.Rows.Count, 3))
'Inhalt Spalte 4 als Kommentar in Zellen festlegen
For Each Zelle In Zellen
If Zelle.Comment Is Nothing Then 'Prüfung, ob Kommentar vorhanden
Zelle.AddComment (ActiveSheet.Cells(Zelle.Row, 4).Value)
Else
Zelle.Comment.Text (ActiveSheet.Cells(Zelle.Row, 4).Value)
End If
Next Zelle
End Sub
Gruß
Franz
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Auch ein Variante
Hallo,
der Makro überträgt Dir aus dem markierten Bereich alle Zellinhalte der letzten Spalte als Kommentar in die Zellen der ersten Spalte
Sub Makro1()
If ActiveWindow.Selection.Columns.Count = 1 Then
MsgBox ("Bitte markieren Sie zwei Spalten für den Kommentarübertrag")
Else
Dim nCounter
For nCounter = 1 To ActiveWindow.Selection.Rows.Count
With ActiveWindow.Selection.Cells(nCounter, 1)
If .Comment Is Nothing Then .AddComment
.Comment.Text Text:=ActiveWindow.Selection.Cells(nCounter, ActiveWindow.Selection.Columns.Count).Value
End With 'ActiveWindow.Selection.Cells(nCounter, 1)
' ActiveWindow.Selection.Cells(nCounter, ActiveWindow.Selection.Columns.Count).Value = ""
Next nCounter
End If ' ActiveWindow.Selection.Columns.Count = 1
End Sub
Wenn Du die alte Kommentarzelle löschen willst, dann musst Du bei der Zeile
' ActiveWindow.Selection.Cells(nCounter, ActiveWindow.Selection.Columns.Count).Value = ""
das ’ entfernen.
Gruß Christian