anoniem Geplaatst: 1 mei 2005 Delen Geplaatst: 1 mei 2005 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. Quote Link naar reactie
anoniem Geplaatst: 1 mei 2005 Auteur Delen Geplaatst: 1 mei 2005 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 ;) Quote Link naar reactie
anoniem Geplaatst: 1 mei 2005 Auteur Delen Geplaatst: 1 mei 2005 vedankt voor het snelle antwoord, of ik hiermee echt gered ben weet ik niet maar ik ga het iig proberen. Quote Link naar reactie
anoniem Geplaatst: 1 mei 2005 Auteur Delen Geplaatst: 1 mei 2005 Ik heb de nl versie van office 2003. Waarmee vertaal je Range en Value? Het lijkt geen waaier en waarde te zijn. Quote Link naar reactie
anoniem Geplaatst: 1 mei 2005 Auteur Delen Geplaatst: 1 mei 2005 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 :) Quote Link naar reactie
anoniem Geplaatst: 2 mei 2005 Auteur Delen Geplaatst: 2 mei 2005 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. Quote Link naar reactie
anoniem Geplaatst: 2 mei 2005 Auteur Delen Geplaatst: 2 mei 2005 @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.? Quote Link naar reactie
anoniem Geplaatst: 2 mei 2005 Auteur Delen Geplaatst: 2 mei 2005 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 Quote Link naar reactie
anoniem Geplaatst: 3 mei 2005 Auteur Delen Geplaatst: 3 mei 2005 Bedankt webspider ik ga er weer mee aan de gang kijken of dit ook lukt Quote Link naar reactie
anoniem Geplaatst: 3 mei 2005 Auteur Delen Geplaatst: 3 mei 2005 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. Quote Link naar reactie
anoniem Geplaatst: 3 mei 2005 Auteur Delen Geplaatst: 3 mei 2005 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. Quote Link naar reactie
anoniem Geplaatst: 4 mei 2005 Auteur Delen Geplaatst: 4 mei 2005 [quote:e047341f24="webspider"]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.[/quote:e047341f24] Ik wel :wink: [code:1:e047341f24] for rij = 1 to 40 if sheet1.cells(rij,<kolomnummer>) = <checkwaarde> then (...) end if next [/code:1:e047341f24] En in plaats van ltrim$(rtrim$(<variabele>)) kun je ook trim$(<variabele>) gebruiken. Even snel uit de Excel VBA-help: [quote:e047341f24] LTrim, RTrim, and Trim Functions Example This example uses the LTrim function to strip leading spaces and the RTrim function to strip trailing spaces from a string variable. It uses the Trim function to strip both types of spaces. [code:1:e047341f24] Dim MyString, TrimString MyString = " <-Trim-> " ' Initialize string. TrimString = LTrim(MyString) ' TrimString = "<-Trim-> ". TrimString = RTrim(MyString) ' TrimString = " <-Trim->". TrimString = LTrim(RTrim(MyString)) ' TrimString = "<-Trim->". ' Using the Trim function alone achieves the same result. TrimString = Trim(MyString) ' TrimString = "<-Trim->". [/code:1:e047341f24] [/quote:e047341f24] Scheelt toch weer een paar toetsaanslagen 8) Quote Link naar reactie
Aanbevolen berichten
Om een reactie te plaatsen, moet je eerst inloggen