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

Formule werkt niet

Status
Niet open voor verdere reacties.

GuidoOxfam

Gebruiker
Lid geworden
19 nov 2011
Berichten
14
Hallo,

Ik wil een formule gebruiken, nou de eerste formule werkt perfect.
Test is een variabele. De tweede formule doet het niet :evil:
Waarom weet ik niet, als ik de formule copier in een cel werkt deze wel.
Met de formulie zoek ik met de inhoud van A2(artikelnummer) in een lijst een omschrijving op van dat artikel. Ik begrijp er niets van...
Wie kan mij helpen ?

Code:
ActiveSheet.Cells(Test, 1).Formula = "=Sum(B1:B5)"
ActiveSheet.Cells(Test, 2).Formula = "=VERT.ZOEKEN(A2;Produktenlijst!A:E;2;ONWAAR)"

1000 maal dank op voorhand

Groeten,
Guido
 
Laatst bewerkt door een moderator:
Misschien wel errug simpel gedacht, maar je 1e formule is in het engels (SUM) en de 2e is in het nederlands.

Kan het zijn dat je excel versie daar problemen mee heeft ???
(werk zelf ook veel met de engelse en de nl talige door elkaar en ben hier ook wel eens tegen aan gelopen)

Enne als je de tweede formule in een cel hebt staan in je werkblad, doet hij het dan wel ? anders kan daar ook een fout in zitten.
 
Guido,
op grond van je geplaatste gegevens is er alleen dit van te zeggen:

1. In cell(Test,1) moet Test een getal zijn, een waarde die eerder in de macro aan Test gegeven moet zijn.
2. Produktenlijst moet de naam van een werkblad zijn.
3. In plaats van Produktenlijst!A:E kun je beter gebruiken (voorbeeld): Produktenlijst!A2:E100 (als A2:E100 het bereik is waarin je wil kijken). Je kunt best nooit gehele kolommmen of rijen in formules gebruiken.
4. Wat Koos schrijft, kan normaliter de reden van de fout niet zijn, want in vba gebruikte formules worden automatisch vertaald naar het Nederlands (als je met een Nederlandstalige Excelversie werkt). Dat is niet altijd zo als je de formules in het blad gebruikt, dan moet je de taal gebruiken van je Excelversie. Waarom wil je trouwens per se die formules via vba plaatsen en typ je ze niet rechtstreeks in het blad?
 
Laatst bewerkt:
Hetgeen ik wil bereiken is een automatisatie van de wereldwinkel.
Ik wil in de eerste kolom van de spreadsheet een barcode kunnen inscannen, is deze niet gekend, dan kan men zelf de omschrijving intikken. Daarom kan ik de formule niet protected zetten. Ik heb geprobeerd om een voorbeeld xls up te loaden maar dit lukt niet. Daarom heb ik de coding hieronder geplaatst. Hopelijk kunnen we langs deze weg verder :)

Alvast bedankt voor de moeite.
Als m'n uitleg niet duidelijk is sorry, dan ga ik de komende dagen onderzoeken waarom ik niet kan uploaden
Nogmaals bedankt !

Groeten,
Guido


Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Test As Integer

If (ActiveCell.Column = 1) Then
   Test = ActiveCell.Row - 1
   Cells(Test, 5).Select
   ActiveSheet.Cells(Test, 5).Formula = "=Sum(A1:D1)"
   ActiveSheet.Cells(Test, 2).Formula = "=VERT.ZOEKEN(A1;Produktenlijst!A2:B6;2;ONWAAR)"
                                          
   'ActiveSheet.Cells(Test, 2).Formula = "VERT.ZOEKEN(A" & Test & ";Produktenlijst!A2:B6;2;ONWAAR)"'
End If
End Sub

Tabblad Produktenlijst :
Barcode Omschrijving Prijs
123 Produkt 123 23
124 Produkt 124 24
125 Produkt 125 25
126 Produkt 126 26
127 Produkt 127 27

Tabblad opzoeken produkt
Barcode Omschrijving
Als je hier iets inscant krijg je Automische opgezocht indien mogelijk, anders
automatisch de omschrijving in de msgbox en kan je iets intikken
2de kolom terug
 
Laatst bewerkt door een moderator:
'ActiveSheet.Cells(Test, 2).Formula = "VERT.ZOEKEN(A" & Test & ";Produktenlijst!A2:B6;2;ONWAAR)"'
Aan het begin van die coderegel staat een apostof, zodat de volledige regel door vba wordt genegeerd, ben je je daarvan bewust? Ook aan het eind staat een enkele apostroph, die er niet hoort te staan.
 
Antwoord gevonden

Uiteindelijk heb ik het gevonden.
M'n formules moeten inderdaad in het engels met , als separated teken.
Oef, moeilijke bevalling :eek:
Bedankt voor jullie hulp.

Groeten,
Guido
 
M'n formules moeten inderdaad in het engels met , als separated teken.
Vreemd hoor, want in mijn versie van Excel moet dat in elk geval NIET, en ook niet op menig andere computer waar ik Excel heb zien werken.
Let wel: ik bedoel de situatie dat je in een Nederlandstalige versie van Excel via vba formules in een blad wil plaatsen.. Het is ook logisch dat dat niet moet, want een opdrachtregel zoals
ActiveSheet.Cells(Test, 2).Formula = "=VERT.ZOEKEN(A1;Produktenlijst!A2:B6;2;ONWAAR)"
doet niet anders dan datgene wat er op na het eerste = teken staat, in een cel plaatsen (zonder aanhalingstekens). En dat is hetzelfde als wanneer je die formule daar handmatig zou invoeren.
Het ligt anders als je via vba dezelfde opdracht zou willen uitvoeren zónder de formule in de cel te plaatsen, dan moet die opdracht uiteraard wél altijd in het Engels zijn. Die komt er dan zo uit te zien:
ActiveSheet.Cells(Test, 2).value = worksheetfunction.Vlookup(A1,Produktenlijst!A2:B6,2,ONWAAR)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan