1.4k Aufrufe
Gefragt in Datenbanken von
Guten Morgen,
mein Problem heute:
Ich habe eine Datenbank "Databank" mit je einem Rang pro Zeile
umso die Top20 aufzulisten. Nun habe ich auf "Tabelle1" 20
Schaltflächen mit den Nummern 1-20. Nun möchte ich,dass wenn
ich darauf klicke ich automatisch zu der dazugehörigen Zeile im
anderen Datenblatt komme. Die Rangfolge steht in Spalte B

Mein Code für die Schaltfläche ist bis jetzt:

Sub Schaltfläche11_KlickenSieAuf()
Sheets("Databank").Activate
ActiveSheet.Range(Cells(2, 2), Cells(39, 3)).Select
End Sub


Jedoch komme ich so nur in den Bereich und nicht genau zu der
Zeile. Wie kann ich es machen?Vielleicht Range(B)_Value=1

Vielen Dank
MfG
Nicole

8 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Nicole,

schau mal, ob ich dich richtig verstanden habe. Hier ein Code für die Suche nach der Nummer 1:

Sub suchen()

Dim suche As Range

Set suche = Worksheets("Datenbank").Range("b:b").Find("1", LookIn:=xlValues) 'hier wird die Nummer 1 gesucht
If Not suche Is Nothing Then
Worksheets("Datenbank").Activate
Range(suche.Address).Select
End If

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von
Vielen Dank,
wie baue ich dann die Schaltfläche dort ein?
Grüße
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Nicole,

du musst nur das, was zwischen sub suchen() und End sub steht in den Code der Schaltfäche eintragen. Also so:

Sub Schaltfläche11_KlickenSieAuf()

Dim suche As Range

Set suche = Worksheets("Datenbank").Range("b:b").Find("1", LookIn:=xlValues) 'hier wird die Nummer 1 gesucht
If Not suche Is Nothing Then
Worksheets("Datenbank").Activate
Range(suche.Address).Select
End If

End sub


Gruß

M.O.
0 Punkte
Beantwortet von
Hey das klappt schon fast :)
Hab nun jedoch run time error 1004 Select method og range class failed........hab den code ins englische übersetzt, da ich auf englischem excel programmiere
Private Sub CommandButton1_Click()
Dim suche As Range
Set Search = Worksheets("Databank").Range("b:b").Find("1", LookIn:=xlValues) 'hier wird die Nummer 1 gesucht
If Not Search Is Nothing Then
Worksheets("Databank").Activate
Range(Search.Address).Select
End If
End Sub


wie kann ich das umgehen?
Grüße
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Nicole,

bei welcher Zeile zeigt er denn den Fehler? Ist der Name des Arbeitsblatts richtig?

Du kannst auch mal versuchen statt

Range(search.Address).Select


die folgende Zeile schreiben

Worksheets("Datenbank").Range(search.Address).Select


Gruß

M.O.
0 Punkte
Beantwortet von saarbauer Profi (15.6k Punkte)
Hallo,

www.file-upload.net/download-3930177/TOOL_TEST_05_12_11---Kopie.xlsm.html


da stehen die Daten zur Verfügung, ein etwas älterer Stand

Gruß

Helmut
0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo,

dank der Datei von Helmut habe ich das Makro geändert. Es sollte jetzt so funktionieren, wie du es willst.
Das erste Makro sucht die erste Zahl, die eine 1 enthält. Dieses hier sucht die Zelle, in der z.B. 1 steht:

Private Sub CommandButton1_Click()

Dim rgRange As Range
Dim search
Dim searchcell As Range

Set rgRange = Worksheets("Databank").Range("B:B")

For Each searchcell In rgRange
If searchcell.Value = "1" Then
Worksheets("Databank").Activate
searchcell.Select
Exit For
End If
Next searchcell

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von
Super, das klappt genauso wie ich es haben möchte. Ihr seid die Besten!
Vielen Dank für eure tolle Hilfe!

Bin echt begeistert!
Grüße
Nicole
...