98194
Goto Top

EXCEL 2000 - Zahl in Eingabefeld eingeben und gleichen oder nächsthöheren Zahlenwert in einer Spalte eines Tabellenblattes suchen und markieren

Hallo, ich schlage mich schon seit einiger Zeit mit dem Gedanken herum, endlich einmal in VBA herein zu schnuppern, um selber einige kleinere Problemchen lösen zu können, finde aber bisher nicht die Zeit dazu. Deshalb bin ich froh, daß es Foren wie dieses gibt, in denen man doch fast immer Hilfe findet.

Mein Problem ist folgendes: Ich habe eine Tabelle mit Gerätedaten. In der ersten Spalte dieser Tabelle werden die Seriennummern dieser Geräte eingetragen. Eine Seriennummer kann dabei mehrfach vorkommen, da verschiedene Gerätetypen durchaus mit der gleichen Seriennummer versehen sein können, bzw. ein Gerät mehrfach eingetragen sein kann ( Es handelt sich um eine Reparaturdatenbank ). Ich möchte nun erreichen, daß ich bei Bedarf ein Eingabefeld öffnen kann, in das ich dann Seriennummer eintrage, die dann in der ersten Spalte gesucht und markiert wird. Ist die gesuchte Seriennummer nicht vorhanden, dann sollte der erste Eintrag der nächst höheren Seriennummer markiert werden.
Möglicherweise ist dies für jemanden, der VBA kann, ein leicht lösbares Problem. Ich habe inzwischen 2 Wochen lang immer wieder mal darüber gegrübelt, konnte jedoch zu keinem befriedigenden Ergebnis kommen.

Schon mal im Voraus vielen Dank für jede hilfreiche Antwort.

Content-Key: 161943

Url: https://administrator.de/contentid/161943

Printed on: April 19, 2024 at 17:04 o'clock

Mitglied: 83928
83928 Mar 03, 2011 at 09:53:49 (UTC)
Goto Top
Hi,
eine Frage: Ist die Spalte mit den Seriennummern (aufsteigend) sortiert, oder stehen alle Seriennummern durcheinander? Wie sieht eine Seriennummer aus? Wirklich nur eine Zahl wie 12355?

Edit: Kommen in der Spalte der Seriennummern auch leere Zellen vor?
Gruß
Mitglied: 98194
98194 Mar 03, 2011 at 10:08:43 (UTC)
Goto Top
Erst einmal schönen Dank für die schnelle Reaktion auf meine Anfrage. So rasch hatte ich nicht damit gerechnet.

Zu Deinen Fragen: Die Seriennummern sind aufsteigend sortiert, die Seriennummern bestehen nicht nur aus Zahlen, einige wenige sind ein Mix aus Ziffern und Buchstaben ( Groß- und Kleinbuchstaben ). Leere Zellen sollen nicht, können aber vorkommen, da die Excel-Tabelle von vielen verschiedenen Kollegen bearbeitet wird, und nicht alle dafür sorgen, daß leere Zeilen ( und damit leere Zellen in der Spalte, in der gesucht werden soll ) vermieden werden.

Ich bin leider noch nicht dazu gekommen, meine Anfrage zu modifizieren, denn ich wollte eventuell noch folgendes einfügen: Ganz hervorragend wäre es, wenn ich den Cursor in eine beliebige Zelle setzen könnte, und dann die Spalte, in der sich die markierte Zelle befindet, nach dem ersten Auftreten des Suchbegriffes durchforstet würde, den ich in das Eingabefeld eingeben würde.

Nochmals vielen Dank für die Hilfe.

Gruß.
Mitglied: 83928
83928 Mar 03, 2011 at 11:09:47 (UTC)
Goto Top
Das hier sollte Dir weiterhelfen.....

Sub sn()
Dim strSuchSN As String
Dim rng As Range
Dim SearchRange As Range


Set SearchRange = Range(Cells(Selection.Row, 1), Cells(1000, 1)) 'Suchbereich (Spalte=1; Zeile=selektierte Zelle bis 1000)  
strSuchSN = InputBox("SN eingeben")  

Set rng = SearchRange.Find(strSuchSN) 'Seriennummer nach übereinstimmung suchen  
If Not rng Is Nothing Then
    rng.Select 'Match  
Else
    'SN nicht gefunden, nächst hohe Nummer suchen  
    For Each cell In SearchRange
        If cell > strSuchSN Then
            cell.Select
            Exit For
        End If
    Next
End If
Set rng = Nothing
End Sub
Mitglied: 98194
98194 Mar 04, 2011 at 08:31:11 (UTC)
Goto Top
Hallo abaaba,

vielen für Deine Mühe. So hatte ich mir das gedacht.

Vielen Dank nochmals.