suchfunktion einbinden?



Excel-Version: 9.0 (Office 2000)
nach unten

Betrifft: suchfunktion einbinden?
von: robert
Geschrieben am: 27.05.2002 - 16:57:54

Moin,

in Spalte A stehen tonnenweise Zahlen. Ist es möglich eine Suchfunktion einzubauen, so dass wenn ich irgendwo in Spalte B eine Zahl eingebe, diese mit den Zahlen aus Spalte A verglichen wird und ich zu den entsprechenden gleichen Zahlen in Spalte A geführt werde?

Kleines Beispiel: in A75 steht 1.233 und ich gebe jetzt in B7 diese Zahl ein, dann soll er die gesamte Spalte A nach der von mir eingegebenen Zahl durchsuchen und mich jeweils dorthin führen. Falls das überhaupt möglich sein sollte.

Danke, Robert

nach oben   nach unten

Re: suchfunktion einbinden?
von: Kay.O
Geschrieben am: 27.05.2002 - 17:02:18

Hi,

ist kein Problem , aber die frage ist gibst du immer in B7 die zusuchende zahl ein oder immer unterschiedlich , also mal B6 , mal B18 usw. ???

gruß
Kay


nach oben   nach unten

Re: suchfunktion einbinden?
von: robert
Geschrieben am: 27.05.2002 - 17:24:44

Hallo,

beiden Möglichkeiten könnten vorkommen, aber eher die, dass ich die Zahl mal in B6, B189, B... eingebe.

Eine Lösung für beide Sachen wäre natürlich noch besser, dann kann man ggf. auf beide zurückgreifen.

Wie funktioniert denn die Sache?

Robert


nach oben   nach unten

Re: suchfunktion einbinden?
von: Kay.O
Geschrieben am: 27.05.2002 - 18:05:37

Hi,

also das makro tut weiternix als deine aktuelle B spallte mit der von A vergleichen.
das wäre der erste schritt , wenn du es noch anders haben möchtest , müßtest du diesen wunsch präzisieren ;)

' makro ANFANG !!!

Sub vergleicher()
Dim wertspallteA As Variant, wertvonspallteB As Variant, i As Integer, lastZe As Integer
i = 1
lastZe = Sheets(AktivesBlatt).UsedRange.Rows.Count
wertvonspallteB = ActiveCell
For i = i To lastZe
wertspallteA = Cells(i, 1)
If wertvonspallteB = wertspallteA Then
Cells(i, 1).Select
ActiveCell.Interior.ColorIndex = 6
Exit For
End If
Next
End Sub

' makro ENDE !!!

gruß
Kay


nach oben   nach unten

FINAL version ;)
von: Kay.O
Geschrieben am: 27.05.2002 - 18:38:17

Sub vergleicher()
Dim lastZe As Integer, RangeB As String, Zelle As Variant
Dim wertspallteA As Variant, wertvonspallteB As Variant, i As Integer, NextTime As Date
lastZe = Sheets(ActiveSheet.Name).UsedRange.Rows.Count
RangeB = "B1:B" & lastZe
NextTime = Now + TimeValue("00:00:01")
i = 1
wertvonspallteB = ActiveCell
If ActiveCell.Address Like "*B*" Then
For i = i To 10
wertspallteA = Cells(i, 1)
If wertvonspallteB = wertspallteA Then
Cells(i, 1).Select
ActiveCell.Interior.ColorIndex = 6
Exit For
End If
Next i
End If
Application.OnTime NextTime, "vergleicher"
End Sub
nach oben   nach unten

Re: FINAL version ;)
von: robert
Geschrieben am: 27.05.2002 - 19:35:21

saubere Arbeit, genau so dachte ich mir das.

Vielen Dank für die schnelle Hilfe.


nach oben   nach unten

mmmhhhh, ist es auch möglich
von: robert
Geschrieben am: 27.05.2002 - 19:57:27

das sofort nach der Eingabe der Zahl in Spalte B der Cursor in die jeweilige Zelle in Spalte A springt?

nach oben   nach unten

und noch ein kleines problem
von: robert
Geschrieben am: 27.05.2002 - 20:30:41

Ich stell ganz schöne Ansprüche, bemerke ich gerade; *ggg*.

Das Problem was auch noch besteht, ist, wenn in Spalte A die Zahl mehrfach vorkommt, die ich in Spalte B eingebe. Er springt ja immer nur zur ersten übereinstimmenden Zelle, kann man das auch noch irgendwie bewerkstelligen, dass die nachfolgenden übereinstimmenden Zellen auch noch mitgenommen werden?

Ich hab bloss null Ahnung von diesem Code.


nach oben   nach unten

letzte Frage
von: robert
Geschrieben am: 27.05.2002 - 21:36:08

und noch ein kleines problem - hat sich erledigt, in Spalte A werden immer wieder verschiedene Zahlen stehen.

also es wird doch alles darauf hinauslaufen, dass nur in Spalte B1 eine Zahl eingetragen wird, die dann in Spalte A gesucht und angezeigt werden soll. Danach wird B1 mit einer neuen Zahl überschrieben und die Sache geht wieder von vorne los.

Jetzt ist aber das Makro noch aktiv und springt ständig wieder in die Spalte A zur gefundenen Zahl. Kann man das Makro zwischenzeitlich stoppen, so dass ich Zelle B1 ganz bequem wieder füllen kann, weil so komme ich ja gar nicht dazu.


nach oben   nach unten

Re: letzte Frage
von: Kay.O
Geschrieben am: 28.05.2002 - 10:23:55

Hi,

also doch komplett anders ?
du gibst in B1 eine zehl ein die in spalte A gesucht werden soll , und dann ???
was soll dann passieren ???

gruß
Kay


nach oben   nach unten

Re: letzte Frage
von: Kay.O
Geschrieben am: 28.05.2002 - 10:39:05

Sub vergleicher()
Dim lastZe As Integer, Zelle As Variant, i As Integer
Dim wertspallteA As Variant, wertvonspallteB As Variant
lastZe = Sheets(ActiveSheet.Name).UsedRange.Rows.Count
i = 1
wertvonspallteB = Cells(1,2)

For i = i To lastZe
wertspallteA = Cells(i, 1)
If wertvonspallteB = wertspallteA Then
'Cells(i, 1).Select
ActiveCell.Interior.ColorIndex = 6
Exit For
End If
Next i

End Sub

damit wird lediglich die B1 zelle gecheckt und alle gefundenen werte in Spallte A werden gelb markiert.
jedoch läuft das nicht mehr automatisch !
du mußt es jedesmal starten !

wenn du mir dein END-Lösungswunsch mitteilst kann ich dir helfen aber deine wünsche änddern sich so oft ;)

gruß
Kay


nach oben   nach unten

Re: letzte Frage
von: robert
Geschrieben am: 28.05.2002 - 17:10:04

Danke für Deine Geduld.

Nach einigem hin und her in der letzten Nacht soll es nun doch so aussehen. In Spalte A stehen diverse Zahlen, niemals die gleiche. In Spalte B soll eine Zahl eingegeben werden, und der Cursor soll zu dieser Zahl in Spalte A springen, aber keine farbige Markierung veranlassen. Dabei sollte das aber automatisch passieren, sobald ich eine Zahl in B1 eingebe.

Ist das überhaupt technisch möglich, weil ich ständig in B1 andere Zahlen eingeben muss.

Wir haben hier zwar so etwas in der Art, aber dazu muss man das Makro immer wieder neu starten, nachdem man in B1 eine Zahl eingegeben hat. Und das Makro jedesmal starten ist im Prinzip eine Eingabe zuviel.

Dein Vorschlag hat ja funktioniert, allerdings konnte man in B1 keine andere Zahl mehr eingeben, weil er sofort immer wieder in Spalte A gesprungen ist, entweder zu der noch in B1 stehenden Zahl oder in eine leere Zelle in Spalte A, wenn Zelle B1 leer war.

Mensch, das erklärt sich aber auch richtig schlecht.


nach oben   nach unten

DANN SO ;)
von: Kay.O
Geschrieben am: 28.05.2002 - 18:21:59

Sub Auto_Open()
vergleicher
End Sub

Sub vergleicher()
Dim lastZe As Integer, i As Integer, NextTime As Date
Dim wertspallteA As Variant, wertvonspallteB As Variant, Zelle As Variant
lastZe = Sheets(ActiveSheet.Name).UsedRange.Rows.Count
NextTime = Now + TimeValue("00:00:01")
i = 1
wertvonspallteB = Cells(1, 2)

If ActiveCell.Address = "$B$2" Then
For i = i To lastZe
wertspallteA = Cells(i, 1)
If wertvonspallteB = wertspallteA Then
Cells(i, 1).Select
Exit For
End If
Next i
End If

Application.OnTime NextTime, "vergleicher"
End Sub

das läuft voll automatisch !
wenn du auf die Zelle B1 gehst kannst du ganz in ruhe werte eingeben wie du willst, erst nachdem du ENTER drückst und damit in Zelle "B2"! landest reagiert das Makro , in dem er in Spallte A sucht und dort hin springt.

viel spaß
Kay

nach oben   nach unten

Re: DANN SO ;)
von: robert
Geschrieben am: 28.05.2002 - 18:29:43

Yeeeeeeeaaaaaaahhhhhhh das ist es. Wunderbar, wie kann ich das nur gutmachen. Recht herzlichen Dank dafür.

Robert


nach oben   nach unten

Re: DANN SO ;)
von: Kay.O
Geschrieben am: 28.05.2002 - 18:47:48

NP ;)
vielliecht mit ner spende ;)
war ´n scherz, hilft mir ja auch besser mit funktionen und schneller mit schleifen klar zukommen, hast mir also auch geholfen :)

danke
Kay

 nach oben

Beiträge aus den Excel-Beispielen zum Thema "suchfunktion einbinden?"