Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1528to1532
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

Spalten markieren wenn in Zelle Begriff gefunden

Spalten markieren wenn in Zelle Begriff gefunden
02.12.2016 10:38:03
Julia
Hallo,
kann mir jemand sagen wie ich das folgende Makro umschreiben muss, damit es nicht die Zeilen sondern die Spalten markiert bzw. in Zeile 4 der Spalten J bis NL sucht?
Wäre toll wenn mir jemand helfen könnte.
Vielen Dank im Voraus.
Julia
Hier der Code, der umgewandelt werden muss:
Option Explicit
Sub SucheSpalteH()
Dim c As Range
Dim strBegriff As String, sR As String
Dim laR As Long
Dim t As Boolean
strBegriff = InputBox("Suchbegriff:")
If strBegriff = "" Then Exit Sub
laR = Cells(Rows.Count, 8).End(xlUp).Row
t = False
For Each c In Range("H1:H" & 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
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: Spalten markieren wenn in Zelle Begriff gefunden
02.12.2016 11:00:54
ChrisL
Hi Julia
Ohne Mehrfachtreffer:
Sub Suche2()
Dim rng As Range
Dim strBegriff As String
Set rng = Range("J4:NL4")
strBegriff = InputBox("Suchbegriff:")
If strBegriff = "" Then Exit Sub
If WorksheetFunction.CountIf(rng, strBegriff) = 0 Then
Beep
MsgBox "Suchbegriff wurde nicht gefunden!"
Else
Columns(Application.Match(strBegriff, rng, 0) + rng.Column - 1).Select
End If
End Sub

cu
Chris
AW: Spalten markieren wenn in Zelle Begriff gefunden
02.12.2016 11:28:38
Julia
Hallo Chris,
habe deine Makro gerade ausprobiert. Funktioniert super, aber ich brauche eine Mehrfachmarkierung, denn ich will damit erreichen, dass ich auf einen Schlag alle gefundenen Spalten gleichzeitig ausblenden oder z.B. auch gruppieren kann.
Kannst du oder jemand anderes mir da weiter helfen?
Gruss
Julia
Anzeige
AW: Spalten markieren wenn in Zelle Begriff gefunden
02.12.2016 12:44:40
ChrisL
Hi Julia
Vielleicht so...
Sub Suche2()
Dim rng As Range, rng2 As Range, c As Range
Dim strBegriff As String
Set rng = Range("J4:NL4")
strBegriff = InputBox("Suchbegriff:")
If strBegriff = "" Then Exit Sub
If WorksheetFunction.CountIf(rng, strBegriff) = 0 Then
Beep
MsgBox "Suchbegriff wurde nicht gefunden!"
Else
For Each c In rng.Cells
If c = strBegriff Then
If rng2 Is Nothing Then
Set rng2 = Columns(c.Column)
Else
Set rng2 = Union(rng2, Columns(c.Column))
End If
End If
Next c
rng2.Select
End If
End Sub

cu
Chris
AW: Spalten markieren wenn in Zelle Begriff gefunden
02.12.2016 13:16:26
Julia
Hallo Chris,
du bist klasse!
Ich danke dir!
Genau was ich wollte. Funktioniert einwandfrei!
Vielen Dank!
Viele Grüsse
Julia
Anzeige
AW: Spalten markieren wenn in Zelle Begriff gefunden
02.12.2016 14:28:25
Julia
Hallo Chris oder auch alle anderen,
habe jetzt das Makro ergänzt mit dem Befehl Gruppieren.
Das klappt auch. Jedoch würde ich das ganze jetzt gerne für 1-51 durchlaufen lassen.....sozusagen als Schleife.
Könntest du /könntet ihr mir dabei helfen? (mit dem Thema Schleifen habe ich mich eigentlich nämlich noch gar nicht befasst . Ich weiß nur dass man das machen kann)
Danke im Voraus für jede Hilfe!
Hier mein Code für den einzelnen Vorgang und Suchwert "1":
Sub SucheUNDgruppieren()
Dim rng As Range, rng2 As Range, c As Range
Dim strBegriff As String
'KW 1 gruppieren
Set rng = Range("J7:NL7")
strBegriff = "1"
If strBegriff = "" Then Exit Sub
If WorksheetFunction.CountIf(rng, strBegriff) = 0 Then
Beep
MsgBox "Suchbegriff wurde nicht gefunden!"
Else
For Each c In rng.Cells
If c = strBegriff Then
If rng2 Is Nothing Then
Set rng2 = Columns(c.Column)
Else
Set rng2 = Union(rng2, Columns(c.Column))
End If
End If
Next c
rng2.Select
End If
Selection.Columns.Group
End Sub

Anzeige
AW: Spalten markieren wenn in Zelle Begriff gefunden
02.12.2016 15:49:07
Werner
Hallo Julia,
offensichtlich suchst du ja jetzt nicht über die Eingabe einer InputBox sondern nach Zahlen, dann einmal die Variable Begriff als Long und nicht als String. Zudem brauchst du bei einer Schleife von 1 bis 51 nicht mehr zu prüfen, ob die Variable Begriff leer ist, die hat ja immer einen Wert (1-51).
Teste mal:
Sub SucheUNDgruppieren()
Dim rng As Range, rng2 As Range, c As Range
Dim loBegriff As Long
'KW 1 gruppieren
Set rng = Range("J7:NL7")
For loBegriff = 1 To 51
If WorksheetFunction.CountIf(rng, loBegriff) = 0 Then
Beep
MsgBox "Suchbegriff wurde nicht gefunden!"
Else
For Each c In rng.Cells
If c = loBegriff Then
If rng2 Is Nothing Then
Set rng2 = Columns(c.Column)
Else
Set rng2 = Union(rng2, Columns(c.Column))
End If
End If
Next c
rng2.Select
End If
Selection.Columns.Group
Next loBegriff
End Sub
Gruß Werner
Anzeige
AW: Spalten markieren wenn in Zelle Begriff gefunden
02.12.2016 16:38:57
Julia
Hallo Werner,
stimmt! Das ist richtig.
Habe gerade mal das Makro getestet anhand einer simplen Testdatei.
Da er immer abgebrochen hatte habe ich den Gruppieren Befehl weiter nach oben gesetzt (ausprobiert), aber jetzt macht er es auch nicht so richtig .....vor allem macht er die Gruppierebenen nicht richtig (sollen insgesamt 2 Gruppierebenen werden - einmal OHNE (Ebene 1)verdecken und einmal MIT (Ebene 2)! )
Markieren klappt aber schon mal aber das reicht mir halt noch nicht! :-(
Könnt ihr es euch mal anschauen, bitte.
hab die Datei hochgeladen:
https://www.herber.de/bbs/user/109850.xlsm
Der Code:
Sub SucheUNDgruppierenAlsSchleife()
Dim rng As Range, rng2 As Range, c As Range
Dim loBegriff As Long
Set rng = Range("J7:NL7")
For loBegriff = 1 To 51
If WorksheetFunction.CountIf(rng, loBegriff) = 0 Then
Beep
MsgBox "Suchbegriff wurde nicht gefunden!"
Else
For Each c In rng.Cells
If c = loBegriff Then
If rng2 Is Nothing Then
Set rng2 = Columns(c.Column)
Selection.Columns.Group
Else
Set rng2 = Union(rng2, Columns(c.Column))
End If
End If
Next c
rng2.Select
End If
Next loBegriff
End Sub

Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige