Scrollen zur richtigen Zeile
#1
Hallo,

habe folgendes Problemstellung. Ich habe eine Exceltabelle mit über 1900 zeilen. Mein Ziel ist, dass ich z.B. in Zelle E7 eine x-belibige Buchstabenfolge eingebe z.B. abc und mir dann die Zeile nicht herausgefilter wird, sondern soweit hochgescrollt wird, dass ich die entsprechende Zeile sofort ohne danach zu scrollen sehe, in der dann in Spalte E die Buchstabenfolge mit z.B. abc beginnt. Ich hoffe es war irgendwie verständlich.

Beispiel
in E785 steht die Buchstabenfolge abc und dann soll die Zeile 785 soweit hochgescrollt werden, so dass ich es gleich auf dem Bildschirm z.B. nach Spalte 9 sehe. Herausfilttern will ich nicht, weil ich noch die Informationen benötige, welche Inhalte vor und nach der Zeile 785 mit anderen Werte in Spalte E haben.

Würde mich über jegliche Hilfe zu meine Problem sehr freuen.

vg
Andi
Top
#2
Hallo!
- Liste alphabetisch sortiert oder durcheinander.
- genauer Treffer oder Suche mit Asterisken (*)

Unabhängig davon dürfte es auf ActiveWindow.ScrollRow Range.Find(DeineSuche), True hinauslaufen.

Beispieldatei?

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#3
Hallo Andi,

markiere die Spalte E
drücke strg+f
gib abc ein
drücke Enter

Gruß Uwe
Top
#4
(01.06.2016, 15:59)RPP63 schrieb: Hallo!
- Liste alphabetisch sortiert oder durcheinander.
- genauer Treffer oder Suche mit Asterisken (*)

Unabhängig davon dürfte es auf ActiveWindow.ScrollRow Range.Find(DeineSuche), True hinauslaufen.

Beispieldatei?

Gruß Ralf

Hallo Ralf, damit kann ich leider nichts anfangen Sad Ich kann kein VBA... trotzdem danke
Top
#5
(01.06.2016, 17:34)Kuwer schrieb: Hallo Andi,

markiere die Spalte E
drücke strg+f
gib abc ein
drücke Enter

Gruß Uwe

hallo Uwe,

danke für deine Antwort. Wusste es gar nicht, dass so gesucht werden kann. Ist schon eine sehr gute Hilfestellung. Kann so eine Suche auch kombiniert werden.
Z.B. Suche in Spalte E nach abc und gleichzeitig soll in z.B. Spalte F die Ziffer 1 stehen.

Kann so eine manuelle Suche auch als VBA Code eingebunden werden?

Grüße Andi
Top
#6
Hallo Andi,

(02.06.2016, 18:55)Andi1965 schrieb: Kann so eine Suche auch kombiniert werden.
Z.B. Suche in Spalte E nach abc und gleichzeitig soll in z.B. Spalte F die Ziffer 1 stehen.

Kann so eine manuelle Suche auch als VBA Code eingebunden werden?

versuche doch mal, entsprechende Suchvorgänge mit dem Makrorekorder aufzuzeichnen.

Gruß Uwe
Top
#7
Hi Uwe!
Um ein weises Wort gelassen zu wiederholen:
Jetzt wird es spannend!  :21:

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Top
#8
Danke für die Rückmeldungen. Habe nun noch mal nach VBA Codes gegoogelt gefunden haben ich dies:


Code:
Sub Suchfunktion()
    Dim bFound As Boolean
    Dim rC As Range
    Dim tAddr As String
    Dim tSearch As String
    tSearch = InputBox("Suche nach:", "Suchen")
    If tSearch = "" Then Exit Sub
    With ActiveSheet.Cells
        Set rC = .Find(tSearch, LookIn:=xlValues)
        If Not rC Is Nothing Then
            tAddr = rC.Address
            Do
                
MsgBox "Gefunden in " & rC.Address(0, 0) & ", Wert: " & rC.Select
                bFound = True
                Set rC = .FindNext(rC)
            Loop While Not rC Is Nothing And rC.Address <> tAddr
        End If
    End With
    If Not bFound Then MsgBox "Begriff [" & tSearch & "] nicht gefunden!"
End Sub



Kann dieser VBA Code so umgestellt werden, dass siche die Suche nur auf die Spalte F sich bezieht und das zu Suchende z.B. in der Zelle E7 steht??  Im ERgebnis soll dann auf die Zeile gesprungen werden.
Top
#9
Hi,

(03.06.2016, 13:07)Andi1965 schrieb: Kann dieser VBA Code so umgestellt werden, dass siche die Suche nur auf die Spalte F sich bezieht und das zu Suchende z.B. in der Zelle E7 steht??  Im ERgebnis soll dann auf die Zeile gesprungen werden.

So?
Option Explicit

Sub Suchfunktion()
  Dim bFound As Boolean
  Dim rC As Range
  Dim tAddr As String
  Dim tSearch As String
  '    tSearch = InputBox("Suche nach:", "Suchen")
  tSearch = Range("E7")
  If tSearch = "" Then Exit Sub
  With ActiveSheet.Range("F:F")
     Set rC = .Find(tSearch, LookIn:=xlValues)
     If Not rC Is Nothing Then
        tAddr = rC.Address
        Do
           
           MsgBox "Gefunden in " & rC.Address(0, 0) & ", Wert: " & rC.Select
           bFound = True
           Set rC = .FindNext(rC)
        Loop While Not rC Is Nothing And rC.Address <> tAddr
     End If
  End With
  If Not bFound Then MsgBox "Begriff [" & tSearch & "] nicht gefunden!"
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:
  • Andi1965
Top
#10
Vielen Dank Ralf, so geht es.

Noch eine Frage, wäre über VBA auch eine kombinierte Suche möglich?
Also z.B.
suche den Wert von E7 in Spalte F und zeige der Spalte nur an, wenn in Spalte G auch der Wert aus der Zelle F7 steht.

also zwei Suchparamenter sollen in der jeweiligen Zeile in Spalte F und G enthalten sein und dann soll der Courser in diese Zeile springen..



Falls dies nicht geht, könnte ich auch die jeweiligen Zeilen der Spalten F und G mit einer Hilfsspalte verketten und dann nach der dem Verkettungen suchen, richtig?

z.B.
E7 = abc
F7=xyp

Also suche in der Hilfsspalte G nach =abcxyz

VG
Andi
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste