Zum Inhalt springen

Excel Datei nach bestimmten werten durchsuchen


Freaka

Empfohlene Beiträge

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 ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 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...