• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Voorwaarde uitvoeren macro

  • Onderwerp starter Onderwerp starter Oxy
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Oxy

Gebruiker
Lid geworden
15 nov 2007
Berichten
24
Hallo,

Ik hoop dat iemand mij kan helpen met het volgende:

1) ik heb twee sheets met een macro om van sheet 1 naar sheet 2 te gaan. Nou wil ik graag dat ie naar de volgende sheet gaat als er tenminste iets is ingevuld in rij 6 van sheet1. Wanneer dit niet het geval is, wil ik de macro een melding laten geven met "lijst nog niet ingevuld".

2) een andere macro moet alleen een msgbox geven met: "Heeft u X al gecontroleerd?" en met de keuze mogelijkheid Ja en Nee. Ja is natuurlijk de uitvoering van de macro waar Nee gelijk moet staan aan cancel.

Alvast bedankt voor de personen die mij uit de brand willen helpen.

Groeten!
 
Heb je voor die eerste al een deel van de macro? Zou je deze dan eens hierin kunnen plakken?
 
Hoi Tim,

Jazeker, de macro stelt niet heel veel voor. Het is een knop ingebouwd waarop mensen kunnen klikken om naar de volgende sheet te gaan.

Sub Continue()
Sheets("sheet2").Select
Range("A6").Select
End Sub
 
Is er nog iemand die antwoord heeft op mijn twee vragen? Alvast bedankt!
 
Hierbij mijn kleine poging. Let op: ongeteste code, maar zou moeten werken.

Code:
Sub Probleem1()

If Sheets("sheet1").Rows(6).SpecialCells(xlCellTypeBlanks).Count = Sheets("sheet1").UsedRange.Columns.Count Then
    MsgBox ("Lijst nog niet ingevuld!")
Else
    Sheets("sheet2").Activate
    ActiveSheet.Range("A6").Select
End If

End Sub
Code:
Sub Probleem2()
ansmsg = MsgBox("Heeft u X al gecontroleerd?", vbYesNo, "Controle")
If ansmsg = vbYes Then
    'CODE OM UIT TE VOEREN
    
End If
End Sub
 
Hoi Finch,

Bedankt voor je reactie. Probleem 1 is voor 50% opgelost, waar probleem 2 helemaal is opgelost. Bedankt!

Bij probleem 1 gaat het goed totdat er niets in rij 6 is ingevuld. Ik krijg dan netjes een melding. Wanneer ik daar wel dingen invul, geeft ie een bug aan bij:

Code:
If Sheets("Copy PPG (1)").Rows(6).SpecialCells(xlCellTypeBlanks).Count = Sheets("Copy PPG (1)").UsedRange.Columns.Count Then
Komt dat door het feit dat ie de gehele rij 6 controleerd? In principe hoeft hij alleen rij A6 t/m rij F6 te controleren, want daar komt data in te staan.

Kan je me verder helpen met het laatste obstakel?
 
Laatst bewerkt door een moderator:
Nog 1 update. Wanneer ik alleen in A6 wat invul, gaat ie wel verder. Vul ik de rest van de gegevens in bij B6 t/m F6 geeft ie de bug aan.

Hij moet in ieder geval de rij 6 van A t/m F controleren.
 
Hierbij een nieuwe poging, wederom uit de losse pols.

Code:
Sub Probleem1()

lengte = 0
For i = 1 To 6
    If lengte > 0 Then Exit For
    lengte = lengte + Len(Sheets("sheet1").Cells(6, i))
Next i
    
If lengte = 0 Then
    MsgBox ("Lijst nog niet ingevuld!")
Else
    Sheets("sheet2").Activate
    ActiveSheet.Range("A6").Select
End If

End Sub

Ben niet helemaal tevreden met die code. Ze kan korter volgens mij, maar helaas heb ik geen tijd om dat te verwezelijken. Werken zal ze (normaal gezien :)) wel doen.
 
Ik geef niet om een nog kortere code, hij is al kort genoeg en het belangrijkste, HET WERKT! Mijn complimenten Finch. Erg bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan