Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
984to988
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
984to988
984to988
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

kann man Kommentare (per Makro) durchsuchen?

kann man Kommentare (per Makro) durchsuchen?
09.06.2008 17:06:00
Sirko
Hallo allerseits,
ich habe in einer vorhandenen Excel-Tabelle zusätzliche Informationen als Kommentare eingefügt, da es anfangs Einzeldaten waren, für die sich keine separate Spalte gelohnt hätte.
Zwischenzeitlich hat sich da einiges an Infos angesammelt, so dass ich die Kommentare gern (unabhängig von der vorhandenen Suchfunktion) mit einer buchstabensensitiven Suche durchforsten möchte.
Ist es überhaupt möglich, die Kommentare so zu durchsuchen?
Kennt jemand evt. Online-Quellen, wo man sich ein solches Makro vielleicht mal anschauen kann - leider konnte ich per Google-Suche nix brauchbares entdecken.
Viele Grüße
Sirko

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: kann man Kommentare (per Makro) durchsuchen?
09.06.2008 17:13:14
Andi
Hi,
mal als Beispiel; folgendes Makro durchsucht in Spalte A alle Kommentare auf die Buchstabenfolge abcd, und schreibt, wenn es fündig wird, den Kommentar in Spalte B in die gleiche Zeile:

Sub t()
Dim c As Range
For Each c In Range("A:A")
If Not c.Comment Is Nothing Then
If c.Comment.Text Like "*abcd*" Then Range("B" & c.Row).Value = c.Comment.Text
End If
Next c
End Sub


Schönen Gruß,
Andi

AW: kann man Kommentare (per Makro) durchsuchen?
09.06.2008 17:32:00
Sirko
Danke Andi für die schnelle Anwort - es ist also möglich, super!
Konkret habe ich momentan ein Makro gefunden und angepasst, mit dem ich aus den Inhalten der Spalte G eine Art "Auswahl-Liste" erstelle, die immer weniger Fundstellen anzeigt, je mehr Buchstaben eingegeben werden.
Wäre dann RowSource trotzdem "G3:G" & x - auch wenn es um die Kommentare darin geht - bzw. können diese damit ausgelesen werden?

Private Sub TextBox2_Change()
Dim arr() As Variant
Dim index As Integer
x = Range("G65536").End(xlUp).Row
If TextBox2.Value = "" Then
ListBox2.RowSource = "G3:G" & x
Exit Sub
End If
ListBox2.RowSource = ""
ListBox2.Clear
For index = 5 To x
If LCase(Left(Cells(index, 7), Len(TextBox2))) = LCase(TextBox2) Then
If Sheets("Telefonverzeichnis").Cells(index, 7)  "" Then
On Error Resume Next
ReDim Preserve arr(0, 0 To iCount)
arr(0, iCount) = Cells(index, 7)
iCount = iCount + 1
ListBox2.Column = arr
End If
End If
Next
End Sub


Viele Grüße
Sirko

Anzeige
AW: kann man Kommentare (per Makro) durchsuchen?
09.06.2008 17:51:00
Andi
Hi,
ich hab jetzt leider keine Zeit mehr, das nachzubauen oder zu testen, aber ich vermute mal, dass Du die Kommentare in Array schreiben musst, das Du dann als Basis für die ListBox verwendest; ich stell die Frage mal auf offen, vielleicht hat jemand anderes etwas mehr Zeit und kann Dir da ein Beispiel stricken...
Schönen Gruß,
Andi

AW: kann man Kommentare (per Makro) durchsuchen?
10.06.2008 07:04:17
Beverly
Hi Sirko,
mit diesem Code kannst du alle Kommentare im benutzten Bereich des aktiven Tabellenblattes nach dem Inhalt "Hallo" durchsuchen. Falls vorhanden, wird in einer MsgBox die Zelladresse angezeigt

Sub suchen()
Dim raZelle As Range
For Each raZelle In ActiveSheet.UsedRange.SpecialCells(xlCellTypeComments)
If InStr(raZelle.Comment.Text, "Hallo") > 0 Then MsgBox "Kommentar in Zelle " & raZelle. _
Address
Next raZelle
End Sub




Anzeige
AW: kann man Kommentare (per Makro) durchsuchen?
10.06.2008 07:08:00
Beverly
Hi Sirko,
mit diesem Code werden alle Kommentare im benutzten Bereich des aktiven Tabellenblattes nach dem Begriff "Hallo" durchsucht. Wird er gefunden, wird in einer MsgBox die Zelladresse ausgegeben.

Sub suchen()
Dim raZelle As Range
For Each raZelle In ActiveSheet.UsedRange.SpecialCells(xlCellTypeComments)
If InStr(raZelle.Comment.Text, "Hallo") > 0 Then MsgBox "Kommentar in Zelle " & raZelle. _
Address
Next raZelle
End Sub




Anzeige
AW: kann man Kommentare (per Makro) durchsuchen?
11.06.2008 17:01:00
Sirko
Hallo Karin,
vielen Dank für deinen Hinweis!
Wenn ich das jetzt richtig verstehe, müsste ich "lediglich" bei RowSource als Quelle der Liste für mein Listenfeld angeben, dass es nicht die Zell-Inhalte, sondern die Kommentare sind...
...aber wie verweise ich bei dem jetzigen ListBox2.RowSource = "G3:G" & x
auf die Kommentare SpecialCells(xlCellTypeComments)
bzw. erweitere dies entsprechend.
(Sorry, wenn dies für euch selbstverständlich sein sollte - ich versuche gerade erst, mich in diese VBA-Materie einzudenken... btw.: gibt es eine empfehlenswerte Seite und Referenz für Einsteiger zu diesem Thema für Leute, die als Vorkenntnisse lediglich mal Uralt-BASIC kennengelernt hatten?)
Viele Grüße
Sirko

Anzeige
AW: kann man Kommentare (per Makro) durchsuchen?
11.06.2008 17:37:33
Beverly
Hi Sirko,
sorry, ich bin von deinem Eröffnungsbitrag ausgegangen und habe wohl deine Frage falsch verstanden. Ich dachte es geht darum, alle Kommentare nach einem bestimmten Begriff zu durchsuchen, also zu schauen, ob er im Kommentar enthalten ist. Deshalb stelle ich den Beitrag als offen.


AW: kann man Kommentare (per Makro) durchsuchen?
11.06.2008 22:00:48
Mine
Hallo Sirko,
vielleicht kann ich dir mit einem add-ins helfen. Ich weiß nur nicht wie ich das schicken kann. Haste eine Idee? Uber das Forum, das kann ich nicht. Ich lasse die Frage auch vorsichtshalber mal auf.
Gruß Mine

Anzeige
AW: kann man Kommentare (per Makro) durchsuchen?
11.06.2008 22:48:00
asgador
Hallo Mine,
ja, das würde ich gern probieren.
Du kannst es gern an asgador-sp02[at]arcor.de schicken.
...ich sage schon mal danke!
Viele Grüße
Sirko

AW: kann man Kommentare (per Makro) durchsuchen?
23.06.2008 14:51:27
Sirko
Hallo allerseits,
ich hatte nun Zeit, mit den verschiedenen Ansätzen zu experimentieren, komme aber doch nicht weiter...
...unten der Vollständigkeit halber der betreffende Code aus Mines Add-in...
Ich suche nach wie vor eine Möglichkeit, bei dem jetzigen ListBox2.RowSource = "G3:G" & x
auf die Kommentare SpecialCells(xlCellTypeComments) zu verweisen.
Viele Grüße
Sirko

Private Sub CommandButton1_Click()
UserForm1.Hide
End Sub



Private Sub CommandButton2_Click()
On Error Resume Next
Dim aw, nw As Workbook
Dim acs, ncs, aktblatt As Worksheet
Dim blaetter As Variant
Dim acl As Range
UserForm1.Hide
Application.ScreenUpdating = False
Set aw = ActiveWorkbook
Set acs = ActiveSheet
Set acl = Selection
Set nw = Workbooks.Add
Set ncs = nw.Worksheets(1)
i = 4
If UserForm1.OptionButton1 = True Then
For Each c In acs.Comments
ncs.Cells(i, 1) = c.Parent.Address(False, False)
ncs.Cells(i, 2) = c.Parent.Parent.Name
ncs.Cells(i, 3).Formula = c.Text
c.Delete
i = i + 1
Next c
Else
For Each aktblatt In aw.Worksheets
For Each c In aktblatt.Comments
ncs.Cells(i, 1) = c.Parent.Address(False, False)
ncs.Cells(i, 2) = c.Parent.Parent.Name
ncs.Cells(i, 3).Formula = c.Text
i = i + 1
c.Delete
Next c
Next aktblatt
End If
If i > 4 Then
ncs.Cells(3, 1).Formula = "Zelle"
ncs.Cells(3, 2).Formula = "Tabellenblatt"
ncs.Cells(3, 3).Formula = "Kommentartext"
ncs.Cells(3, 1).EntireRow.Font.Bold = True
ncs.Cells(4, 1).AutoFilter
For j = 1 To 3
ncs.Cells(1, j).EntireColumn.AutoFit
Next j
For j = 4 To i
ncs.Cells(j, 1).EntireRow.AutoFit
Next j
ncs.Range("a1") = "Kommentare aus Arbeitsmappe: " & acs.Parent.FullName
ncs.Range("a1").Font.Bold = True
ncs.Name = Left$("Kommentare aus " & acs.Parent.Name, 30)
Else
a = MsgBox("Es wurden keine Kommentare gefunden.", vbOKOnly, "Keine Kommentare gefunden")
ncs.Parent.Close
acs.Activate
End If
Application.ScreenUpdating = True
On Error GoTo 0
End Sub



Private Sub OptionButton1_Click()
End Sub


Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige