Avatar billede 19nich Juniormester
01. december 2019 - 17:17 Der er 30 kommentarer

Makroer i Excel

Hej,

Jeg har et spørgsmål vedr. makroer i Excel. Jeg er ret grøn på området indenfor makroer, men dog ikke vedr. bruger af Excel generelt.

Mit spørgsmål går ud på, hvordan jeg får oprettet en makro der kan gøre følgende:

Jeg har et Excel-dokument, heri vil jeg oprette en makro som skal gøre noget på et ark, jeg kopier ind i det her dokument. Arket der kopieres ind er forskelligt fra gang til gang, altså data mængden og antallet af rækker varierer.

Så hvordan får jeg lavet en makro der automatisk tilpasser sig datamængden?

Jeg skal nemlig kopiere noget ned i bunden, men da antal rækker varierer, så passer min makro ikke, og kopierer derfor data ned forbi den nederste linje.
Avatar billede kim1a Ekspert
01. december 2019 - 18:30 #1
Hvis du starter med at vise os den makro du har så kan vi foreslå tilrettelser.
Avatar billede 19nich Juniormester
01. december 2019 - 19:18 #2
Hej,

Den er her: Sub Test()
'
' Test Makro
'

'
    Sheets("Sheet1").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("1:2").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("3:3").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
Sub Test2()
'
' Test2 Makro
'

'
    Sheets("Sheet1").Select
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("1:2").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("J6").Select
    ActiveWindow.SmallScroll ToRight:=3
    Range("J11").Select
    Selection.AutoFill Destination:=Range("J11:K11"), Type:=xlFillDefault
    Range("J11:K11").Select
    Range("K11").Select
    ActiveCell.FormulaR1C1 = "Saldo"
    Range("K12").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]"
    Range("K13").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]+R[-1]C"
    Range("K14").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-1]"
    Range("K13:K14").Select
    Selection.AutoFill Destination:=Range("K13:K206")
    Range("K13:K206").Select
    ActiveWindow.SmallScroll Down:=186
    Range("K206").Select
    ActiveCell.FormulaR1C1 = ""
    Range("J206").Select
    Selection.AutoFill Destination:=Range("J206:K206"), Type:=xlFillDefault
    Range("J206:K206").Select
    Range("K206").Select
    ActiveCell.FormulaR1C1 = ""
    Range("I206").Select
    ActiveCell.FormulaR1C1 = "Rest"
    Range("J202").Select
    ActiveWindow.ScrollRow = 186
    ActiveWindow.ScrollRow = 185
    ActiveWindow.ScrollRow = 184
    ActiveWindow.ScrollRow = 183
    ActiveWindow.ScrollRow = 182
    ActiveWindow.ScrollRow = 181
    ActiveWindow.ScrollRow = 180
    ActiveWindow.ScrollRow = 179
    ActiveWindow.ScrollRow = 178
    ActiveWindow.ScrollRow = 177
    ActiveWindow.ScrollRow = 176
    ActiveWindow.ScrollRow = 175
    ActiveWindow.ScrollRow = 173
    ActiveWindow.ScrollRow = 170
    ActiveWindow.ScrollRow = 167
    ActiveWindow.ScrollRow = 163
    ActiveWindow.ScrollRow = 158
    ActiveWindow.ScrollRow = 153
    ActiveWindow.ScrollRow = 148
    ActiveWindow.ScrollRow = 145
    ActiveWindow.ScrollRow = 141
    ActiveWindow.ScrollRow = 137
    ActiveWindow.ScrollRow = 134
    ActiveWindow.ScrollRow = 131
    ActiveWindow.ScrollRow = 128
    ActiveWindow.ScrollRow = 126
    ActiveWindow.ScrollRow = 124
    ActiveWindow.ScrollRow = 123
    ActiveWindow.ScrollRow = 121
    ActiveWindow.ScrollRow = 120
    ActiveWindow.ScrollRow = 118
    ActiveWindow.ScrollRow = 117
    ActiveWindow.ScrollRow = 115
    ActiveWindow.ScrollRow = 113
    ActiveWindow.ScrollRow = 111
    ActiveWindow.ScrollRow = 109
    ActiveWindow.ScrollRow = 100
    ActiveWindow.ScrollRow = 90
    ActiveWindow.ScrollRow = 86
    ActiveWindow.ScrollRow = 79
    ActiveWindow.ScrollRow = 72
    ActiveWindow.ScrollRow = 60
    ActiveWindow.ScrollRow = 57
    ActiveWindow.ScrollRow = 54
    ActiveWindow.ScrollRow = 51
    ActiveWindow.ScrollRow = 48
    ActiveWindow.ScrollRow = 46
    ActiveWindow.ScrollRow = 44
    ActiveWindow.ScrollRow = 43
    ActiveWindow.ScrollRow = 39
    ActiveWindow.ScrollRow = 37
    ActiveWindow.ScrollRow = 35
    ActiveWindow.ScrollRow = 34
    ActiveWindow.ScrollRow = 32
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 30
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 28
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 25
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 23
    ActiveWindow.ScrollRow = 22
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 20
    ActiveWindow.ScrollRow = 17
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 10
    ActiveWindow.ScrollRow = 7
    ActiveWindow.ScrollRow = 5
    ActiveWindow.ScrollRow = 3
    ActiveWindow.ScrollRow = 1
    Sheets("Ark1").Select
End Sub


Det er noget jeg har indspillet, og ikke kodet selv.
Avatar billede kim1a Ekspert
01. december 2019 - 19:49 #3
Jeg tror du kan skrive det ned til dette. Det kan være det er bedst at se et eksempel på dataen du manipulerer.

Sub Test()
' Test Makro
Rows("1:6").Select 'skriv evt 7 hvis det skal endnu en linje ned
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("K11").Select
    ActiveCell.FormulaR1C1 = "Saldo"
    Range("K12").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]"
    Range("K13").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]+R[-1]C"
    Range("K14").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-1]"

Range("I206").Select
    ActiveCell.FormulaR1C1 = "Rest"
End Sub

Det ser ud til at du kopierer nogen fra K13 og K14 ned på ca 200 rækker, er det bevidst, eller er det her vi kun skal kopiere så langt som der er data?

Er det vigtigt at du indsætter linjer øverst, det er ret mange du sætter ind?

Kan du prøve at beskrive med ord hvad du har brug for?
Avatar billede 19nich Juniormester
01. december 2019 - 20:03 #4
Det er meningen, at der i toppen skal indsættes 10 linjer :-)

Det jeg forsøger, at få en makro til er, at jeg står i Excel-dokument 1 på ark 1. Jeg har så kopieret et ark ind fra mit Excel-dokument 2, som så ligger før mit ark 1.

Jeg vil så starte på mit ark 1 og herefter gå ind på det ark jeg har kopieret ind. Her skal der indsættes 10 linjer. Celle J11 skal så kopieres over i celle K11, hvorefter der skrives en tekst i celle K11. Herefter stiller jeg mig i K12, hvor jeg skriver "=J12" og trykker enter. Herefter trykker jeg på celle K13 og skriver "=K12+J13" og trykker enter. Så trykker jeg en enkelt gang på K12, hvorefter jeg trykker på den lille firkant nederst i højre hjørne, så den kører ned til sidst mulige celle. Herefter skal den så gøre noget mere.

Men mit spørgsmål er: Kan jeg få makroen til selv at finde ud af, hvor langt den skal kopiere formlen ned?

Antallet af rækker med data varierer nemlig for gang til gang, og den makro jeg har lavet nu er lavet ud fra det antal rækker jeg havde i det pågældende ark jeg har kopieret over.

Og TAK fordi du gider hjælpe :)
Avatar billede kim1a Ekspert
02. december 2019 - 00:04 #5
Det kan sagtens lade sig gøre, det kræver blot at du har en kolonne som har tekst ned til der hvor du vil kopiere, så kan man lave en variabel som tæller hvilken række det er, og bruge den til kopiering.

Jeg forstår dog ikke hvorfor du vil kopiere J11 over i K11 inden du overskriver hvad du kopierede med en tekst?

Jeg vil prøve imorgen at lave en lidt mere skarp makro til dig ud fra det du beskriver.
Avatar billede kim1a Ekspert
02. december 2019 - 13:09 #6
Her er en lidt mere sammenskrevet løsning:
Sub test()

' variable der skal bruges
Dim KopieretSheet As String
Dim OriginalSheet As String
Dim LastRow As Integer

' sætter variable for at have nemmere ved at "kalde" dem i videre proces
OriginalSheet = ThisWorkbook.ActiveSheet.Name
KopieretSheet = ThisWorkbook.Sheets(1).Name

' indsæt 10 rækker øverst
ThisWorkbook.Sheets(KopieretSheet).Activate
ThisWorkbook.Sheets(KopieretSheet).Rows("1:10").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

' kopier celle J11 over i K11 og sæt navn i K11
Range("J11").Select ' jeg tror denne linje er overflødig
Selection.AutoFill Destination:=Range("J11:K11"), Type:=xlFillDefault ' jeg tror denne linje er overflødig
Range("J11:K11").Select ' jeg tror denne linje er overflødig
Range("K11").Select
ActiveCell.FormulaR1C1 = "Saldo"
' de to forgående kan skrives sammen til:
ThisWorkbook.Sheets(KopieretSheet).Range("K11").FormulaR1C1 = "Saldo"

' skriv diverse formler
ThisWorkbook.Sheets(KopieretSheet).Range("K12").FormulaR1C1 = "=RC[-1]"
ThisWorkbook.Sheets(KopieretSheet).Range("K13").FormulaR1C1 = "=RC[-1]+R[-1]C"

' Angiv hvor langt ned der skal kopieres
LastRow = Range("A15").SpecialCells(xlLastCell).Row
ThisWorkbook.Sheets(KopieretSheet).Range("K13").Select
Selection.AutoFill Destination:=Range("K14:K" & LastRow)

End Sub

Bemærk der kan være noget med fanerne du skal have styr på, men nu tæller den sidste række ved at se på sidste celle i kolonne A.
Avatar billede 19nich Juniormester
02. december 2019 - 16:28 #7
Jeg siger tusind tusind tak for hjælpen indtil videre! Jeg forsøger mig med det du har sendt, ellers skriver jeg lige igen :-)
Avatar billede 19nich Juniormester
03. december 2019 - 19:18 #8
Nu har jeg prøvet den formel du har sendt. Dog virker den ikke helt efter hensigten. Den kopiere den ikke ned til sidste celle.

Hvad mener du med at jeg skal angive, hvor langt jeg skal kopiere formlen ned? Er makroen ikke lavet sådan, at den selv finder ud af det? :)
Avatar billede 19nich Juniormester
03. december 2019 - 19:47 #9
Min formel ser pt. således ud:

Sub Hent()
'
' Hent Makro
'

'
    Windows("dokumentkopi").Activate
    Sheets("Sheet1").Select
    Sheets("Sheet1").Copy Before:=Workbooks("dokument.xlsm").Sheets(1)
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "Overblik"
    Rows("1:1").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Rows("1:2").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("J11").Select
    Selection.AutoFill Destination:=Range("J11:K11"), Type:=xlFillDefault
    Range("J11:K11").Select
    Range("K11").Select
    ActiveCell.FormulaR1C1 = "Saldo"
    Range("K12").Select
    ActiveCell.FormulaR1C1 = "=RC[-1]"
    Range("K13").Select
    ActiveCell.FormulaR1C1 = "=R[-1]C+RC[-1]"
    Range("K13").Select
    Selection.AutoFill Destination:=Range("K13:K132")
    Range("K13:K132").Select
    ActiveWindow.SmallScroll Down:=114
    Range("J132").Select
    Selection.AutoFill Destination:=Range("J132:K132"), Type:=xlFillDefault
    Range("J132:K132").Select
    Range("K132").Select
    ActiveCell.FormulaR1C1 = ""
    Range("I132").Select
    ActiveCell.FormulaR1C1 = "Restbeløb"
    Range("J127").Select
    ActiveWindow.SmallScroll Down:=-1029
    Range("D6").Select
    Sheets("Ark1").Select
End Sub

Det er ligemeget for mig om noget kan skrives kortere, det vigtigste som jeg mangler til min formel det er det du beskrev til sidst i den formel du sendte, at den skal tage udgangspunkt i kolonne A, hvor den så tæller sidste række. Til sidst skal jeg så ind og tilføje noget tekst i kolonne I men sidste række - det ved jeg heller ikke om man kan få den automatisk til? Kan den måske tage udgangspunkt i at den sidste linje har en farve?

Alternativt kan jeg sende en illustration af, hvordan data ser ud inden jeg kopierer det over, og så vise, hvordan jeg gerne vil have det skal se ud? Hvis det hjælper?
Avatar billede store-morten Ekspert
03. december 2019 - 20:37 #10
Hej 19nich
Jeg har forenklet din kode og tilføjet for klaringer så den ser sådan ud:
Sub Hent()

Windows("dokumentkopi").Activate
    Sheets("Sheet1").Select
    Sheets("Sheet1").Copy Before:=Workbooks("dokument.xlsm").Sheets(1)
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "Overblik"
   
'Indsætter 10 tomme rækker øverst
    Rows("1:10").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
   
'Fylder J11 ned til K11
    Range("J11").Select
    Selection.AutoFill Destination:=Range("J11:K11"), Type:=xlFillDefault

'Skriver tekst og formler
    Range("K11").Formula = "Saldo"
    Range("K12").Formula = "=J12"
    Range("K13").Formula = "=K12+J13"
   
'Finder sidste række under J13
    SidsteRækkeKolonneK = Range("J13").End(xlDown).Row
'Fylder K13 ned til sidste række under J13
    Range("K13").Select
    Selection.AutoFill Destination:=Range("K13:K" & SidsteRækkeKolonneK)

'Fylder J132 ud til K132
    Range("J132").Select
    Selection.AutoFill Destination:=Range("J132:K132"), Type:=xlFillDefault

'Sletter K132
    Range("K132").Formula = ""
'Skriver tekst i I132
    Range("I132").Formula = "Restbeløb"
   
    Sheets("Ark1").Select
End Sub

"Alternativt kan jeg sende en illustration af, hvordan data ser ud inden jeg kopierer det over, og så vise, hvordan jeg gerne vil have det skal se ud? Hvis det hjælper?"
Det ville hjælpe meget.
Brug evt. Dropbox.
Avatar billede 19nich Juniormester
03. december 2019 - 20:57 #11
Store-morten. Den er der næsten!!

Den kopierer min formel ned til sidste linje lige præcis som jeg har ønsket - så TAK indtil videre.

Dog fungerer det med at skrive "Restbeløb", kopier den sidste celle i kolonne J over i kolonne K og slette indholdet i cellen ikke helt.

Min sidste linje i arket er en farvet linje, hvor "A-J" er farvet. I "J" står et beløb. I "I" skal der så stå "Restbeløb". "K" skal farves med samme farve som "A-J", men skal være tomt.

Giver det mening, eller er det nødvendigt at se det visuelt? For så får jeg lige lavet et eksempel, så du måske kan se hvad jeg mener.
Avatar billede store-morten Ekspert
03. december 2019 - 21:03 #12
Det forstås ikke lige ;-)
Avatar billede store-morten Ekspert
03. december 2019 - 21:08 #13
Hvad står der i: J132 ?
Skal denne fyldes ud til K132 eller flyttes for derefter slettes og skrives: Restbeløb?
Avatar billede 19nich Juniormester
03. december 2019 - 21:13 #14
Altså i J132 står et tal og cellen har en baggrundsfarve
I K132 skal være tom men med samme baggrundsfarve som J132
I I132 skal stå restbeløb

:) Jeg forsøger lige om jeg kan dele noget via dropbox
Avatar billede store-morten Ekspert
03. december 2019 - 21:31 #15
'Kopierer farven fra J132 til K132
Range("K132").Interior.Color = Range("J132").Interior.Color

'Skriver tekst i I132
Range("I132").Formula = "Restbeløb"
Avatar billede 19nich Juniormester
03. december 2019 - 21:35 #16
Retter den så selv til alt afhængig af antal linier? :)
Avatar billede store-morten Ekspert
03. december 2019 - 21:37 #17
Nej
Avatar billede 19nich Juniormester
03. december 2019 - 21:39 #18
Er det noget man kan få den til? Ligesom du har lavet formlen så tilpasser sig antal rækker, skal dette nemlig også kunne tilpasses antal rækker. Jeg har sendt et link til dropbox i privat besked :)
Avatar billede 19nich Juniormester
03. december 2019 - 21:40 #19
Antallet af rækker varierer nemlig :-)
Avatar billede store-morten Ekspert
03. december 2019 - 21:41 #20
Hvis vi fanger beløbet i kolonne J

Står der noget under beløbet i J?
Avatar billede 19nich Juniormester
03. december 2019 - 21:43 #21
Nej det skal der ikke :-)
Avatar billede store-morten Ekspert
03. december 2019 - 21:45 #22
Har vi ikke fanget den til udfyldningen tidligere?
Avatar billede store-morten Ekspert
03. december 2019 - 21:53 #23
Sub Hent()

Windows("dokumentkopi").Activate
    Sheets("Sheet1").Select
    Sheets("Sheet1").Copy Before:=Workbooks("dokument.xlsm").Sheets(1)
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "Overblik"

'Indsætter 10 tomme rækker øverst
    Rows("1:10").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

'Fylder J11 ned til K11
    Range("J11").Select
    Selection.AutoFill Destination:=Range("J11:K11"), Type:=xlFillDefault

'Skriver tekst og formler
    Range("K11").Formula = "Saldo"
    Range("K12").Formula = "=J12"
    Range("K13").Formula = "=K12+J13"

'Finder sidste række under J13
    SidsteRækkeKolonneK = Range("J13").End(xlDown).Row
'Fylder K13 ned til sidste række under J13
    Range("K13").Select
    Selection.AutoFill Destination:=Range("K13:K" & SidsteRækkeKolonneK)


'Kopierer farven fra Jxx til Kxx
Range("K" & SidsteRækkeKolonneK).Interior.Color = Range("J" & SidsteRækkeKolonneK).Interior.Color

'Skriver tekst i Ixx
    Range("I" & SidsteRækkeKolonneK).Formula = "Restbeløb"
   
    Sheets("Ark1").Select
End Sub
Avatar billede 19nich Juniormester
03. december 2019 - 21:54 #24
Jo, altså selve formlen som regner noget ud i kolonne K har vi, den er som den skal være. Bortset fra at den lige kopiere en tak for langt ned, men det overskrives jo ved at kopiere J over i K og så slette indholdet i K, så cellen blot er farvet :-)
Avatar billede store-morten Ekspert
03. december 2019 - 22:02 #25
Står den ikke i J?
Avatar billede 19nich Juniormester
03. december 2019 - 22:12 #26
Sub Hent()

Windows("dokumentkopi").Activate
    Sheets("Sheet1").Select
    Sheets("Sheet1").Copy Before:=Workbooks("dokument.xlsm").Sheets(1)
    Sheets("Sheet1").Select
    Sheets("Sheet1").Name = "Overblik"

'Indsætter 10 tomme rækker øverst
    Rows("1:10").Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

'Fylder J11 ned til K11
    Range("J11").Select
    Selection.AutoFill Destination:=Range("J11:K11"), Type:=xlFillDefault

'Skriver tekst og formler
    Range("K11").Formula = "Saldo"
    Range("K12").Formula = "=J12"
    Range("K13").Formula = "=K12+J13"

'Finder sidste række under J13
    SidsteRækkeKolonneK = Range("J13").End(xlDown).Row
'Fylder K13 ned til sidste række under J13
    Range("K13").Select
    Selection.AutoFill Destination:=Range("K13:K" & SidsteRækkeKolonneK)

'Kopierer farven fra Jxx til Kxx
Range("K" & SidsteRækkeKolonneK).Interior.Color = Range("J" & SidsteRækkeKolonneK).Interior.Color

'Sletter indholdet i sidste celle i K
Range("K" & SidsteRækkeKolonneK).Formula = ""

'Skriver tekst i Ixx
    Range("I" & SidsteRækkeKolonneK).Formula = "Restbeløb"
   
    Sheets("Ark1").Select
End Sub

Nu har jeg rettet lidt på din(udfyldelse af tekst fungerer ! :-) ), da der stod noget i sidste celle i kolonne K. Men en mindre detalje mangler fortsat. Den nederste linje har gitter om sig, så kan både farve og gitter hele vejen rundt om cellen tilføjes?
Avatar billede store-morten Ekspert
03. december 2019 - 22:23 #27
Prøv:

'Kopierer format fra Jxx til Kxx
    Range("J" & SidsteRækkeKolonneK).Copy
    Range("K" & SidsteRækkeKolonneK).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Application.CutCopyMode = False

Ikke testet!
Avatar billede store-morten Ekspert
03. december 2019 - 22:25 #28
I stedet for:

'Kopierer farven fra Jxx til Kxx
Range("K" & SidsteRækkeKolonneK).Interior.Color = Range("J" & SidsteRækkeKolonneK).Interior.Color
Avatar billede store-morten Ekspert
03. december 2019 - 22:32 #29
Kommer til at slutte for i dag, skal på kursus i morgen tidlig ;-)
Avatar billede 19nich Juniormester
03. december 2019 - 22:38 #30
Det er helt i orden - jeg har lige forsøgt, men det fungerer ikke helt. Jeg har forsøgt med denne ved at indspille den og rette lidt i den, men den fungerer heller ikke helt ;-):

Sub kanter()
'
' kanter Makro
'

'
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    Range("K" & SidsteRækkeKolonneK).Select
End Sub


Men tusind tak for din hjælp!! :)
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
Excel-kurser for alle niveauer og behov – find det kursus, der passer til dig

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