Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

in excel via 2 bladen gegevens selecteren.

meneer_ed
11 antwoorden
  • Ik heb een excelbestand met meerder werkbladen:

    1. adres
    2. mailing codes
    3. mailingbestand

    nu is elk adres gecodeerd.
    deze codering vindt je weer terug inmailing codes

    nu is het de bedoeling dat excel naar mailing codes gaat
    de code ophaalt en vervolgens die code in adres selecteert en plaats
    in mailingbestand.

    de codes die gemaild worden zijn elke keer weer anders

    wie helpt mij opdreef?


    Ik heb office 2003, als het kan zou ik graag een macro willen die compatible is met office 2000 zover dat kan.
  • Je moet in de visual basic editor even kijken naar de juiste namen, maar als het goed is staat "adres" bekend als "Sheet1", "mailing codes" als "Sheet2" enz.


    De waarde van een bepaald veld kan je krijgen met:
    Sheet[1/2/3].Range("[celnaam]").Value

    dus bijvoorbeeld:

    variabele = Sheet1.Range("A1").Value

    Het werkt ook de andere kant op, dus:
    Sheet1.Range("A1").Value = variabele

    Formules kan je doorgeven door bv "=A1+B1" als variabele te gebruiken.

    Verder zelf maar even kloten ;)


    oh, en een tip: kijk eens naar de object explorer, en ga een beetje proberen met de macro opname tool als het niet lukt, door bijvoorbeeld eerst op het ene tabblad en daarna op het andere tabblad iets te typen krijg je wat informatie over hoe het intern geregeld wordt in VBA ;)
  • vedankt voor het snelle antwoord,
    of ik hiermee echt gered ben weet ik niet maar ik ga het iig proberen.
  • Ik heb de nl versie van office 2003.

    Waarmee vertaal je Range en Value?

    Het lijkt geen waaier en waarde te zijn.
  • Oei, goeie vraag.

    Wat je het beste even kunt doen is een macro opnemen en dan bij twee tabbladen iets intypen, dan krijg je iig de vertaling van Range; value heb ik eigenlijk geen idee van wat het in het nederlands is, waarde zou idd kunnen; anders moet je even in de object explorer kijken :)
  • Ik draai op mijn oude laptop een Nederlandse versie van Office 2000 op een Nederlandse versie van Window Millenium. In de Visual Basic Editor krijg ik nochtans de Engelse woorden 'Range' en 'Value' te zien. De werkbladen zelf worden overigens wel met Nederlandse namen aangeduid (Blad1, Blad2, …).

    Nu moet ik wel zeggen dat ik ook Visual Basic op dit ding draai en die is uiteraard wel geheel Engelstalig; ik geloof niet dat daar een Nederlandse versie van is. Maar de VB editor in Office zou gewoon in de eigen taal moeten werken, ongeacht of ik er nu VB op heb staan of niet. Het menu, de vensters en de help zijn ook gewoon in het Nederlands.

    Kortom, ik denk dat je gewoon 'Range' en 'Value' moet blijven gebruiken.
  • @webspider
    Ik zat handmatig te kl*ten. In VBE zag ik dat het engelstalig was.

    Zo ver heeft het gewerkt.

    Nu een kleine aanvulling

    Diegene die niet met de mailing meegaan hebben in kolom k nee staan
    in kolom l staat dan de kode

    kan ik exel laten kijken naar die kolom k voordat het gaat kopieren?

    Bij nee of #ja dat het dan niet gaat kopieren.?
  • if (…).Value="ja" then
    <hetgeen wat er dan moet gebeuren>
    else
    <hetgeen er moet gebeuren als er geen 'ja' in dat veld staat>
    end if


    dus bv:

    if sheet1.range("l1").value = "ja" then
    sheet3.range("a1").value = sheet1.range("a2").value + sheet2.("a2").value
    end if
  • Bedankt webspider ik ga er weer mee aan de gang kijken of dit ook lukt
  • Geplaatst: 02 Mei 2005 22:33 Onderwerp:

    ——————————————————————————–

    if sheet1.range("l1").value = "ja" then
    sheet3.range("a1").value = sheet1.range("a2").value + sheet2.("a2").value
    end if

    Ik kom er nog niet uit. bovenstaande is bedoelt voor ja/nee.
    Het kan denk ik voldoende zijn als er alleen gekopieerd wordt als er ja staat. Als er wat anders staat moet het gewoon naar de volgende cel gaan

    Bovenstaande is bedoelt per code, dus als je 40 codes hebt moet je die 40x gebruiken?

    …………….K…………..L
    bv
    rij 39…….. ja…………. 300
    rij 40…….. nee………..310
    rij 41…….. ja…………..320


    cel k40 geeft nee dus niets doen c.q. naar k41 gaan.
  • for rij = 1 to 40 'rijen 1 t/m 40
    rijSTR = ltrim$(rtrim$(str$(rij)) 'tekst uit variabele rij halen; 40 -> '40'
    if sheet1.range("a"+rijSTR) then
    (…)
    end if
    next rij

    waarschijnlijk kan het nog iets anders, door rij en kolom los op te geven, maar dat weet ik ff niet.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.