Herbers Excel-Forum - das Archiv

Suchergebnisse

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Suchergebnisse
von: Dunrell

Geschrieben am: 20.12.2006 10:24:28
Hallo Heiko,
hatte gestern Abend noch geantwortet. Komischerweise ist der ganze Vorgang aber dann (wohl über Nacht) archiviert worden. Deshalb konntest Du wahrscheinlich nicht mehr darauf antworten.
Die Sache an sich hat sich eigentlich soweit erledigt. Allerdings fragtest Du mich noch, was ich mit meiner letzten Antwort bezweckte. Hier die Erklärung:
Was ich wollte, war, daß die Zelle, die gefunden wird (der Wert liegt der Variablen SuchenNeu zugrunde) dann auch aktiviert sprich quasi automatisch angeklickt wird. Damit also die betreffende Zelle auch gleich in der Tabelle angezeigt wird. Sollte diese nämlich weiter unten in einem Tabellenteil liegen, der nicht im momentanen Fensterausschnitt zu sehen ist, hätte man immer noch scrollen müssen, um die markierte Zelle zu finden. Das hat sich aber jetzt - wie gesagt - erledigt.
Falls Du aber dennoch etwas behilflich sein möchtest - hier wäre noch `ne Frage. Muß aber nicht unbedingt sein. Geht ja eigentlich jetzt auch so. Am Ende stelle ich dann noch mal den gesamten Code, wie er jetzt aussieht, ein. Dann kannst Du sehen, was ich meine.
Nun aber zu der noch offenen Frage. Wenn die Zelle markiert und als aktiv gekennzeichet (angeklickt) wurde, sehe ich diese ja im Ausschnitt. Was aber muß ich statt einer Zellaktivierung an Code eingeben, das die ganze ZEILE, in der die Zelle sich befindet angeklickt, also aktiviert wird? Sowas hatte ich bis heute noch nicht zu programmieren. Vielleicht weißt Du da ja noch mal Rat.
Ich danke Dir - auch falls jetzt nichts mehr von Dir kommt.
;-)
Ciao
Hier der Code
Private Sub CommandButton1_Click()
ActiveWindow.ScrollRow = 1
Range("A1").Select
Range("B1").Value = ""
Range("B8:L245").Interior.ColorIndex = xlNone
Dim Zelle As Range
Dim SuchenNeu As String, SuchenAlt As String
Dim Farbe As Long
SuchenNeu = InputBox("Suchbegriff", " Suchbegriff", "")
If SuchenNeu = "" Then Exit Sub
Range("B1").Value = SuchenNeu
With ActiveSheet.UsedRange
Set Zelle = .Find(SuchenNeu, LookIn:=xlValues)
If Not Zelle Is Nothing Then
SuchenAlt = Zelle.Address
Do
Farbe = Zelle.Interior.ColorIndex
Zelle.Interior.ColorIndex = 3
If Range("B1").Value = SuchenNeu Then Zelle.Activate
If MsgBox(" Weitersuchen?", vbYesNo + vbQuestion) = vbNo Then
Exit Sub
End If
Zelle.Interior.ColorIndex = Farbe
Set Zelle = .FindNext(Zelle)
Loop While Not Zelle Is Nothing And Zelle.Address <> SuchenAlt
End If
End With
End Sub

Bild

Betrifft: AW: Suchergebnisse
von: Heiko S.
Geschrieben am: 20.12.2006 10:29:39
Hallo Dunrell,
ungetestet, aber so sollte es gehen.
Diese Zeile
If Range("B1").Value = SuchenNeu Then Zelle.Activate
so ändern.
If Range("B1").Value = SuchenNeu Then Zelle.EntireRow.Activate
Gruß Heiko
PS: Rückmeldung wäre nett !
Bild

Betrifft: AW: Suchergebnisse
von: Dunrell
Geschrieben am: 20.12.2006 10:42:25
So Heiko - Das nenne ich einen Volltreffer!
Klappt wunderbar.
Ich danke Dir nochmals.
;-)
Ciao und merry X-Mas.
Bild

Betrifft: AW: Suchergebnisse
von: Dunrell

Geschrieben am: 20.12.2006 11:01:18
Stop Heiko! Doch noch `ne neue Idee.
Sorry, ich weiß, ich komm` hinterher wie die alte Fastnacht!
;-)
Diese Zeile hier
If Range("B1").Value = SuchenNeu Then Zelle.Activate
so verändert, daß zusätzlich zur eigentlichen Zelle auch noch die von dort aus gezählt achte ebenfalls farbig unterlegt und aktiviert wird (Also jetzt nicht mehr die erste Zelle aktivieren, sondern eben diese von dort aus gesehen achte!).
Ist das möglich?
Danke.
;-)
Bild

Betrifft: AW: Suchergebnisse
von: Heiko S.

Geschrieben am: 20.12.2006 11:08:32
Hallo Dunrell,
du sprichst mal wieder in Rätseln.
Zitat :
" Diese Zeile hier
If Range("B1").Value = SuchenNeu Then Zelle.Activate
so verändert, daß zusätzlich zur eigentlichen Zelle auch noch die von dort aus gezählt achte ebenfalls farbig unterlegt und aktiviert wird (Also jetzt nicht mehr die erste Zelle aktivieren, sondern eben diese von dort aus gesehen achte!). "
In einen Satz sagst du ZUSÄTZLICH auch die achte markiert werden soll und in Klammern dann ALSO JETZT NICHT MEHR DIE ERSTE.
Ja was denn nun ?!
Gruß Heiko
Bild

Betrifft: AW: Suchergebnisse
von: Dunrell
Geschrieben am: 20.12.2006 11:13:19
Also, die erste Zelle nur MARKIEREN (farbig unterlegen), die von dort aus gezählt achte MARKIEREN und AKTIVIEREN.
War wirklich etwas kryptisch beschrieben.
Sorry...
;-)
Bild

Betrifft: AW: Suchergebnisse
von: Heiko S.
Geschrieben am: 20.12.2006 11:16:17
Hallo Dunrell,
ja und welche achte denn.
Beispiel:
Eintrag gefunden in Zelle H11, ist die achte dann P8 (also acht Spalten weiter) oder H19 (also acht Zeilen weiter).
Gruß Heiko
Bild

Betrifft: AW: Suchergebnisse
von: Dunrell
Geschrieben am: 20.12.2006 11:23:57
Na, jetzt aber hoch wissenschaftlich. Hehehe...
Wenn die erste Zelle die B8 ist, ist die achte von da an die Zelle J8. Also fast so, wie in Deinem zweiten Beispiel H11 und dann aber P11. Also spaltenweise verschoben. Nicht zeilenweise.
;-)
Bild

Betrifft: AW: Suchergebnisse
von: Heiko S.

Geschrieben am: 20.12.2006 11:28:41
Hallo Dunrell,
dann vielleicht so, wenn ich auch ein bisschen den Überblick verloren habe was du willst.
Mit Offset(row,column) kann man sich jedenfalls auf benachbarte Zellen beziehen.
Private Sub CommandButton1_Click()
Dim Zelle As Range
Dim SuchenNeu As String, SuchenAlt As String
Dim Farbe As Long
ActiveWindow.ScrollRow = 1
Range("A1").Select
Range("B1").Value = ""
Range("B8:L245").Interior.ColorIndex = xlNone
SuchenNeu = InputBox("Suchbegriff", " Suchbegriff", "")
If SuchenNeu = "" Then Exit Sub
Range("B1").Value = SuchenNeu
With ActiveSheet.UsedRange
Set Zelle = .Find(SuchenNeu, LookIn:=xlValues)
If Not Zelle Is Nothing Then
SuchenAlt = Zelle.Address
Do
Farbe = Zelle.Interior.ColorIndex
Zelle.Interior.ColorIndex = 3
Zelle.Offset(0, 8).Interior.ColorIndex = 3
If Range("B1").Value = SuchenNeu Then Zelle.Offset(0, 8).Activate
If MsgBox(" Weitersuchen?", vbYesNo + vbQuestion) = vbNo Then
Exit Sub
End If
Zelle.Interior.ColorIndex = Farbe
Zelle.Offset(0, 8).Interior.ColorIndex = Farbe
Set Zelle = .FindNext(Zelle)
Loop While Not Zelle Is Nothing And Zelle.Address <> SuchenAlt
End If
End With
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Bild

Betrifft: AW: Suchergebnisse
von: Dunrell
Geschrieben am: 20.12.2006 11:46:27
Heiko, mein Freund, ich muß Dir sagen, daß ich stolz auf Dich bin!
Echt stark. Es funzt!
Vielen, vielen Dank noch mal.
Und jetzt nerve ich Dich nicht mehr.
Versprochen!
;-)
Ciao und mach`s gut!
Bild

Betrifft: AW: Suchergebnisse
von: Heiko S.

Geschrieben am: 20.12.2006 11:57:09
Hallo Dunrell,
wie James Bond schon wußte.
Never say never again!
Also schauen wir mal ;-)
Gruß Heiko
 Bild