Thema Datum  Von Nutzer Rating
Antwort
27.10.2008 13:24:56 Melanie
NotSolved
27.10.2008 15:52:46 Holger
NotSolved
29.10.2008 08:08:12 Melanie
NotSolved
Blau Aw:Aw:Aw:gehe in leeres Feld
31.10.2008 11:23:36 Holger
NotSolved

Ansicht des Beitrags:
Von:
Holger
Datum:
31.10.2008 11:23:36
Views:
1080
Rating: Antwort:
  Ja
Thema:
Aw:Aw:Aw:gehe in leeres Feld
Hallo Melanie,
man weiß nie, was jemand, der mit VBA anfängt, schon kann. Deshalb schicke ich einen sehr einfachen Code. So würde aber keiner programmieren. Stehen die daten jetzt in anderen Feldern? In der ersten Fassung waren es b1, b2, ..., jetzt finde ich i7, i9 , ... Beachte auch, dass ich das And durch ein Or ersetzt habe. Die Zellen müssen rückwärts aufgerufen werden, damit die erste freie übrigbleibt. Ersetze die relevanten Zeilen durch:

partyplatte = Range("i7").Value
sandwich = Range("i9").Value
Name = Range("q10").Value
tel = Range("q12").Value
abholung = Range("ag12").Value
If abholung = "" Then Range("ag12").Select
If Name = "" Then Range("q10").Select
If tel = "" Then Range("q12").Select
If sandwich = "" Then Range("i9").Select
If partyplatte = "" Then Range("i7").Select
If sandwich = "" Or partyplatte = "" Or Name = "" Or tel = "" Or abholung = "" Then
MsgBox "Daten überprüfen!"
Else
MsgBox "Check ok.Alle Daten vorhanden.", vbInformation

Du kannst natür auch ganz anders vorgehen, ohne so viele Variablen zu verwenden:
Sub check()
Dim a As String
a = ""
If Range("ag12").Value = "" Then a = "ag12"
If Range("q12").Value = "" Then a = "q12"
If Range("q10").Value = "" Then a = "q10"
If Range("i9").Value = "" Then a = "i9"
If Range("i7").Value = "" Then a = "i7"
If a <> "" Then
Range(a).Select
MsgBox "Daten überprüfen!"
Else
MsgBox "Check ok. Alle Daten vorhanden.", vbInformation
End If
end sub

Gruß
Holger


Melanie schrieb am 29.10.2008 08:08:12:


Hallo ..vielen lieben Dank für die schnelle Antwort...wir sind erst am anfang vom programmier kurs- und ich konnte leider mit dem unten geschriebenen nix anfangen..
bei mir sieht mein "programm" so aus:

bräuchte nur mehr den einen schritt spring ins leere feld (siehe Kommentar)


Sub check()

Dim name As String
Dim partyplatte As String
Dim sandwich As String
Dim tel As String
Dim abholung As String

partyplatte = Range("i7").Value
sandwich = Range("i9").Value
name = Range("q10").Value
tel = Range("q12").Value
abholung = Range("ag12").Value


If sandwich = "" And partyplatte = "" Or name = "" Or tel = "" Or abholung = "" Then
'spring in die erste leere zelle (variable)
MsgBox "Daten überprüfen!"
Else
MsgBox "Check ok.Alle Daten vorhanden.", vbInformation
End If

End Sub

Vielen Dank im Voraus!

Liebe Grüße
Melanie










Holger schrieb am 27.10.2008 15:52:46:

Hallo Melanie,
versuche
Sub Zellenprüfen()
For i = 1 To 4
If Cells(i, 2) = "" Then Exit For
Next i
If i = 5 Then
MsgBox "check ok"
Else
Cells(i, 2).Select
MsgBox "daten überprüfen"
End If
End Sub
Gruß
Holger

Melanie schrieb am 27.10.2008 13:24:56:

Hallo ich mache grad auf der Uni programmieren..

Wir bekommen ständig neue Aufgaben zum Selbstbearbeiten.
Ich steh nur leider grad bei einem Problem an...

Wir haben ein "Programm" - es gilt verschiedene Felder b1,b1,b3.b4 auf inhalt zu überprüfen
Wenn in jedem Feld etwas drinnen steht soll eine Msg box ausgegeben werden mit: check ok
Wenn irgendein feld nicht ausgefüllt wurde soll eine msg box ausgegeben werden: daten überprüfen

weiters soll das erste leere feld markiert werden!!!

bis jetzt funktioniert bei mir alles.. hab variabeln definiert, die die werte b1,b2,b3.b4 enthalten
und hab eine kontrollstruktur entwickelt...

wenn -variabelnamen-leer dann msg box daten überprüfen ansonst msg box check ok.

würd mich freuen wenn mir jemand weiter helfen kann!!!

Liebe Grüße
Melanie

Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
27.10.2008 13:24:56 Melanie
NotSolved
27.10.2008 15:52:46 Holger
NotSolved
29.10.2008 08:08:12 Melanie
NotSolved
Blau Aw:Aw:Aw:gehe in leeres Feld
31.10.2008 11:23:36 Holger
NotSolved