Frage : Das Excel-Suchmakro, zum eines Strichkodes zu verwenden suchen nach Resultat im Arbeitsblatt, beginnen vorbei

Hallo, verwende ich ein übertreffenarbeitsblattdownload von unserer Web site, um Karten für ein Ereignis zu scannen.  Die Karten haben die Strichkodes, die auf ihnen gedruckt werden.  Ich verwende einen Strichkodeleser, um die Karte für die Kartenidentifikation zu scannen, suche das Arbeitsblatt, um sicherzustellen, dass die Kartenidentifikation gefunden werden kann und auch die es nicht bereits verwendet worden ist.  Dies mit der Entdeckungeigenschaft z.Z. tun und der Kartenidentifikation dann löschen, wenn es gefunden wird.  Ich möchte eine einfachere Methode haben, zum von this.

So zu tun, benötige ich Hilfe bei einem Makro, das Arbeitsblatt nach einer Kartenidentifikation zu suchen, bestätige die Identifikation existiere und das ist es nicht bereits verwendet worden.   Wenn es verwendet worden ist, einen hörbaren Signalton zurückbringen und eine Anzeige von, wenn sie nicht bereits benutzt wird, zeigen „okay“, markieren die folgende Spalte auf der gleichen Reihe mit einem Yes (für die Bestimmung des ersten Teils des Makro), Rückkehr „vorher“ verwendet, um Aufforderung nach Strichkodeeintragung zu suchen, um sie noch einmal zu tun an.  Ich bin zu allem geöffnet, das das gleiche grundlegende concept.

vollendet, das, ich Teil eines Beispielkarte file.
SampleTixFile.xls angebracht habe, (58 KBs) (Akten-Art Details)
Sample Karten-Akte downlod

Antwort : Das Excel-Suchmakro, zum eines Strichkodes zu verwenden suchen nach Resultat im Arbeitsblatt, beginnen vorbei

Diesem einen Whirl geben.
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
Sub x ()
  
rFind als Strecke, sFind, s verdunkeln als Schnur

line1:
sFind = Application.InputBox („Strichkode eingeben“, 2)
Wenn sFind = falsch dann Unterseeboot herausnehmen

Mit Sheet1.Range („E2“, Sheet1.Range („E2“). Ende (xlDown))
    rFind einstellen =. Finden (was: =sFind, LookAt: =xlWhole, MatchCase: =False, SearchFormat: =False)
    Wenn rFind nichts dann ist
        s = MsgBox („Identifikation existiert nicht Versuch wieder? “, vbYesNo)
        Wenn s = vbNo dann Unterseeboot herausnehmen
    Sonst
        Wenn UCase (rFind.Offset (, 1)) = „JA“ dann
            MsgBox „vorher verwendet“
            Signalton
        Sonst
            rFind.Offset (, 1) = „JA“
            MsgBox „OKAY“
        Beenden wenn
    Beenden wenn
Mit beenden

Goto- line1

Enden-Unterseeboot
Weitere Lösungen  
 
programming4us programming4us