Gå til innhold

Excel VBA kode hjelp


Anbefalte innlegg

Hei

Jeg har en vba-kode i excel hvor jeg prøver å fargelegge noen celler.
I en del av koden har jeg en variabel som heter "nykol" den inneholder et tall som er et radnr f.eks 8

Jeg ønsker å velge fargelegge celle c8 og celle e8 med denne koden:

      With Range("c" & nykol & "," & "e" & nykol)
        .Interior.Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
        .Color = 13434879
        .TintAndShade = 0
        .PatternTintAndShade = 0
        End With

Jeg vet det er noe feil i første linjen men finner ikke helt ut av det.
noen som kan hjelpe?

 

 

Lenke til kommentar
  • 2 uker senere...
Videoannonse
Annonse

Takk for hjelpen!
Nå fikk jeg det til.

Nå har jeg møtt på en annen utfordring:

Jeg prøver å skrive inn en formel i en celle ved hjelp av vba og variabler.

Den ser slik ut:

    'enhetspris
        Dim myFormula12 As String
        myFormula12 = "="
        myFormula12 = myFormula12 & "HVISFEIL((H"
        myFormula12 = myFormula12 & nykol
        myFormula12 = myFormula12 & "/E"
        myFormula12 = myFormula12 & nykol
        myFormula12 = myFormula12 & "),H"
        myFormula12 = myFormula12 & nykol
        myFormula12 = myFormula12 & ")"
        Range("F" & nykol).Formula = myFormula12

Den gir en tekst i celle F19 som er slik: =@HVISFEIL((H9/E9);H9)

Det er sikkert enklere måter å gjøre dette på, men jeg har prøvd mye forskjellig nå og finner ikke ut av det.

Noen tips?

Lenke til kommentar

Hei. 

Slik jeg leser innlegget ditt, prøver du å sette inn en formel i en celle, som tar argumenter fra 2 andre celler i samme rad(radnummer er lagret i en variabel nykol). 

Etter min mening er det bedre å gjøre det du prøver ved bruk av regular expressions(RegExp). For å bruke det, må du til tools-references, og i menyen, krysse av for Microsoft VBScript Regular Expressions 5.5.

Regner med at det er skrivefeil der du skriver celle F19 og @ i formelen.

Jeg løste det slik, men du kan gjøre nødvendige justeringer for at det skal fungere i ditt ark.

Dim myFormula12 As String
Dim nykol As String
Dim utCell As String
Dim regEx As Object
Set regEx = New RegExp
myFormula12 = "=HVISFEIL((H%/E%),H%)"
nykol = "9"
utCell = "F%"
regEx.Pattern = "%"
regEx.Global = True

myFormula12 = regEx.Replace(myFormula12, nykol)
utCell = regEx.Replace(utCell, nykol)
Range(utCell).Formula = myFormula12

Du skriver ikke hvordan du henter frem radnummer, så jeg har hardkodet nykol variabelen.

 

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...