Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1480to1484
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 nach Zelleninhalt vergeben

Kommentare nach Zelleninhalt vergeben
18.03.2016 09:35:46
Jubeldibub
Hallo!
Ich würde gerne bei den Zellen einer Spalte Kommentare durch einen Makroaufruf je nach Zelleninhalt automatisch vergeben.
Mal konkret: In einer Spalte stehen untereinander diverse Zahlen. Zum Beispiel (neben vielen anderen) 1, 17 und 38. Das Makro soll nun je Zahl einen bestimmten Kommentar in die Zelle einfügen. Bei allen Zellen mit Inhalt "1" soll der Kommentar "Quark", bei allen Zellen mit Inhalt "17" soll der Kommentar "Quatsch" und bei allen Zellen mit Inhalt 38 soll der Kommentar "Unsinn" eingefügt werden.
Ist das möglich?

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentare nach Zelleninhalt vergeben
18.03.2016 09:47:11
ChrisL
Hi
Sub t()
Dim i As Long
For i = 1 To Range("A65536").End(xlUp).Row
Select Case Cells(i, 1)
Case 1: Call MachComment(i, "Quark")
Case 2: Call MachComment(i, "Joghurt")
Case 3: Call MachComment(i, "Käse")
Case 4: Call MachComment(i, "Wurst")
End Select
Next i
End Sub
Private Sub MachComment(i As Long, strText As String)
With Cells(i, 1)
.ClearComments
.AddComment
.Comment.Visible = False
.Comment.Text Text:=strText
End With
End Sub

cu
Chris

AW: Kommentare nach Zelleninhalt vergeben
18.03.2016 09:59:37
UweD
Hallo
so..

Option Explicit
Sub Quatsch()
On Error GoTo Fehler
Dim TB1, i%
Dim SP%, ZE&, LR&
Application.ScreenUpdating = False
Set TB1 = ActiveSheet
SP = 1 'Spalte A
ZE = 2 'ab Zeile
LR = TB1.Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte
For i = ZE To LR
With TB1.Cells(i, SP)
Select Case .Value
Case 1
.ClearComments
.AddComment
.Comment.Visible = False
.Comment.Text Text:="Quark"
Case 17
.ClearComments
.AddComment
.Comment.Visible = False
.Comment.Text Text:="Quatsch"
Case 38
.ClearComments
.AddComment
.Comment.Visible = False
.Comment.Text Text:="Unsinn"
Case Else
.ClearComments
End Select
End With
Next
'*** Fehlerbehandlung
Err.Clear
Fehler:
If Err.Number  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
End Sub
Gruß UweD

Anzeige
AW: Kommentare nach Zelleninhalt vergeben
18.03.2016 10:17:53
hary
Moin
Einen hab ich auch noch.Entfernt den evtl. vorhanden Kommentar.
Dim zelle As Range
Dim strText As String
Dim wks As Worksheet
Set wks = Worksheets("Tabelle1") '--Blattname anpsssen
For Each zelle In wks.Range("A1:A" & wks.Cells(Rows.Count, 1).End(xlUp).Row) '--Range anpassen
With zelle
Select Case .Value
Case 1: strText = "Quark"
Case 17: strText = "Quatsch"
Case 38: strText = "Unsinn"
Case Else: strText = ""
End Select
If Not .Comment Is Nothing Then .Comment.Delete '--entfernt alten Kommentar falls vorhanden
If strText  "" Then
.AddComment
.Comment.Text Text:=strText
End If
End With
Next

gruss hary

Anzeige
AW: Kommentare nach Zelleninhalt vergeben
18.03.2016 10:40:53
Jubeldibub
Danke euch dreien! Ich probiere das nachher mal und melde mich, wenn ich auf Schwierigkeiten stoßen sollte.

AW: Kommentare nach Zelleninhalt vergeben
18.03.2016 10:45:21
Herbert
Hallo,
meinst du mit "Bei allen Zellen mit Inhalt "1" " auch die Zellen mit 10,11...,21, 31, etc.?

AW: Kommentare nach Zelleninhalt vergeben
18.03.2016 11:29:08
Herbert
Hallo,
falls du doch noch alle Zellen mit einer 1 ansprechen willst:
Sub KommentarSetzen()
Dim i As Long, sZahl$, sText$
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
sZahl = Cells(i, 1).Value
sText = "Quark"
If sZahl = 17 Then sText = "Quatsch"
If sZahl = 38 Then sText = "Unsinn"
If CBool(InStr(sZahl, "1")) Or CBool(InStr(sZahl, "17")) Or CBool(InStr(sZahl, "38"))  _
Then
Cells(i, 1).ClearComments
Cells(i, 1).AddComment
Cells(i, 1).Comment.Text Text:=sText
End If
Next i
End Sub

Nur mit deinen "fixen" Suchbegriffen geht es am Kürzesten so:
Sub KommentarSetzen()
Dim i As Long, iZahl%, sText$
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
iZahl = Cells(i, 1).Value
If iZahl = 1 Then sText = "Quark"
If iZahl = 17 Then sText = "Quatsch"
If iZahl = 38 Then sText = "Unsinn"
If iZahl = 1 Or iZahl = 17 Or iZahl = 38 Then
Cells(i, 1).ClearComments
Cells(i, 1).AddComment
Cells(i, 1).Comment.Text Text:=sText
End If
Next i
End Sub
Servus

Anzeige
AW: Kommentare nach Zelleninhalt vergeben
18.03.2016 11:49:41
Jubeldibub
Hi Herbert,
danke, aber nein, ich meinte schon den gesamten Zelleninhalt, also wirklich 1, 17 oder eben eine andere Zahl :)
Grüße
Markus

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige