Supportnet / Forum / Tabellenkalkulation
excel-vba-aufragseingabe
Frage
hiho leutz
hab mal wieder ne lächerliche frage in excel-vba
also makro sieht so aus:
Sub Auftragseingabe()
Dim heute As Date, b As Range
Dim produkt As String, stückzahl As Single
Dim artikel As String
Rem datum erfragen und eingeben
heute = CDate(InputBox("datum?", , CStr(Date)))
Workbooks("seriously-excel.xls").Activate
Worksheets("Aufträge").Activate
Set b = Range("A:A")
Set b = b.Find("")
b.Value = heute
Rem artikel erfragen und eingeben
Do
artikel = InputBox("artikel?")
If artikel = "" Then Exit Sub
stückzahl = CSng(InputBox("Stückzahl?"))
If stückzahl = 0 Then Exit Sub
Set b = Range("1:1")
Set b = b.Find(artikel)
Set b = b.EntireColumn
Set b = b.Find("")
b.Value = stückzahl
Loop While True
End Sub
funzt auch schön aber eine sache möcht ich ändern und zwar das die inputbox nicht an die nächste leere zelle liefert sondern an die nächst leere zeile
also wenn ich ein aktuelles datum eingebe(zB A14) soll die anzahl von produkt in zeile 14 eingegeben werden und nicht in der nächsten freien zelle von B
hoffe ich hab mich verständlich ausgedrückt
gruß
der paranoide
new b man
Antwort 1 von dr_druff
ka frag mal jürgen,want2cu oder aliba
*g*
Antwort 2 von Guenter
Hi new b man,
das würde (für mich) relativ einfach gehen, wenn Du bei der Datumseingabe statt Set b = b.find("") eine Schleife einsetzt, die die leere Zelle findet,
z.B.
Dann hast Du mit n die Zeilennummer. die Du bei dem Eintrag Stückzahl verwenden kannst.
Gruß
Günter
das würde (für mich) relativ einfach gehen, wenn Du bei der Datumseingabe statt Set b = b.find("") eine Schleife einsetzt, die die leere Zelle findet,
z.B.
For n = 1 to 100
If cells(n,1).value = "" then
cells(n,1).value = heute
End if
Dann hast Du mit n die Zeilennummer. die Du bei dem Eintrag Stückzahl verwenden kannst.
Gruß
Günter
Antwort 3 von dr_druff
hi günter
hab mal das script bei mir ins excel gepackt
und die vorgeschlagene änderung durchgefürt (hab dein file 1:1 übernommen) nun bekomme ich leider die fehlermeldung :FOR ohne NEXT anweisung
wo muß ich denn nun das next einfügen?
*schäm* oder kann ich es gänzlich umgehen ?
hoffe diese frage ist auch in new b man´s sinne
gruß
dr.druff
Antwort 4 von Guenter
Hallo,
Next hatte ich in der Tat oben vergessen. Es muss am Ende eingebaut werden.
Gruß
Günter
Next hatte ich in der Tat oben vergessen. Es muss am Ende eingebaut werden.
For n = 1 to 100
If cells(n,1).value = "" then
cells(n,1).value = heute
End if
Next
Gruß
Günter