• 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.

Hulp nodig met macro

Status
Niet open voor verdere reacties.

Fuller1985

Gebruiker
Lid geworden
14 jun 2007
Berichten
15
Hey mensen,

ik ben bezig (bijna klaar) met mijn afstudeerstage. Mijn opdracht is om de dagelijkse inslag van de verkochte dranken binnen een hotel in beeld te brengen. Hier voor heb ik een excel sheet ontworpen. Deze heb ik hier als link toegevoegd.
Ik heb hier al een aantal macro's in verwerkt. Alleen ben ik pas een beginneling hiermee en heb ik een vraag. In dit Excel sheet moet je 31 dagen invullen. Wanneer je dit iedere maand handmatig moet legen en op 0 moet zetten kost je dat enorm veel tijd. Ik wil dus een macro maken die mij aan het einde van de maand de velden van alle 31 dagen leegt en ze automatisch op 0 zet. Nu krijg ik de velden wel leeg maar dan verdwijnen dus ook die 0-en allemaal. Kan iemand mij hier bij helpen? het gaat om de blauwe 0-en in de sheet waar je de micros specificatie moet invoeren.Dit is een zeer grote sheet en het zou fijn zijn als iemand me die macro kon uitleggen in begrijpelijke taal :D

Alvast bedankt

http://www.speedyshare.com/689973990.html
 
Er zal ongetwijfeld iemand zijn die een kortere/betere macro kan schrijven maar onderstaande werkt ook
Zet in cel IV1 het getal 0
Code:
Sub testmacro()
'
' testmacro Macro
'
    Range("IV1").Select
    Selection.Copy
    
Range("B6:D39").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
[COLOR="Red"]    
Range("H6:J39").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False[/COLOR]
   
Range("N6:P39").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False







End Sub

Bereid de range zelf verder uit voor de overige cellen.

Deze macro vermenigvuldigd alle blauwe getallen met 0 en er komt dus een 0 te staan.
 
alvast bedankt voor de moeite, maar nu ga je me al echt te ver......ik ben niet zo bekend met die codes allemaal....en de cel I V 1 als ik het goed lees kan ik in mijn sheet niet eens zien :confused:
 
IV1 mag ook een andere cel zijn.
Ik heb deze als voorbeeld genomen met als achtergrond gedachte die cel is ver weg van alle overige gegevens.
 
ja dat snap ik indd, maar die code wat je geschreven hebt daar kan ik die gewoon achter een command button zetten? hoef ik hier niet een macro voor op te nemen of iets dergelijks...
 
sorry voor de vele reacties, maar ik moest het even uitproberen. Ik heb hem aan het werk gekregen :D bedankt
 
Er zal ongetwijfeld iemand zijn die een kortere/betere macro kan schrijven maar onderstaande werkt ook
Zet in cel IV1 het getal 0
Code:
Sub testmacro()
'
' testmacro Macro
'
    Range("IV1").Select
    Selection.Copy
    
Range("B6:D39").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
[COLOR="Red"]    
Range("H6:J39").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False[/COLOR]
   
Range("N6:P39").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False







End Sub

Bereid de range zelf verder uit voor de overige cellen.

Deze macro vermenigvuldigd alle blauwe getallen met 0 en er komt dus een 0 te staan.


nog 1 laatste vraag:

de macro werkt, alleen wil ik hem achter een command button in een andere sheet zetten, namelijk de sheet waar je kunt kiezen welke dagen je wilt invoeren van de micros specificatie. Nu moet ik een verwijzing bij die cellen zetten in de code die jij gemaakt hebt, alleen pakt hij deze iedere keer niet......ik zal wel een verkeerde verwijzing maken. kun je me een voorbeeld geven van hoe dit moet als je snapt wat ik bedoel!
 
Code:
Sub testmacro()
'
' testmacro Macro
'
Sheets("Micros Specificatie").Select
    Range("IV1").Select
    Selection.Copy
    
Range("B6:D39").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
    
Range("H6:J39").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
   
Range("N6:P39").Select
        Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False

Sheets("Dagen Spec.").Select

End Sub
 
hij geeft nu weer een foutmelding aan, namelijk dat deze code niet klopt:

Range("IV1").Select
 
Hij moet het toch echt doen, heb je niet ergens een tikfoutje?
Bij mij doet hij het namelijk wel
 
ik heb nog eens gekeken, heb de code over gekopieerd van jouw post maar hij pakt hem maar steeds niet.

steeds dezelfde foutmelding
 
ik zal vanavond eens kijken wanneer ik terug ben van mijn stage!

Bedankt in ieder geval
 
ik heb er nog even naar gekeken, en ik denk dat ik weet waarom hij het bij mij niet doet. Bij jou staat deze code in VBA onder algemeen. Dit krijg ik ook voor elkaar, alleen heb ik dan geen command button waar ik deze macro achter kan zetten. Op de een of andere manier lukt me dat niet. Wanneer ik eerst een command button toevoeg en dan de code erachter zet, dan geeft hij steeds een foutmelding. Hij zegt dan, er wordt ook een end sub verwacht, maar wanneer ik dat doe, dan heb ik die code weer onder algemeen staan en niet achter een command button?! Heb je hier nog een oplossing voor want ik zie in jouw sheet dat hij wel achter een knop zit.
 
ook blijft hij steeds die range fout geven wat ik al eerder aan gaf... ik heb gewoon een 0 getypt in de cl IV1, maar in die sheet van jou zie ik deze niet staan, die 0 maar toch werkt die code bij jou wel....ik ben echt even de weg kwijt nu.:shocked:
 
ik denk dat ik deze command buttoon tog maar op de sheet micros specificatie zet aangezien hij dan wel gewoon werkt.
 
Doe dit:

Zet een commandbutton op de sheet naar keuze. Gebruik daarvoor de werkbalk Visual Basic, klik op het liniaal en zet een knop neer. Klik dan met rechts op de knop, en kies Programmacode weergeven.

Plak dan deze code:

Code:
Private Sub CommandButton1_Click()
    Sheets("naamvanhetblad").Range("A1, B7:H10").Value = 0
End Sub

Breid de range zelf verder uit voor de overige cellen. naamvanhetblad is dat van de cellen die op 0 gezet moeten worden.

Geen cel IV1 nodig of zo. (Trouwens doe dit nooit, Excel denkt nu dat je alle kolommen gebruikt, omdat er in de laatste kolom nog iets staat).

Hopelijk is hiermee de mist opgeklaard.

Wigi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan