Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1120to1124
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
For each im Bereich
WolfgangN
Hallo,
nachdem mir gerade Rudi geholfen hat, habe ich noch eine Frage. Im folgendem Makro wird in Zellen mit Kommentaren ein in einer Textbox eingegebener Begriff gesucht. Die gefundenen Zellen erhalten einen Rahmen. Dies klappt auch.
Ich möchte jetzt das nicht in allen Zellen mit Kommentaren gesucht wird, sondern nur in den Spalten C,D,E.
Wie kann ich den Bereich nur für diese 3 Spalten eingrenzen.
Vielen Dank und Gruß
Wolfgang
Private Sub CommandButton4_Click()
Dim varAbfrage As Variant
Dim comZelle As Comment
Dim lngCounter As Long
varAbfrage = TextBox2.Value
If varAbfrage  "" Then
For Each comZelle In ActiveSheet.Comments
If InStr(comZelle.Shape.DrawingObject.Text, varAbfrage) > 0 Then
lngCounter = lngCounter + 1
ActiveSheet.Range(comZelle.Parent.Cells.Address).Borders _
(xlEdgeLeft).LineStyle = xlContinuous
End If
Next comZelle
If lngCounter = 0 Then
MsgBox "Kein Begriff"
End If
End If
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: For each im Bereich
02.12.2009 12:01:33
Rudi
Hallo,
For Each comZelle In ActiveSheet.Columns("C:E").Comments
Gruß
Rudi
AW: For each im Bereich
02.12.2009 12:16:24
WolfgangN
Hallo Rudi,
vielen Dank für Deine wiederholte Hilfe, leider bekomme ich jetzt in Deiner Zeile die Fehlermeldung: Laufzeitfehler 438, Objekt unterstützt diese Eigenschaft oder Methode nicht.
Würde mich über nochmalige Hilfe freuen.
Gruß
Wolfgang
AW: For each im Bereich
02.12.2009 13:22:51
Rudi
Hallo,
mein Fehler.
Private Sub CommandButton4_Click()
Dim varAbfrage As Variant
Dim comZelle As Range
Dim rCom As Range
Dim lngCounter As Long
On Error Resume Next
Set rCom = Columns("C:E").SpecialCells(xlCellTypeComments)
On Error GoTo 0
If rCom Is Nothing Then
MsgBox "keine Kommentare im Bereich", , "Info"
Else
varAbfrage = TextBox2.Value
If varAbfrage  "" Then
For Each comZelle In rCom
If InStr(comZelle.Comment.Text, varAbfrage) > 0 Then
lngCounter = lngCounter + 1
ActiveSheet.Range(comZelle.Parent.Cells.Address).Borders _
(xlEdgeLeft).LineStyle = xlContinuous
End If
Next comZelle
If lngCounter = 0 Then
MsgBox "Kein Begriff"
End If
End If
End If
End Sub

Gruß
Rudi
Anzeige
AW: For each im Bereich
02.12.2009 13:54:19
WolfgangN
Hallo Rudi,
nochmals Dank, es kommt jetzt keine Fehlermeldung mehr, es wird aber auch kein Rahmenteil gesetzt, obwohl vorhandener Begriff enthalten ist..
Das Makro läuft auch ca. 1 min, vorher nur Sekundenbruchteile.
Könntest Du nochmals helfen?
Gruß
Wolfgang
AW: For each im Bereich
02.12.2009 16:29:40
fcs
Hallo Wolggang,
folgende Anpassung deiens ursprünglichen Makros beschränkt die markierung auf Zellen mit markierungen in den palten C bis E
Gruß
Franz
Private Sub CommandButton4_Click()
Dim varAbfrage As Variant
Dim comZelle As Comment
Dim lngCounter As Long
varAbfrage = TextBox2.Value
If varAbfrage  "" Then
For Each comZelle In ActiveSheet.Comments
Select Case ActiveSheet.Range(comZelle.Parent.Cells.Address).Column
Case 3 To 5 'Spalten 3 bis 5 ( C bis E) weiter prüfen
If InStr(comZelle.Shape.DrawingObject.Text, varAbfrage) > 0 Then
lngCounter = lngCounter + 1
ActiveSheet.Range(comZelle.Parent.Cells.Address).Borders _
(xlEdgeLeft).LineStyle = xlContinuous
End If
Case Else
'do nothing
End Select
Next comZelle
If lngCounter = 0 Then
MsgBox "Kein Begriff"
End If
End If
End Sub

Anzeige
Danke
02.12.2009 16:42:36
WolfgangN
Hallo Franz,
es funktioniert jetzt super.
Vielen Dank
Gruß
Wolfgang

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige