[Excel 2003] VBA (If Range() = Empty And If Range() = Empty)

Pagina: 1
Acties:

Onderwerpen


  • Da_maniaC
  • Registratie: September 2004
  • Laatst online: 19-07 06:20

Da_maniaC

a.k.a. The Sequenz Pounder

Topicstarter
(jarig!)
Hey,

Ik heb een simpel stukje code om te zorgen dat een bepaalde macro enkel wordt uitgevoerd wanneer een aantal cellen niet leeg zijn:

code:
1
2
3
4
5
6
7
8
9
Sub Gegevens_Verwerken()

    If Range("C6") = Empty And  Range("E6") = Empty And Range("G6") = Empty And Range("J6") = Empty And Range("C7") = Empty And  Range("E7") = Empty And Range("G7") = Empty And Range("J7") = Empty Then
    MsgBox "De Invoersheet is nog leeg of niet correct gevuld!", 64, "Gegevens niet verwerkt"
    Else
    Call Gegevens_Verwerken2
    End If
    
End Sub


Echter lijkt de code alleen te werken op de eerste cell (C6), naar de andere cellen lijkt niet te worden gekeken? :?

Inventory | Instagram: @sequenzpounder | http://www.zdaemon.org | ZDaemon! Client/Server port for DOOM!


  • 3xNix
  • Registratie: Juli 2001
  • Laatst online: 02-07 12:19

3xNix

golfr in hart en nieren

Moet dit niet gewoon If - Or zijn dan?

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Wat wil je nu?
Moeten ze allemaal gevuld zijn
code:
1
2
3
If (a is leeg) OR (b is leeg) etc then foutmelding
of
if (A gevuld) AND (b gevuld) then doehet else foutmelding

of is het voldoende als er slechts een gevuld is?
code:
1
2
3
If (a is leeg) AND (b is leeg) then foutmelding
of
if (A gevuld) OR (b gevuld) then doehet else foutmelding

[ Voor 22% gewijzigd door Lustucru op 08-06-2011 13:14 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


  • Da_maniaC
  • Registratie: September 2004
  • Laatst online: 19-07 06:20

Da_maniaC

a.k.a. The Sequenz Pounder

Topicstarter
(jarig!)
Hey,

Alle cellen die ik aangeef moeten gevuld zijn voordat de macro het mag gaan doen. :)

Dus ik moet juist een OR statement gebruiken?

[Edit]

Nu is de werking exact andersom....
code:
1
2
3
4
5
6
7
8
9
Sub Gegevens_Verwerken()

    If Range("C6") = Empty Or Range("E6") = Empty Or Range("G6") = Empty Or Range("J6") = Empty Or Range("C7") = Empty Or Range("E7") = Empty Or Range("G7") = Empty Or Range("J7") = Empty Then
    MsgBox "De Invoersheet is nog leeg of niet correct gevuld!", 64, "Gegevens niet verwerkt"
    Else
    Call Gegevens_Verwerken2
    End If
    
End Sub


Ook wanneer alle genoemde cellen zijn gevuld werkt de macro nog steeds niet. 8)7

[ Voor 86% gewijzigd door Da_maniaC op 08-06-2011 16:51 ]

Inventory | Instagram: @sequenzpounder | http://www.zdaemon.org | ZDaemon! Client/Server port for DOOM!


  • Da_maniaC
  • Registratie: September 2004
  • Laatst online: 19-07 06:20

Da_maniaC

a.k.a. The Sequenz Pounder

Topicstarter
(jarig!)
Problem solved. De syntax moest zijn:

code:
1
2
3
4
5
6
7
8
9
Sub Gegevens_Verwerken()

    If (Range("C6") = Empty) Or (Range("E6") = Empty) Or (Range("G6") = Empty) Or (Range("J6") = Empty) Or (Range("C7") = Empty) Or (Range("E7") = Empty) Or (Range("G7") = Empty) Or (Range("J7") = Empty) Then
    MsgBox "De Invoersheet is nog leeg of niet correct gevuld!", 64, "Gegevens niet verwerkt"
    Else
    Call Gegevens_Verwerken2
    End If
    
End Sub

Inventory | Instagram: @sequenzpounder | http://www.zdaemon.org | ZDaemon! Client/Server port for DOOM!