Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Eingabeprüfung und do until schleife mit datum funktioniert nicht

Frage Entwicklung VB for Applications

Mitglied: Bischoff

Bischoff (Level 1) - Jetzt verbinden

07.04.2009, aktualisiert 10:26 Uhr, 7552 Aufrufe, 5 Kommentare

Hi,

ich bin zwar in einer DV klasse hatte aber schon ca. ein Jahr nichtsmehr mit VBA zu tun und jetzt wo ichs wieder brauche bekomm ich die einfachsten Dinge nichtmehr hin... hab schon nach Beiträgen gesucht aber nichts gefunden hoffe jemand kann mir helfen...

Ich habe in excel eine Tabelle in die mit Hilfe von VBA gefüllt werden soll.
Das funktioniert auch alles soweit bis auf das erste Problem.
Ich habe eine User Form erstellt mit 6 Textfeldern.
Alle Werte werden als integer eingelesen aber wenn eine Spalte leer bleibt also 0 sein soll und diese 0 nicht eingetragen wird
strürtzt das Programm logischerweise ab, da das ja nicht als integer eingelesen werden kann.

So hier habe ich jetzt alle möglichen Eingabeprüfungen versucht
z.B. wenn Das Textfeld leer ist dann Wert = 0 funktioniert aber net...
also
if Txtwert.text = "" Then
Wert = 0
End if

Ich hab echt keine Ahnung mehr wie das geht habs auch schon in verschiedenen foren versucht aber des funktioniert alles net...

Mein nächstes Prob ist, dass in der ersten Tabellenspalte ein Datum steht.
So erst sollte das so sein das die nächste leere Spalte ausgewählt wird und in diese also immer der nächste tag dann die werte übergeben werden sollen.
Das habe ich so gemacht

Do Until ActiveCell.Value = ""
ActiveCell.Offset(1, 0).Select
Loop

Jetz gibt es aber das Problem das z.b. der 10.04.2009 ausgefüllt werden soll und nicht das datum von heute.
Also habe ich in die User form noch ein textfeld gemacht, in das das Datum eigetragen werden soll und die Schleife soweit durchläuft, bis das richtige Datum gefunden ist.


Ich habe dan einfach das Textfeld als date eingelesen.
Dim Datum as Date


und bei der Schleife einfach

Do Until ActiveCell.Value = Datum
ActiveCell.Offset(1, 0).Select
Loop

So da kam dann ne Endlosschleife bei raus :P
Ich habe das Datum dan auch in dem Format eingegeben, in dem es in der Tabelle steht
also 06.04.2009

Jetz weiß ich net ob ich das anderst in das Textfeld eingeben oder die Formatierung in der Tabellen ändern muss.

Hoffe mir kann jemand helfen
Mitglied: SvenGuenter
07.04.2009 um 11:00 Uhr
Ohne getestet zu haben schaue dir mal folgende Funktionen an
01.
if Isempty(Textfeldvonform) then
Datumsprüfung
01.
If isdate(acticecell(reihe,spalte) ) then reihe +1:activecell.(reihe,spalte)
Datumproblem ( Konvertieren)
01.
Cdate(datumsgfeld)

Gruß

Sven
Bitte warten ..
Mitglied: bastla
07.04.2009 um 11:45 Uhr
... und noch als Ergänzung der Hinweis auf die Funktion IsNumeric() ...

Grüße
bastla
Bitte warten ..
Mitglied: Bischoff
08.04.2009 um 11:07 Uhr
Also irgendwie funktioniert des alles nich...ich brauch ja blos die datumsformatierung...

also hab ich einfach gemacht:

dim Datum as Date
Datum = txtDatum.text

und dann in der Schleife

Do Until ActiveCell.Value = Datum (Vorher stand hier "" und das hat funktioniert...)also liegts am datum
ActiveCell.Offset(1, 0).Select
Loop

so das führt zu ner endlosschleife..

des mit der eingabeprüfung funktioniert auch net ..
mal schaun ob einer aus meiner klasse noch so altes zeugs hat^^

aber danke für die Hilfe
Bitte warten ..
Mitglied: bastla
08.04.2009 um 11:34 Uhr
HalloBischoff!

Und warum nicht
01.
If IsDate(txtDatum.text) Then 
02.
    Datum = CDate(txtDatum.text) 
03.
Else 
04.
    Datum = 0 
05.
End If
Abhängig davon, ob die Variable Datum danach einen anderen Wert als 0 hat, kannst Du die weiteren Verarbeitungsschritte durchführen.

Alternativ dazu (je nachdem, was Du noch alles vor hast) könntest Du auch gleich im "Then"-Zweig die restlichen Anweisungen platzieren.
Zusätzlich musst Du auch noch davon ausgehen, dass zwar ein gültiges Datum eingegeben wird, dieses aber nicht in Deiner Tabelle steht - dann wird natürlich ActiveCell.Value nie gleich Datum sein ...

Soferne es keine "Löcher" zwischen den Einträgen gibt, kannst Du das so etwas absichern:
01.
V = ActiveCell.Value 
02.
Do Until V = Datum Or V = "" 
03.
    ActiveCell.Offset(1, 0).Select 
04.
    V = ActiveCell.Value 
05.
Loop 
06.
If V <> "" Then 'Zelle mit dem gesuchten Datum gefunden 
07.
    ...
Grüße
bastla
Bitte warten ..
Mitglied: Bischoff
08.04.2009 um 12:23 Uhr
So funktionierts...
die restlichen eingabeprüfungen hab ich jetz auch hinbekommen läuft akkes problem los


Danke für die Tips

Gruß Bischoff
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
Do-While Schleife mit test-path
gelöst Frage von windelterroristBatch & Shell12 Kommentare

Sry, dass ich euch nochmals stören muss Brauche Hilfe bei einer Do-While Schleife Es soll erst nach $destination abgefragt ...

Batch & Shell
VBS - Do While Schleife - zusätzliche Bedingung
gelöst Frage von goodbytesBatch & Shell5 Kommentare

Hallo, in einem Ordner sollen alle jpg- und pdf-Datein durchlaufen werden, umbenannt und verschoben werden. Das funktioniert auch tadellos, ...

Batch & Shell
Seltsames Verhalten bei Errorlevel abfrage in FOR DO Schleife
gelöst Frage von Kalma73Batch & Shell1 Kommentar

Hallo, ich bin gerade dabei ein Stromausfall Shutdown Script zu schreiben. Habe schon einiges Ausprobiert und mir ist etwas ...

Batch & Shell
Umgang mit externen Variablen innerhalb einer FOR ... DO Schleife ...
gelöst Frage von JuergenlBatch & Shell4 Kommentare

Hallo BATCH'elors mein oben beschriebene Aufgabenstellung habt Ihr Euch sicher längt an den Schuhsolen abgelaufen - ich bitte daher ...

Neue Wissensbeiträge
Erkennung und -Abwehr

Necur-Botnet soll Erpressungstrojaner Scarab massenhaft verbreiten

Information von BassFishFox vor 3 StundenErkennung und -Abwehr

12,5 Millionen Spam-Mails aus einem Bot-Netz mit 6 Millionen Computern? Eigentlich eine schwache Leistung. Die Erpresser setzen dabei auf ...

Microsoft

Nadeldrucker-Problem unter Windows - Microsoft liefert Updates

Information von BassFishFox vor 4 StundenMicrosoft

Hat ja nicht lange gedauert. Nachdem die November-Updates für Windows 7, 8.1 und 10 zahlreiche Nadeldrucker lahmgelegt hatten, stellt ...

Linux

Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde

Information von Frank vor 12 StundenLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 TagBatch & Shell9 Kommentare

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Heiß diskutierte Inhalte
Linux
Limux-Ende in München: Wie ein Linux Projekt unter Ausschluss der Öffentlichkeit zerstört wurde
Information von FrankLinux14 Kommentare

Mein persönlicher Kommentar zum Thema "Limux-Ende". Die SPD-Politikerin Anne Hübner hat die Richtung von München ganz klar definiert: "Wir ...

Router & Routing
Zwei Netzwerke erstellen
Frage von bunteblumeRouter & Routing14 Kommentare

Hallo Zusammen, Ich möchte gerne ein backup von einem bestimmten Folder welcher auf dem Server regelmässig synchronisiert wird auf ...

Off Topic
Fachkräftemangel in Deutschland? - Talentschmiede schreibt alle 2 Tage die gleichen Stellen aus
Frage von Penny.CilinOff Topic12 Kommentare

Hallo, haben wir in Deutschland Fachkräftemangel? Die Talentschmiede schreibt gefühlt alle zwei Tage dieselben Stellen aus. Und das schon ...

Windows Server
Kann man im KMS nachschauen , wieviele Clients den Key in Anspruch genommen haben
gelöst Frage von rainergugusWindows Server12 Kommentare

Hallo, wir haben einen KMS Windows 10 Key. Dieser ist ja W7 kompatibel. Aber unser Windows 7 Pool registriert ...