Avatar billede pmejer Nybegynder
22. maj 2005 - 11:18 Der er 5 kommentarer og
1 løsning

Tilføje en række, et vilkårligt sted i excel 2003

Hej,
Jeg har lavet følgende macro, og den fungerer næsten efter hensigten.

Private Sub CommandButton1_Click()
    Rows("4:4").Select
    Selection.Insert Shift:=xlDown
    Range("C4:E4").Select
    Selection.Interior.ColorIndex = xlNone
    Range("C4:E4").Select
    Selection.Interior.ColorIndex = xlNone
    With Selection.Interior
        .ColorIndex = 1
        .Pattern = xlSolid
    End With
End Sub

Men min mening var at jeg skulle kunne klikke på en tilfældig række, og indsætte en ny række (med farve maskering det korrekte sted). Som det er nu indsætter den rækken det samme sted. Er der nogen der har en løsning?
(Jeg er absolut novice i VBA).

pft.

Peter
Avatar billede brynil Nybegynder
22. maj 2005 - 11:35 #1
Du kan prøve denne her. Måske der findes en smartere metode, men jeg tror den fungerer som du ønsker:

Option Explicit
Dim WhichRow As Long

Private Sub CommandButton1_Click()
    Rows(WhichRow & ":" & WhichRow).Select
    Selection.Insert Shift:=xlDown
    Range(WhichRow & ":" & WhichRow).Select
    Selection.Interior.ColorIndex = xlNone
    With Selection.Interior
        .ColorIndex = 1
        .Pattern = xlSolid
    End With
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
  WhichRow = ActiveCell.row
End Sub
Avatar billede brynil Nybegynder
22. maj 2005 - 11:44 #2
Det er mindre resourcekrævende blot at læse rækken når du klikker på Commandbutton1:

Private Sub CommandButton1_Click()
Dim WhichRow As Long

    WhichRow = ActiveCell.row
   
    Rows(WhichRow & ":" & WhichRow).Select
    Selection.Insert Shift:=xlDown
    Range(WhichRow & ":" & WhichRow).Select
    Selection.Interior.ColorIndex = xlNone
    With Selection.Interior
        .ColorIndex = 1
        .Pattern = xlSolid
    End With
End Sub
Avatar billede brynil Nybegynder
22. maj 2005 - 11:50 #3
Og hvis du kun vil formatere på kolonne C til E så udskift sidst forekommende linie:

Range(WhichRow & ":" & WhichRow).Select

med:

Range(Cells(WhichRow, 3), Cells(WhichRow, 5)).Select
Avatar billede pmejer Nybegynder
22. maj 2005 - 15:37 #4
Javel så,
Jeg prøver at se, hvordan det virker, men det ser lovende ud.
Tak for hjælpen.
Vil du smide et svar, så du kan få nogel point?
Avatar billede brynil Nybegynder
22. maj 2005 - 15:39 #5
ok :))
Avatar billede brynil Nybegynder
22. maj 2005 - 15:40 #6
Nåh ja ;)
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
Kurser inden for grundlæggende programmering

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