15. januar 2014 - 19:32Der er
8 kommentarer og 1 løsning
Hvorfor er der forskel på måden man laver formler og hvordan ser man forskellen?
Hejsa,
Jeg har fusket lidt med det her VBA og er stødt på (endnu) en ting som jeg ikke helt kan forstå og som jeg håber på at der er én herinde der kan hjælpe med at forklare for mig...
I nedenstående eksempel står der i celle A1 "AB" og jeg har aktiveret celle B1.
Her er der nu to muligheder for at skrive en formel for at få fat i bogstavet "A", altså en =VENSTRE - formel.
Hvis jeg bruger den besværlige metode og optager makroen ser den ud som følger: ActiveCell.FormulaR1C1 = "=LEFT(RC[-1],1)"
Hvis jeg derimod skriver den selv kan jeg nøjes med at skrive: Cells(1, 2) = Left(Cells(1, 1), 1) og få nøjagtigt samme resultat.
Mit spørgsmål er, hvorfor kan man ikke gøre det med alle funktionerne(formlerne) og hvordan ser man hvor det er muligt og hvor det ikke er muligt?
Et eksempel er =LOPSLAG der ved optagelse i makro-optageren hedder VLOOKUP men hvis jeg forsøger at skrive den i hånden efter ovenstående opskrift, får jeg at vide at funktionen ikke er en gyldig function?
Håber I kan hjælpe mig med at forstå forskellen på disse to formler og, for den sags skyld, de andre formler da der sikkert er flere der vil lave de samme numre med mig...
Jeg er dog nødt til at komme med et tillægs-spørgsmål til eksemplet på Lopslagét.
hvis der nu er tale om to forskellige ark, hvordan skal koden så skrives?
Jeg har forsøgt med forskellige muligheder, men kan ikke få det til at hænge sammen.
derudover har jeg også den "lille" udfordring at de løsninger I viser, ikke giver mulighed for at lægge det ind som loop, da cellerne, som jeg ser det, er låst på placeringerne. Derfor mit ønske om at kunne arbejde med en "cells" da jeg så kan lave en variabel f. eks. RK og lægge den med ind i koden så kabbak´s eksempel f. eks. ville hedde ActiveCell.FormulaLocal = "=venstre(cells(rk,1);1)" og man ville i et loop kunne bruge koden rk=rk+1 for at vælge næste række i tabellen.
Jeg har nu løst den med at hente data fra et andet ark, men mangler stadig at finde ud af hvordan jeg kan arbejde med variabler i denne type af formler...
Kan I ikke begge to smide et svar, så jeg kan give jer point?
Jeg har måske nok ikke fået helt den løsning jeg håbede på, men den jeg har fået fungerer og I har begge kæmpet for sagen så det skal I naturligvis have både point og tak for.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.