Avatar billede spottie Nybegynder
01. juli 2008 - 22:59 Der er 9 kommentarer og
1 løsning

HJælp til Macro

Hey Eksperter

Er der nogen der kan hjælpe med hvordan man laver en "Funktion" med dynamiske celler i Excel i en macro.
Har prøvet at indspille en macro hvor jeg gør det, men den siger "C2" i range efter fulgt af funktionen, men jeg har brug for dynamiske celler, den den skal køre gennem flere celler og lave funktionen.

Jeg har en macro der flytter rækker mellem ark, og her er der noget som hedder "Cells(Række, Kolonne)" en lign funktion ville være praktisk i mit ovenstående tilfælde.

Nogen der kan hjælpe?

Vh spottie
Avatar billede supertekst Ekspert
01. juli 2008 - 23:02 #1
Prøv at forklare helt præcist hvad den ønskede funktion skal udføre...
Avatar billede spottie Nybegynder
02. juli 2008 - 07:05 #2
Jeh har 10 celler under hinanden (A1 - A10), som inde holder en værdi, som der skal laves funktionen "LEFT" på (LEFT(A1;5). Men det er dynamisk dvs. det er ikke altid 10 celler, det kan være flere eller færre.
Derfor søger jeg hjælp til noget man kan gøre for at indikere rækkenr og cellenr, da man så nemt med variabel i macro kan lave den "dynamisk".
Avatar billede supertekst Ekspert
02. juli 2008 - 08:21 #3
Er det så ikke et spørgsmål om, at makroen skal virke på "det/de markerede celler"
Avatar billede spottie Nybegynder
02. juli 2008 - 09:40 #4
Jo, præcis den skal kun virke på celler, hvor der er tekst i.

Har du ide eller eksempel?
Avatar billede supertekst Ekspert
02. juli 2008 - 09:54 #5
Eksempel:

Sub testLeft()
Rem Traverser det/de markerede celler
        For Each cc In Selection.Cells
       
Rem Hvis cellen indeholder tekst
            If IsNumeric(cc.Value) = False Then
Rem Sæt aktuelle cell = 5 første tegn
                cc.Value = Left(cc.Value, 5)
            End If
        Next cc
End Sub
Avatar billede spottie Nybegynder
02. juli 2008 - 11:05 #6
Tak gider du skrive kommentaterer til den, så jeg forstår den lidt bedre. :-)
Avatar billede supertekst Ekspert
02. juli 2008 - 11:15 #7
Rent praktisk skrev jeg i forskellige celler noget tekst - såvel sammenhængende celler som adskilte. Markerede de nævnte områder - kørte makroen:

Sub testLeft()
Rem Traverser det/de markerede celler
rem behandling af hver celle - repræsenteret med variablen "cc" i de markerede (Selection) celler
        For Each cc In Selection.Cells
       
Rem Hvis cellen indeholder tekst
rem Hvis cellens indhold IKKE er numerisk
            If IsNumeric(cc.Value) = False Then
Rem Sæt aktuelle cell = 5 første tegn
rem Så udtræk de 5 første tegn og indsæt dem i den aktuelle celle ("cc")
                cc.Value = Left(cc.Value, 5)
            End If
rem "Gå videretil næste celle"
        Next cc
End Sub


Er det ok?
Avatar billede spottie Nybegynder
02. juli 2008 - 12:16 #8
jeg forstår det ikke helt, hvordan kan jeg i "det/de markerede celler", som du skriver definere hvilke celler der er tale om.

Du må gerne lave et eksempel hvor du skriver i hvilke kolonner der er tal og skrive makroen ned med variabler og det hele.

Kan du gøre det?
Avatar billede spottie Nybegynder
02. juli 2008 - 13:25 #9
Hey Jeg fik det til at virke tak for hjælpen. Jeg er bare stødt ind i et andet problem i stedet.

Jeg kan se at du har brugt "Left"-funktionen i dit eksempel. Kan du ikke give et eksempel på en "Vlookup"-funktion på samme måde uden det er med RC1 eller hvad det hedder?

Så ville jeg blive rigtig glad.

vh spottie
Avatar billede supertekst Ekspert
02. juli 2008 - 13:57 #10
Godt du fik det til at fungere - så lad os afslutte dette - har ikke rigtig tid til mere p.t. på grund af kundeopgaver. Evt. opret det nye problem som nyt spørgsmål.

Så du får et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester