Supportnet Computer
Planet of Tech

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.


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.


For n = 1 to 100
If cells(n,1).value = "" then
  cells(n,1).value = heute
End if
Next


Gruß
Günter