trmanky
Goto Top

Eigentlich einfache WENN-Bedingung, klappt aber nicht

Hallo IT-Gemeinde,
ich hänge immernoch über meiner Excel-Tabelle, diesmal mit einem neuen Problem.

Wie auch im Thema "Daten in bestimmte Zeile eintragen" geht es um die Datenbank für ein neues Produkt.
Ich habe eine Tabelle in die mithilfe von zwei Formularen Daten eingegeben werden.

Wenn nun mit dem ersten Formular (=Montage des Produkts) eine Seriennummer für das Gerät usw erstellt und eingetragen wurde, möchte ich im zweiten Formular (=Testlauf-Protokoll) ein DropDown-Menü haben, welches die eingetragenen Geräte-SNs enthält.
Nun hatte ich zuvor einfach auf die Spalte mit dem Geräte-SNs verwiesen, doch nach genauerem Überlegen, ist das nicht sehr sinnvoll. Man muss sich vorstellen, dass diese Tabelle für mehrere Monate benutzt wird, dadurch kommt natürlich eine große Masse an Daten zusammen. Das DropDown-Menü würde sehr lang werden, und man müsste ewig lang, nach der entsprechenden SN suchen. Daher möchte ich dieses DropDown-Menü anders gestalten.

Dabei weiß ich aber noch nicht genau wie. Es sollen auf jeden Fall nur die Geräte-SNs im DropDown erscheinen, von denen noch kein Testlauf vorhanden ist. Wenn der Testlauf durchgelaufen ist, habe ich eine Spalte in der Tabelle die man als "Bedingung" benutzen könnte, nämlich die "Test bestanden"-Spalte.

Nun ist meine Frage, wie kann ich diese Zelle bei jedem Datensatz sinnvoll einsetzen? Ich hatte schon an SVERWEIS gedacht, aber da ich die Tabelle von oben nach unten aufbaue, also jedes Mal eine neue Zeile einfüge, würde sich die Formel jedes Mal mit verschieben. Das klappt also nicht.

Habt ihr irgendwelche anderen Ideen?

VG

Content-Key: 172652

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

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

Member: bastla
bastla Sep 06, 2011 at 12:52:15 (UTC)
Goto Top
Hallo trmanky!

Du könntest versuchen, die verwendete "ComboBox" über eine Schleife zu befüllen (Stichwort "AddItem") ...

Grüße
bastla

P.S.: Wie hier ein "SVERWEIS()" nützen könnte, kann ich mir nicht so richtig vorstellen ...
Member: trmanky
trmanky Sep 06, 2011 at 13:50:00 (UTC)
Goto Top
Hi bastla,

habe nicht ganz verstanden, was du meinst, aber ich was ähnliches hingebastelt, auch mit ner Schleife:

Sub Schleife()
'  
' Schleife Makro  
'  
'Kopieren der Rekorder-SN  
Sheets("Montage").Select  
Range("D5").Select  
Selection.Copy

'Wechseln zur Startzelle in Hilfstabelle  
Sheets("Testprotokoll").Select  
Range("N4").Select  

'Beginn der While-Schleife bis leere Zelle gefunden  
While Selection <> ""  
ActiveSheet.Cells(ActiveCell.Row + 1, ActiveCell.Column).Activate
Wend
'Wenn leere Zelle gefunden, SN hineinkopieren  
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False

End Sub

Hier benutze ich eine Hilfstabelle, die ich mit der Schleife, die nach leeren Zellen sucht, sauber und ordentlich halte.

Nach jedem Neueintrag über das Montage-Formular wird dieses Makro mitausgelöst.
Und nach jedem Ausführen des Testprotokoll-Fomulars wiederum wird ein anderes Makro ausgeführt:

Sub zweite_SN_Liste()
' suchen Makro  
Dim i As Integer
' Suchen  
For i = 4 To 4000
If Cells(i, 14) = Cells(5, 4) Then

Range("N" & i).Select  
Selection.ClearContents

On Error Resume Next
End If
Next
End Sub

Damit wird die SN die gerade getestet wurde, aus der Liste wieder gelöscht.

Dadurch, dass das mit einer Schleife läuft, habe ich keine Lücken in der DropDownliste, die sich ja auf diese generierte Hilfstabelle bezieht.

Danke für die Hilfe face-wink

VG