Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Cellen invullen  (gelezen 3824 keer)

0 leden en 1 gast bekijken dit topic.

Offline EricV

  • Volledig lid
  • **
  • Berichten: 138
  • Oplossing.be
Cellen invullen
« Gepost op: 01 september 2006, 15:26:27 »
Goedemiddag,

In A2 heb ik als kop staan "Naam" en in B2 "Woonplaats"

Met behulp van onderstaande macro wil ik verder de cellen vullen.

Sub invullen()
Application.ScreenUpdating = False
Range("a65536").End(xlUp).Offset(1, 0).Select
Dim conResponse As Variant
conResponse = MsgBox("Wil je een naam invullen ?", vbQuestion + vbYesNo, "actuele gegevens...")
If conResponse = vbNo Then Exit Sub
a = InputBox("Vul de nieuwe naam in")
ActiveCell.Value = a
ActiveCell.Offset(0, 1).Select
b = InputBox("Wat is de woonplaats ?")
ActiveCell.Value = b
Range("A65536").End(xlUp).Offset(1, 0).Select
Application.ScreenUpdating = True
Msg "De invoer is compleet !", vbOKOnly
End Sub

Ik heb nu het volgende probleem:
Er wordt gevraagd een naam in te vullen en daarna een woonplaats. Tot zover gaat het goed is.
Graag zou ik willen zien dat als er op de vraag of ik een naam wil invullen bij het kiezen van Nee gevraagd wordt of er wel een Woonplaats ingevuld moet worden.
Nu is het zo dat de macro eindigt.
Ik denk dat de oplossing ergens ligt met behulp van For ...Next  en If.....Else maar helaas weet ik niet hoe dit toegepast moet worden.

Kan iemand mij verder helpen want ik zit helemaal vast en ook zou ik het fijn vinden als je als voorbeeld een bestandje met de oplossing mee kunt sturen.

Iedereen alvast bedankt.

Groeten,
Eric


Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline WG

  • Ervaren lid
  • ***
  • Berichten: 366
  • Geslacht: Man
  • http://www.wimgielis.be
Re:Cellen invullen
« Reactie #1 Gepost op: 01 september 2006, 19:29:22 »
Eric

Sub invullen()
    Dim lngRow As Long
    Application.ScreenUpdating = False
    lngRow = WorksheetFunction.Max(Range("A65536").End(xlUp).Offset(1, 0).Row, Range("B65536").End(xlUp).Offset(1, 0).Row)
    conNaam = MsgBox("Wil je een naam invullen ?", vbQuestion + vbYesNo, "actuele gegevens...")
    If conNaam = vbYes Then Range("A" & lngRow) = InputBox("Vul de nieuwe naam in")
    conPlaats = MsgBox("Wil je een woonplaats invullen ?", vbQuestion + vbYesNo, "actuele gegevens...")
    If conPlaats = vbYes Then Range("B" & lngRow) = InputBox("Vul de nieuwe plaats in")
    MsgBox "Merci"
    Application.ScreenUpdating = True
End Sub

Wigi
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline EricV

  • Volledig lid
  • **
  • Berichten: 138
  • Oplossing.be
Re:Cellen invullen
« Reactie #2 Gepost op: 02 september 2006, 09:08:33 »
Wigi,

Schitterend ! Dit is precies wat ik zocht.

Bedankt,
Eric
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline EricV

  • Volledig lid
  • **
  • Berichten: 138
  • Oplossing.be
Cellen invullen: aanvullende vraag
« Reactie #3 Gepost op: 02 september 2006, 16:49:54 »
Goedemiddag,

Van Wigi heb ik een heel goede oplossing gekregen op mijn vorige vraag.
De macro heb ik nu toegepast in een groter werkblad en toch heb ik nog een aanvullende vraag.

Kan de macro zodanig aangepast worden dat er bij een antwoord Nee een liggend streepje in de cel komt te staan (en uitgelijnd in het midden) ? En dat geldt dan voor allebei de vragen dus bij Naam invullen Nee en bij Woonplaats Nee.
Ik denk als dit is toegevoegd dat ik dan precies heb wat ik nodig heb.

Ik ben benieuwd naar jullie reacties.

Eenieder alvast bedankt,

Groeten,
Eric
Gelieve uw systeemgegevens in te vullen. Klik HIER voor meer informatie.

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.191
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re:Cellen invullen
« Reactie #4 Gepost op: 02 september 2006, 17:56:43 »
Hallo Eric,

voor bijkomende vragen over een bestaand topic blijf je best in hetzelfde topic. Ik heb beide topics dan ook samengevoegd.

Hier toch de oplossing voor je probleempje:

Sub invullen()
    Dim lngRow As Long
    Application.ScreenUpdating = False
    lngRow = WorksheetFunction.Max(Range("A65536").End(xlUp).Offset(1, 0).Row, Range("B65536").End(xlUp).Offset(1, 0).Row)
    conNaam = MsgBox("Wil je een naam invullen ?", vbQuestion + vbYesNo, "actuele gegevens...")
    If conNaam = vbYes Then Range("A" & lngRow) = InputBox("Vul de nieuwe naam in")
    If conNaam = vbNo Then Range("A" & lngRow).Value = "-"
    If conNaam = vbNo Then Range("A" & lngRow).Select
    Selection.HorizontalAlignment = xlCenter

   
    conPlaats = MsgBox("Wil je een woonplaats invullen ?", vbQuestion + vbYesNo, "actuele gegevens...")
    If conPlaats = vbYes Then Range("B" & lngRow) = InputBox("Vul de nieuwe plaats in")
    If conPlaats = vbNo Then Range("B" & lngRow).Value = "-"
    If conPlaats = vbNo Then Range("B" & lngRow).Select
    Selection.HorizontalAlignment = xlCenter

   
    MsgBox "Merci"
    Application.ScreenUpdating = True
End Sub

De vet gedrukte regels zorgen voor het streepje (gecentreerd) als er Neen (VBNo) wordt gedrukt.

Groeten,

:) SoftAid :)
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

 


www.combell.com