Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Inputbox prüfen

Inputbox prüfen
Michael
Hallo Excel-Forum,
ein Kollege, der nicht mehr da ist, hat einen ziemlich großen Code geschrieben, der anfängt mit:
Sub Übertragen()
a = Inputbox("Bitte E=Einkauf - V=Verkauf eingeben")
b = Inputbox("Bitte KW eingeben")
und dann folgt der weitere Code.
Ablauf ist, der AW gibt einen Datensatz ein im "Tabellenblatt1", dann öffnet sich Input "a" nach Eingabe von E oder V öffnet sich Inbut "b" und nach Eingabe einer KW werden die Daten automatisch in das entsprechende Register "Einkauf" oder "Verkauf" geschrieben.
Nun soll Excel aber, wenn der AW ein "V" eingibt SOFORT das Register "Verkauf" öffnen, ohne Eingabe der KW. Gilt also nur für V, nicht für E.
Durch die Recherche habe ich ein bißchen ausprobiert, kriege es aber nicht hin:
Sub Übertragen()
DIM a As Variant kommt von mir
a = Inputbox("Bitte E=Einkauf - V=Verkauf")
if a = "V" Then kommt von mir
Sheets("Verkauf").Select kommt von mir
End iIf kommt von mir
b = Inputbox("Bitte KW eingeben")
Für jede Hilfe bin ich dankbar!
Michael

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Inputbox prüfen
21.09.2007 11:57:43
hendrik73
hallo michael
Sub Übertragen()
Dim a$
a = Inputbox("Bitte E=Einkauf - V=Verkauf")
If a"E" And a"V" then exit sub
if a = "V" Then
Sheets("Verkauf").Select
Else
Sheets("Einkauf").Select
b = Inputbox("Bitte KW eingeben")
End If
gruß hendrik

AW: Inputbox prüfen
21.09.2007 12:38:00
Michael
Hallo Hendrik,
danke für deine schnelle Antwort. Leider funktioniert der Code nicht, und zwar gebe ich ein "V" ein, wechselt Excel nicht zu diesem Register und ich kann auch keine KW eingeben (was in diesem Falle ja auch ok wäre). Gebe ich ein "E" ein, bleibt alles wie gehabt.
Sheets("Einkauf").Select habe ich weggelassen, da nicht hierher gewechselt werden soll.
Ich habe mal einen größeren Auszug aus dem Code geschrieben, vielleicht liegt es ja an der Reihenfolge?
Sub Übertragen()
Dim a$
On Error GoTo Fehler
Application.ScreenUpdating = False
Dim c(11)
Dim d(11)
Dim e(11)
Dim f(11)
a = Inputbox("Bitte E=Einkauf - V=Verkauf")
If a"E" And a"V" then exit sub
if a = "V" Then
Sheets("Verkauf").Select
Else
b = Inputbox("Bitte KW eingeben")
End If
If b = "" Then
b = Cells(9,35)
End If
und dann der weitere Code
Kannst du mit diesem "Schnipsel" etwas anfangen? Ist kompliziert, tut mir leid. Trotzdem danke im voraus.
Michael

Anzeige
AW: Inputbox prüfen
21.09.2007 13:57:57
hendrik73
hallo michael
kompliziert eigentlich weniger. die frage eben nur warum es bei mir geht und bei dir nicht.
hast du groß-u. kleinschreibung beachtet? er verlangt momentan ein "V" kein "v" (könnte
man aber erweitern). das screenupdating=false hat bei mir keinen einfluss aber du kannst
es zum testen ja mal rausnehmen. eine frage noch zu:
If b = "" Then
b = Cells(9, 35)
End If
wenn für b nichts eingegeben wird soll b den wert von blatt "Verkauf" zelle AI9 haben?
(zumindest wenn vorher "V" eingegeben wurde)
ich vermute mal du kannst die mappe nicht hochladen.
gruß hendrik

Anzeige
AW: Inputbox prüfen
21.09.2007 14:09:00
Michael
Hallo Hendrik, erst einmal vielen vielen Dank für deine Mühe.
Groß-Kleinschreibung habe ich beachtet
If b = "" Then
b = Cells(9, 35)
End If
wenn für b nichts eingegeben wird soll b den wert von blatt "Verkauf" zelle AI9 haben?
(zumindest wenn vorher "V" eingegeben wurde)

ja, da hast du recht, dann wurde in AI9 vorher schon eine KW eingetragen.
ich vermute mal du kannst die mappe nicht hochladen.
Leider nicht, da sie über 300MB hat. Sorry!
Vielleicht hat das was mit AI9 zu tun? Fakt ist, sobald ein V eingegeben wird, soll sich auf jedenfall das Register Verkauf öffnen. Hmmm.... ob dir das weiterhilft?
Nochmals vielen Dank Hendrik
Michael

Anzeige
AW: Inputbox prüfen
21.09.2007 14:21:00
hendrik73
nein AI9 hat das nichts zutun. das kommt ja erst später. versuche doch mal das makro mit
einzelschritt (F8) zu durchlaufen und sieh nach was er an der stelle "Sheets("Verkauf").Select" tut.
gruß hendrik

AW: Inputbox prüfen
21.09.2007 14:39:00
Michael
Hey Hendrik,
F8 war eine gute Idee (als Nicht-Programmierer kannte ich das nicht :-)
Also, tatsächlich ist mir eine Zeile "abhanden" gekommen, der Code sieht wie folgt aus:
Sub Übertragen()
Dim a$
On Error GoTo Fehler
Application.ScreenUpdating = False
Dim c(11)
Dim d(11)
Dim e(11)
Dim f(11)
Sheets("Verkauf").Select
If Cells(9,35) = 0 Then GoTo 200
mit F8 springt er dann zur 200
a = Inputbox("Bitte E=Einkauf - V=Verkauf")
If a"E" And a"V" then exit sub
if a = "V" Then
Sheets("Verkauf").Select
Else
b = Inputbox("Bitte KW eingeben")
End If
If b = "" Then
b = Cells(9,35)
End If
und dann der weitere Code
200
Sheets("Tabelle1").Select
Tut mir leid Hendrik. Aber kann es das gewesen sein?
Gruß
Michael

Anzeige
@Hendrik
21.09.2007 15:05:00
Michael
Hallo Hendrik,
leider muss ich jetzt für ein paar Stunden weg. Ab ca. 20.30 kann ich wieder nachschauen, ob es was neues gibt.
Vielen Dank schon mal im vorraus!
Gruß
Michael

AW: Inputbox prüfen
21.09.2007 17:02:37
hendrik73
hallo michael
es kommt eben drauf an was du machen willst.
wenn also im blatt "Verkauf" in zelle AI9 nichts steht dann soll er auf blatt "Tabelle1" gehen und
dann nichts weiter tun. wenn in "Verkauf" AI9 was steht kommen die inputboxen und er geht
erst am ende auf "Tabelle1" (ansonsten muß über die 200 ein "Exit Sub")
mir ist momentan nicht klar was eigentlich passieren soll.
gruß hendrik

Anzeige
AW: Inputbox prüfen
21.09.2007 21:02:06
Michael
Hey Hendrik, schön dass du dir doch noch die Zeit nimmst.
Das ist glaube ich keinem so richtig klar :-(
Also, wenn in AI9 eine 0 steht, soll er auf Tabellenblatt1 bleiben. (If Cells(9,35)=0 Then Goto 200"
Der Weg geht bisher so: Ich gebe eine Artikelnummer ein (die Daten sind irgendwo hinterlegt) anhand der Artikelnummer weiß Excel (weil es irgendwo hinterlegt ist), das der Artikel a) ausverkauft ist, somit darf keine Inputbox erscheinen b) weitergegeben werden muss und dann kommt die Inputbox an wen, eben Verkauf oder Einkauf sowie KW! Dieses ganze Prozerere wird über Makros durchgeführt. Klappte bisher auch. Nun hat das Register Verkauf eine neue Spalte bekommen, in der ich manuell, bei JEDEM eingegebenen Artikel der zum Verkauf gehört, eine Kennnummer vergeben muss. Aus dem Grund soll Excel mir bei Eingabe "V" eben dieses Register öffnen. Habe ich die Kennnummer vergeben, wechsel ich über die "Registerreiter" einfach wieder zu "Tabelle1" und gebe fleißig weitere Artikel ein.
Hoffe, ist jetzt ein bischen klarer, wäre toll, wenn du trotzdem eine Idee hättest.
Bei Exit Sub über 200, wie du geschrieben hast, wird grundsätzlich das Register "Verkauf" geöffnet.
Nochmals DANKE!
Gruß
Michael

Anzeige
AW: Inputbox prüfen
21.09.2007 21:30:29
hendrik73
n'abend michael
ich zweifle zwar das ich es kapiert habe - hoffe es aber trotzdem:

Sub Übertragen()
Dim a$
On Error GoTo Fehler
Application.ScreenUpdating = False
Dim c(11)
Dim d(11)
Dim e(11)
Dim f(11)
'wenn dort was anderes steht dann kommen die Boxen
If Sheets("Tabelle1").Cells(9, 35) = 0 Then GoTo 200
'Eingabe für Einkauf oder Verkauf wird erzwungen - Groß/Kleinschreibung ist egal
Do While a  "E" And a  "e" And a  "V" And a  "v"
a = InputBox("Bitte E=Einkauf - V=Verkauf")
Loop
'wenn ein "V" oder "v" eingegeben wird dann auf Blatt "Verkauf" wechseln und beenden
If a = "V" Or a = "v" Then Sheets("Verkauf").Select: Exit Sub
'wenn "E" oder "e" gewählt wurde dann Box mit KW aufrufen
If a = "E" Or a = "e" Then
b = InputBox("Bitte KW eingeben")
End If
'wenn in diese Box nichts eingegeben wurde nimmt b den wert von
'"Tabelle1" Zelle AI9 an (das hattest du ja geschrieben)
If b = "" Then
b = Sheets("Tabelle1").Cells(9, 35)
End If
'hier wird wohl was weiterverarbeitet
'dann läuft er in die "200" rein und geht auf Blatt "Tabelle1"
200
Sheets("Tabelle1").Select
End Sub


Anzeige
AW: Inputbox prüfen
21.09.2007 22:01:50
Michael
Hallo Hendrik,
folgende Meldung erhalte ich:
Laufzeitfehler 1004 Anwendungs- oder objektdefinierter Fehler
aber nur, wenn der Artikel ausverkauft ist, also wenn sich keine Inputbox öffnen soll.
Wird der Artikel weitergegeben, dann klappt dein Code wunderbar.
Und jetzt?
Aber dein Code ist toll beschrieben.
Gruß
Michael

@Hendrik
21.09.2007 22:31:00
Michael
Hey, ist schon spät, habe den "Laufzeitfehler" gefunden!!
Peinlich - Peinlich ... Sprungmarke 200 habe ich eingegeben 20! Ich Depp!!
Vielen vielen Dank für deine Hilfe, soweit ich es durchgegangen bin, klappt alles wunderbar! Bist ein Genie.
Gute Nacht Hendrik
Gruß
Michael

Anzeige
schön das es geklappt hat
21.09.2007 23:06:00
hendrik73
wünsche dir noch ein schönes wochenende.
grüße aus dem harz
hendrik

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige