Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
124to128
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
124to128
124to128
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

suchfunktion einbinden?

suchfunktion einbinden?
27.05.2002 16:57:54
robert
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

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: suchfunktion einbinden?
27.05.2002 17:02:18
Kay.O
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

Re: suchfunktion einbinden?
27.05.2002 17:24:44
robert
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

Re: suchfunktion einbinden?
27.05.2002 18:05:37
Kay.O
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

Anzeige
FINAL version ;)
27.05.2002 18:38:17
Kay.O
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
Anzeige
Re: FINAL version ;)
27.05.2002 19:35:21
robert
saubere Arbeit, genau so dachte ich mir das.

Vielen Dank für die schnelle Hilfe.

mmmhhhh, ist es auch möglich
27.05.2002 19:57:27
robert
das sofort nach der Eingabe der Zahl in Spalte B der Cursor in die jeweilige Zelle in Spalte A springt?
und noch ein kleines problem
27.05.2002 20:30:41
robert
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.

Anzeige
letzte Frage
27.05.2002 21:36:08
robert
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.

Re: letzte Frage
28.05.2002 10:23:55
Kay.O
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

Anzeige
Re: letzte Frage
28.05.2002 10:39:05
Kay.O
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

Anzeige
Re: letzte Frage
28.05.2002 17:10:04
robert
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.

Anzeige
DANN SO ;)
28.05.2002 18:21:59
Kay.O
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

Anzeige
Re: DANN SO ;)
28.05.2002 18:29:43
robert
Yeeeeeeeaaaaaaahhhhhhh das ist es. Wunderbar, wie kann ich das nur gutmachen. Recht herzlichen Dank dafür.

Robert

Re: DANN SO ;)
28.05.2002 18:47:48
Kay.O
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

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige