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

cross-verwijzing macro's

Status
Niet open voor verdere reacties.

nobody11

Gebruiker
Lid geworden
20 dec 2007
Berichten
552
Code:
Sub test0()
w = 2
Call test1
Range("B2").Value = z

w = 10
Call test1
Range("B3").Value = z
End Sub

Sub test1()

Range("A1").Value = 5 * w
z = Range("A1").Value
end sub


hoe komt het dat deze macro niet werkt? het is maar een rudimentair voorbeeld.. maar het idee is dat door middel van test0() 2 'cases' uitwerk op basis van verschillende waarden voor w.. kunnen jullie mij hiermee verder helpen om dit operationeel te maken?
 
Laatst bewerkt:
Je moet variabelen zoals w en z declareren.

En dan ook nog met de juiste scope: er zijn variabelen op het niveau van een procedure, op het niveau van een module, en op het niveau van het hele project.

Wigi
 
Ik volg de logica van je berekening niet goed maar allee

Mvg

Rudi
 

Bijlagen

Ik volg de logica van je berekening niet goed maar allee

Mvg

Rudi

de idee is de volgende;. ik heb een lange macro geschreen die vanalle berekeningen doet.. nu wil ik graag twee maal die berekeningen (en de antwoorden in 2 verschillende cellen) waarvan telkens 1 variabele in waarde verschilt.. vandaar die rare constructie met w = 0 en w = eengetal..

snappen jullie mijn bedoeling?


@ warme bakkertje, hartelijk bedankt! met jou oplossing kan ik verder ! nu zie ik ook die public declaration
 
Laatst bewerkt:
het is nog niet heleamal wat ik gewenst had.. ik zal het nog eens proberen uit te leggen.

ik heb een excel sheet waarin gebruikers verschillende variabelen ingeven.. een van die variabele is "w", nadien wordt er mbv een macro (test1 in dit voorbeeld) een berekenign gedaan.. nu had ik graag dat die berekening twee maal gemaakt wordt, een keer met de variabele w = 0 ,en de andere keer met de variabele w=ingegevenwaardedoorgebruiker..

die 0 moet automatisch gebeuren, en dan een tweede berekening afhankelijk van de beginwaarde van w die de gebruiker ingeeft.. snappen jullie mijn bedoeling?


alvast bedankt!
EDIT: OPLOSSING GEVONDEN :-) net na het posten kreeg ik een "ingeving".. dankzij jullie heb ik het gevonden! bedankt aan dit prachtige forum!!!
 
Laatst bewerkt:
Als je het moeilijk wil doen:

Code:
Sub test0()
  Range("B2").Value = test1(2)
  Range("B3").Value = test1(10)
End Sub

Code:
Function test1(w as long)
   test1=5 * w
end function

Als je het simpel houdt:

Code:
Sub test0()
  Range("B2").Value = 10
  Range("B3").Value = 5* [A1]
End Sub
 
deze code heb ik gebruikt:

Code:
Public w As Integer, z As Integer

Sub test0()

w = 0
        Call test1
        Range("B2").Value = z
 w = [b1].Value
        Call test1
        Range("B3").Value = z

End Sub

Sub test1()
    Range("A1").Value = 5 * w
    z = Range("A1").Value
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan