Zum Inhalt springen

Excel Datei nach bestimmten werten durchsuchen


Empfohlene Beiträge

Geschrieben

Hi, ich habe eine Excel Datei wo zahlen in feldern stehen, diese Zahlen sind leider nicht in der richtigen reihenfolge (5 3 4 2 1 ) sortiert. Nun habe ich einen Zahlen folge leider nur in der richtigen reihenfolge also 1 2 3 4 5. Ich will das die Excel Tabelle dann nach den werten durchsucht wird. Gibt es ein programm mit dem ich das lösen kann ? Vielleicht sogar mit excel ?

Geschrieben

geht sicher mit excel, mit excel (vba) geht alles. bräuchte aber mehr details, Stehen die Zahlen alle in einer spalte oder ale in einer zelle? hab ich nicht ganz verstanden.

Geschrieben

Also es sind mehrere Tabellen die durchsucht werden müssen,

die Werte stehen in jeder Tabelle in 8 c-i jeweils eine Zahl das geht dann bis 59 c-i. Dort soll auch gesucht werden. Sobald eine 100 % übereinstimmung mit den eingegebenen Zahlen Gefunden wird soll das angezeigt werden.

Geschrieben

ich hoffe du kennst dich ein wenig mit vba aus, wenn nicht, schreib ich dir dannmal was, wenn ich etwas mehr zeit habe. Jedenfalls-zum suchen gibt es:

Cells.Find(What:=neuer, After:=ActiveCell, LookIn:=xlValues, _

LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _

MatchCase:=False).Activate

wobei nach "What:=" dann die Zahl stehen sollte, die du suchst. Wäre dann sicher günstig, wenn du die zu suchende Zahl über ne InputBox abfragst, wegen komfort und so. Wie gesagt, nach dem Mittag hab ich etwas mehr zeit, melde dich nochmal wenn du garnicht weiterweisst

Geschrieben

achso-nach einer kombination aus 7 zahlen soll gesucht werden (wenn z.B. 2348567 gesucht wird soll die zeile gefunden werden wo in spalte c=2 und d=3 und e=4 und f=8 und g=5 und h=6 und i= 7 steht)? hab ich das jetzt richtig verstanden? dann muss es nämlich anders werden, ohne cells.find . sag mal, ob ichs richtig verstanden habe.

Geschrieben

Ja du hast es richtig verstanden.

Ich will die Zahlen eingeben also 1234567

Dann sollen die Zellen durchsucht werden und wenn es eine übereinstimmung gibt, soll es angezeigt werden.

Geschrieben

versuche es mal mit folgendem code:

Sub freaka()

Dim zusuchen, kombination As String

zusuchen = InputBox("Wonach suchen?")

For i = 4 To 59

Cells(i, 3).Activate

kombination = ActiveCell.Value & ActiveCell.Offset(0, 1).Value & ActiveCell.Offset(0, 2).Value & ActiveCell.Offset(0, 3).Value & ActiveCell.Offset(0, 4).Value & ActiveCell.Offset(0, 5).Value & ActiveCell.Offset(0, 6).Value

If kombination = zusuchen Then

MsgBox "gefunden in zeile " & i

End If

Next

End Sub

bitte beachte, dass der code von kombination =... bis einschließlich activecell.offset(0,6).value in eine Zeile muss.

das ist für eine tabelle, wie man den B´vba-code als makr eigibt und startet, weisst du sicherlich ;) , wenn nicht, melde dich einfach nochmal

Geschrieben

Ok, naechste Frage.....die Zahlen stehen wirklich in den Spalten c bis i ??? und der zu durchsuchende Bereich entspricht wirklich den Zeilen4 bis 59 ??? ....und du bist dir auch sicher, dass das richtige Tabellenblatt aktiviert ist?

Goos :D

Geschrieben

setze doch mal einen haltepunkt auf die Zeile

"if kombination..."

und lasse das Makro schrittweise durchlaufen, dan kannst du ja am Haltepunkt die variableninhalte prüfen und siehst woran es scheitert

Geschrieben

hast du es mal mit dem haltepunkt versucht? oder kannst du mir mal se eine tabelle schicken (wenn es kein Betriebsgeheimnis ist?) eigentlich muß mein code funktionieren!

Geschrieben

Jo, dass der Code funktioniert, davon bin ich auch ueberzeugt.

Vielleicht hat sich Freake noch nichts gebastelt um alle Tabellenblaetter durchzugehen und es findest halt die Zahlenkombi auf dem ersten Blatt nicht :)

Ein Versuch ueber alle Blaetter saehe wohl so aehnlich aus:

Dim zusuchen, kombination As String
zusuchen = InputBox("Wonach suchen?")
For n = 1 To Sheets.Count
ActiveWorkbook.Worksheets(n).Select
For i = 3 To 59
ActiveSheet.Cells(i, 3).Activate

kombination = ActiveCell.Value & ActiveCell.Offset(0, 1).Value & ActiveCell.Offset(0, 2).Value _
& ActiveCell.Offset(0, 3).Value & ActiveCell.Offset(0, 4).Value _
& ActiveCell.Offset(0, 5).Value & ActiveCell.Offset(0, 6).Value

If kombination = zusuchen Then
MsgBox "gefunden in zeile " & i
End If
Next i
Next n
[/PHP]

Goos

Geschrieben

wenn man es sehen könnte, das blatt, probleme könnte es mit zweistelligen zahlen in der tabelle geben, da nach der jetzigen vatiante nämlich

1 und 23 dasselbe ist wie 12 und 3, müsste man noch komata einfügen, aber erst mal sehen...

Geschrieben

Also gut er durchsucht schon einmal alle Felder und Blätter.

Aber er kommt zu keinem Ergebniss, auch wenn ich Zahlen eingebe die Dort 100% vorhanden sind. In welcher Form muss ich die Zahlen eingeben ich gebe sie wie folgt ein 43 12 18 4 3 33

Ist das korrekt, sollen sie mit kommatas getrennt werden????

Ich bekomme kein Ergebniss.

Geschrieben

Alternativ kannst auch die Zahlen eingeben wie du das schon gemacht hast (durch Leerzeichen getrennt), musst dann allerdings auch Leerzeichen in den Code einbauen.

zusuchen = InputBox("Wonach suchen?")
For n = 1 To Sheets.Count
ActiveWorkbook.Worksheets(n).Select
For i = 3 To 59
ActiveSheet.Cells(i, 3).Activate

kombination = ActiveCell.Value & " " & ActiveCell.Offset(0, 1).Value & " " & ActiveCell.Offset(0, 2).Value _
& " " & ActiveCell.Offset(0, 3).Value & " " & ActiveCell.Offset(0, 4).Value _
& " " & ActiveCell.Offset(0, 5).Value & " " & ActiveCell.Offset(0, 6).Value

If kombination = zusuchen Then
MsgBox "gefunden in zeile " & i
End If
Next i
Next n[/PHP]

Goos

Geschrieben

Egal wie ich die Zahlen eingebe, er läuft jedes einzelne Excel Sheet durch, und zeigt kein Ergebniss. Entweder findet er nichts oder das Format stimmt nicht oder oder oder?

  • 2 Wochen später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...