Avatar billede CARR Juniormester
17. december 2018 - 13:14 Der er 8 kommentarer

Makro - vælg kolonne i stedet for celle + loop

Hej,

Jeg er desværre ikke så skarp til makroer, så jeg håber en af jer kan hjælpe mig.

Jeg har 2 faner i et excel ark, den ene der hedder "DATA" og den anden "RKB data (auto)..

Data på fanen "RKB data" henter automatisk data hver dag fra en server vi har, den viser altid kun 1 tabel med 7 dage ad gangen.

Jeg vil gerne lave en makro som automatisk tager data fra tabellen og kopiere over i fanen "DATA", og herefter indsætter det som en værdi, da tabellen overskrives hver dag.

Jeg har lavet denne makro, som virker i cellen der refereres til:

Sub Macro1()
    ActiveCell.FormulaR1C1 = _
        "=IFNA(VLOOKUP(C2,RkBro_xMII_RaaMaelkIndvejning_7_days,2,FALSE),0)"
    Range("C400").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Det er i kolonne 3 data skal indsættes, men hvis jeg skriver columns(3).select marker den kun kolonnen, men indsætter ingen data.

Jeg vil gerne have den bliver ved indtil datoen fra fane "DATA" ikke er i tabellen", men uden at alt andet data overskrives. Da jeg fx mandag morgen skal have tallene fra fredag, lørdag og søndag.

Jeg har lavet en vlookup, da den skal finde værdien ud fra en given dato.
Avatar billede CARR Juniormester
17. december 2018 - 13:27 #1
Hvis jeg skriver dette:
ActiveCell.FormulaR1C1 = _
        "=IFNA(VLOOKUP(C2,RkBro_xMII_RaaMaelkIndvejning_7_days,2,FALSE),0)"
    Columns("C:C").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Så virker det, hvis jeg stiller mig i den celle jeg gerne vil have data i, men jeg vil gerne at den selv kan regne ud hvilke celle den skal skrive i...
Avatar billede Jan Hansen Ekspert
17. december 2018 - 15:05 #2
mon ikke

Sheets("DATA"),Range("A1").FormulaR1C1 = _
        "=IFNA(VLOOKUP(C2,RkBro_xMII_RaaMaelkIndvejning_7_days,2,FALSE),0)"

"A1" udskiftes med den celle i DATA fanen hvor du eller ville stille dig

Jan
Avatar billede CARR Juniormester
18. december 2018 - 08:03 #3
Jan,

Jeg har prøvet at skrive følgende.

Sheets ("DATA"), Range("A1").FormulaR1C1 = _
        "=IFNA(VLOOKUP(C2,RkBro_xMII_RaaMaelkIndvejning_7_days,2,FALSE),0)"
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

Den kommer med en compile error:
Invalid use of property.
Avatar billede Jan Hansen Ekspert
18. december 2018 - 08:17 #4
prøv at upload filen til dropbox eller lignende!!

evt.  Privat besked

Jan
Avatar billede CARR Juniormester
18. december 2018 - 08:20 #5
"A1" udskiftes med den celle i DATA fanen hvor du eller ville stille dig:

Jeg er ikke helt med på hvad du mener med denne sætning..
Cellen hvori data skal skrives ændrer sig fra dag til dag, da jeg i kolonne B har liste alle datoer fra 2018, og hver dag skal den ind i fane "RKB data" og matche datoen og returnere den værdi der står der.
Avatar billede Jan Hansen Ekspert
19. december 2018 - 09:44 #6
noget alla

Sub Macro1()
    Dim rArea As Range, rCell As Range
    Set rArea = Range("A1")
    Set rArea = Range(rArea, Range("B1").End(xlDown).Offset(0, -1))
    For Each rCell In rArea
        If rCell = "" Then
            If rCell.Offset(0, 1).Value > Now Then Exit For
            rCell.FormulaR1C1 = _
                "=IFNA(VLOOKUP(C2,RkBro_xMII_RaaMaelkIndvejning_7_days,2,FALSE),0)"
            Selection.Copy
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
        End If
    Next rCell
End Sub

Jan
Avatar billede CARR Juniormester
19. december 2018 - 10:36 #7
Jeg har sendt en mail :-)
Avatar billede CARR Juniormester
19. december 2018 - 14:09 #8
Til info er løsningen kommet på mail fra Jan Hansen.
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

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