Avatar billede acw Nybegynder
01. oktober 2003 - 15:13 Der er 7 kommentarer og
1 løsning

optimering af kode

hej.

lige en hurtig en

kan man ikke skrive dette her på en nemmere/pænere måde?

____________________________________________

Sub sletrække()


If ActiveCell.Column = "2" Then
ActiveCell.Offset(0, 1).Activate
ActiveCell = ""
ActiveCell.Offset(0, 1).Activate
ActiveCell = ""
ActiveCell.Offset(0, 2).Activate
ActiveCell = ""
ActiveCell.Offset(0, -4).Activate
ActiveCell = ""
    ElseIf ActiveCell.Column = "3" Then
    ActiveCell = ""
    ActiveCell.Offset(0, 1).Activate
    ActiveCell = ""
    ActiveCell.Offset(0, 1).Activate
    ActiveCell = ""
    ActiveCell.Offset(0, 2).Activate
    ActiveCell = ""
    ActiveCell.Offset(0, -4).Activate
    ActiveCell = ""
        ElseIf ActiveCell.Column = "4" Then
        ActiveCell = ""
        ActiveCell.Offset(0, 2).Activate
        ActiveCell = ""
        ActiveCell.Offset(0, -3).Activate
        ActiveCell = ""
        ActiveCell.Offset(0, -1).Activate
        ActiveCell = ""
            ElseIf ActiveCell.Column = "6" Then
            ActiveCell = ""
            ActiveCell.Offset(0, -2).Activate
            ActiveCell = ""
            ActiveCell.Offset(0, -1).Activate
            ActiveCell = ""
            ActiveCell.Offset(0, -1).Activate
            ActiveCell = ""
       


End If

End Sub
Avatar billede kabbak Professor
01. oktober 2003 - 15:25 #1
du kan skrive dem sådan, uden at flytte activecell.

Range(ActiveCell.Offset(0, 1), ActiveCell.Offset(0, 3)) = ""
01. oktober 2003 - 15:26 #2
eller sådan her:

Sub DeleteRows()
    With ActiveCell
        Select Case .Column
            Case 2
                .Offset(0, 1).Value = ""
                .Offset(0, 2).Value = ""
                .Offset(0, -4).Value = ""
            Case 3
                .Value = ""
                .Offset(0, 1).Value = ""
                .Offset(0, 2).Value = ""
                .Offset(0, -4).Value = ""
            Case 4
                .Value = ""
                .Offset(0, 2).Value = ""
                .Offset(0, -1).Value = ""
                .Offset(0, -3).Value = ""
            Case 6
                .Value = ""
                .Offset(0, -2).Value = ""
                .Offset(0, -1).Value = ""
        End Select
    End With
End Sub
Avatar billede kabbak Professor
01. oktober 2003 - 15:27 #3
eller
ActiveCell.Offset(0, 1)=""
01. oktober 2003 - 15:27 #4
Her undgår du alle dine linier med  .Activate  hvilket gør din kode meget langsom, hvis der er flere celler
Avatar billede acw Nybegynder
01. oktober 2003 - 15:34 #5
flemming det ser fint nok ud, men du har vist rodet lidt med tallene..men det er til at rette selv...
01. oktober 2003 - 15:37 #6
god fornøjelse :-)
Avatar billede bak Forsker
01. oktober 2003 - 16:12 #7
er det ikke svært, når man står kolonne B at lave et offset 4 kolonner til venstre :-)
01. oktober 2003 - 16:14 #8
jo :-)
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