Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1584to1588
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

Suchen und alle Zeilen markien

Suchen und alle Zeilen markien
26.10.2017 11:32:50
Werner
Hallo!
Ich verzweifele an meinem Problem.
Mir dem unten stehenden Code suche ich nach einer Stadt.
Alle Fundstellen (ganze Zeilen) sollen markiert werden.
Aber ab einer gewissen Anzahl an Fundstellen (ich weiß nicht ab wie vielen) meckert das Makro an der Stelle "Range(sR).Select"
Kann mir jemand sagen wo mein Fehler liegt?
Gruß und Danke!
Werner
Sub Suche_Ort()
Dim c As Range
Dim strBegriff As String, sR As String
Dim laR As Long
Dim t As Boolean
strBegriff = ActiveCell.Value
If strBegriff = "" Then Exit Sub
laR = Cells(Rows.Count, 1).End(xlUp).Row
t = False
For Each c In Range("A5:A" & laR)
If c.Value = strBegriff Then
t = True
sR = sR & c.Row & ":" & c.Row & ","
End If
Next c
If t = True Then
sR = Left(sR, Len(sR) - 1)
Range(sR).Select
Else
Beep
MsgBox "Suchbegriff wurde nicht gefunden!"
End If
Dim SelectedRows As Range
Set SelectedRows = Selection.Rows
Set SelectedRows = SelectedRows.Worksheet.Range( _
SelectedRows.Worksheet.Cells.Item(SelectedRows.Cells(1).Row, 1), _
SelectedRows.Worksheet.Cells.Item(SelectedRows.Cells(SelectedRows.  _
_
Cells.Count).Row, 10))
Call SelectedRows.Sort(SelectedRows.Columns.Item(3), xlAscending)
End Sub

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Suchen und alle Zeilen markien
26.10.2017 12:24:04
Daniel
Hi
du sprichst hier den Zellbereich über einen Textstring mit der Zelladresse an. ("2:2,4:4,6:6")
hierbei darf der Textstring maximal 256 Zeichen lang sein.
das ist hier aber nicht notwendig, das geht auch anders:

For Each c In Range("A5:A" & laR)
If c.Value = strBegriff Then
If SelectedRows is Nothing then
set SelectedRows = c.entireRow
else
set SelectedRows = Union(SelectedRows, c.EntireRow)
end if
end if
Next
if SelectedRows is Nothing then
Msgbox "Suchbegriff wurde nicht gefunden"
Else
'--- hier dann der weitere Code
End if
und hier nochmal eine andere Methode, die aber nicht angewendet werden kann, wenn in Spalte A Formeln stehen:
with Columns(1)
if Worksheetfunction.CountIf(.Cells, strSuchbegriff) = 0 Then
Msgbox "Suchbegriff nicht gefunden"
Exit Sub
end if
.Replace strSuchbegriff, true, xlwhole
set SelectedRows = .Specialcells(xlcelltypeconstants, 4).entireRow
.Replace true, strSuchbegriff, xlwhole
End with
Gruß Daniel
Anzeige
AW: Suchen und alle Zeilen markien
26.10.2017 12:59:59
Werner
Hallo Daniel
Danke für deine Antwort!
Ich glaube meine Angabe "VBA gut" war übertrieben. ;-)
Wenn ich den Code so wie unten laufe lasse passiert einfach gar nichts?!
Ich weiß aber nicht, ob ich oben DIM ... richtig gemacht habe.
Grundsätzlich möchte ich nach einem Wort suchen und dann im gesamten Fund-Bereich die Spalten 1 bis 6 nach der Spalte 3 (Datum) sortieren.
Gruß
Werner
Option Explicit
Sub Suche_Ort()
Dim c As Range
Dim strBegriff As String, sR As String
Dim laR As Long
Dim t As Boolean
Dim SelectedRows As Range
strBegriff = ActiveCell.Value
If strBegriff = "" Then Exit Sub
laR = Cells(Rows.Count, 1).End(xlUp).Row
t = False
For Each c In Range("A5:A" & laR)
If c.Value = strBegriff Then
If SelectedRows Is Nothing Then
Set SelectedRows = c.EntireRow
Else
Set SelectedRows = Union(SelectedRows, c.EntireRow)
End If
End If
Next
If SelectedRows Is Nothing Then
MsgBox "Suchbegriff wurde nicht gefunden"
Else
Set SelectedRows = Selection.Rows
Set SelectedRows = SelectedRows.Worksheet.Range( _
SelectedRows.Worksheet.Cells.Item(SelectedRows.Cells(1).Row, 1), _
SelectedRows.Worksheet.Cells.Item(SelectedRows.Cells(SelectedRows.Cells.Count).Row, 10))
Call SelectedRows.Sort(SelectedRows.Columns.Item(3), xlAscending)
End If
Anzeige
AW: Suchen und alle Zeilen markien
26.10.2017 13:11:06
Daniel
Hi
sortieren kannst du immer nur einen ganzen Zellblock
es ist nicht möglich, die Zellen 2, 4, 6 unabhängig von den Zellen 3 und 5 zu sortieren.
Gruß Daniel
AW: Suchen und alle Zeilen markien
26.10.2017 13:18:16
Werner
Hallo Daniel
Ich denke ich habe es hinbekommen. :-)
Sub Suche_Ort()
Dim c As Range
Dim strBegriff As String, sR As String, strSuchbegriff As String
Dim laR As Long
Dim t As Boolean
Dim SelectedRows As Range
strSuchbegriff = ActiveCell.Value
With Columns(1)
If WorksheetFunction.CountIf(.Cells, strSuchbegriff) = 0 Then
MsgBox "Suchbegriff nicht gefunden"
Exit Sub
End If
.Replace strSuchbegriff, True, xlWhole
Set SelectedRows = .SpecialCells(xlCellTypeConstants, 4).EntireRow
.Replace True, strSuchbegriff, xlWhole
Call SelectedRows.Sort(SelectedRows.Columns.Item(3), xlAscending)
End With
End Sub
So sortiert Excel mir den Bereich nach Spalte 3
Perfekt :-)
VIELEN DANK für deine Hilfe!
Gruß
Werner
Anzeige

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige