Avatar billede Jst1987 Nybegynder
05. maj 2013 - 20:53 Der er 1 kommentar og
1 løsning

VBA-kode til rydning celler

Hej Eksperter..

Jeg har flg. vba-kode, som udregner en masse ting i et ark "Data for calculation" og har kodet makroen, så den sletter hele arket, før den begynder på nogle beregninger. Ved i hvordan jeg kan ændre koden, så den kun sletter flg. celler i stedet for hele rækker/kolonner, eller hvad jeg satte den til i tidernes morgen:

Ønskes: Sletter celle C4 til Q500

Sub SortIssuev2()
'
' SortIssuev2 Macro
'

'
    ActiveWorkbook.Worksheets("Front").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Front").Sort.SortFields.Add Key:=Range("K1"), _
        SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Front").Sort
        .SetRange Range("K1:P501")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    Sheets("Data for calculation").Select
    ActiveWindow.SmallScroll Down:=-24
    Rows("4:485").Select
    Selection.Delete Shift:=xlUp
    ActiveWindow.SmallScroll Down:=-36
    Range("A4").Select
    ActiveCell.FormulaR1C1 = "=IF(Cleaned!RC[27]=Cleaned!R2C28,Cleaned!RC[2],"""")"
    Range("A4").Select
    Selection.AutoFill Destination:=Range("A4:A290"), Type:=xlFillDefault
    Range("A4:A290").Select
    ActiveWindow.ScrollRow = 230
    ActiveWindow.ScrollRow = 229
    ActiveWindow.ScrollRow = 226
    ActiveWindow.ScrollRow = 223
    ActiveWindow.ScrollRow = 221
    ActiveWindow.ScrollRow = 216
    ActiveWindow.ScrollRow = 208
    ActiveWindow.ScrollRow = 201
    ActiveWindow.ScrollRow = 191
    ActiveWindow.ScrollRow = 180
    ActiveWindow.ScrollRow = 168
    ActiveWindow.ScrollRow = 156
    ActiveWindow.ScrollRow = 144
    ActiveWindow.ScrollRow = 131
    ActiveWindow.ScrollRow = 118
    ActiveWindow.ScrollRow = 106
    ActiveWindow.ScrollRow = 94
    ActiveWindow.ScrollRow = 84
    ActiveWindow.ScrollRow = 74
    ActiveWindow.ScrollRow = 65
    ActiveWindow.ScrollRow = 59
    ActiveWindow.ScrollRow = 52
    ActiveWindow.ScrollRow = 46
    ActiveWindow.ScrollRow = 42
    ActiveWindow.ScrollRow = 39
    ActiveWindow.ScrollRow = 36
    ActiveWindow.ScrollRow = 33
    ActiveWindow.ScrollRow = 31
    ActiveWindow.ScrollRow = 29
    ActiveWindow.ScrollRow = 27
    ActiveWindow.ScrollRow = 26
    ActiveWindow.ScrollRow = 24
    ActiveWindow.ScrollRow = 21
    ActiveWindow.ScrollRow = 19
    ActiveWindow.ScrollRow = 18
    ActiveWindow.ScrollRow = 16
    ActiveWindow.ScrollRow = 15
    ActiveWindow.ScrollRow = 14
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 11
    ActiveWindow.ScrollRow = 9
    ActiveWindow.ScrollRow = 7
    ActiveWindow.ScrollRow = 6
    ActiveWindow.ScrollRow = 5
    ActiveWindow.ScrollRow = 4
    Range("B4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[19]=""x"","""",VLOOKUP(RC[-1],Cleaned!RC[1]:R[285]C[2],2,FALSE))"
    Range("B4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[19]=""x"","""",VLOOKUP(RC[-1],Cleaned!R4C3:R289C4,2,FALSE))"
    Range("B4").Select
    Selection.AutoFill Destination:=Range("B4:B290")
    Range("B4:B290").Select
    Range("C4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[18]=""x"","""",VLOOKUP(RC[-2],Cleaned!RC:R[285]C[9],10,FALSE))"
    Range("C4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[18]=""x"","""",VLOOKUP(RC[-2],Cleaned!R4C3:R289C12,10,FALSE))"
    Range("C4").Select
    Selection.AutoFill Destination:=Range("C4:C290")
    Range("C4:C290").Select
    Range("D4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[17]=""x"","""",VLOOKUP(RC[-3],DD!R[-2]C[-3]:R[291]C[1],5,FALSE))"
    Range("D4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[17]=""x"","""",VLOOKUP(RC[-3],DD!R2C1:R295C5,5,FALSE))"
    Range("D4").Select
    Selection.AutoFill Destination:=Range("D4:D290")
    Range("D4:D290").Select
    Range("E4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[16]=""x"","""",VLOOKUP(RC[-4],ICVCR!RC[-3]:R[1172]C[1096],ICVCR!R[-1]C[-3],FALSE))"
    Range("E4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[16]=""x"","""",VLOOKUP(RC[-4],ICVCR!R4C2:R1176C1101,ICVCR!R3C2,FALSE))"
    Range("E4").Select
    Selection.AutoFill Destination:=Range("E4:E290")
    Range("E4:E290").Select
    Range("F4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[15]=""x"","""",VLOOKUP(RC[-5],Cleaned!RC[-3]:R[285]C[9],13,FALSE))"
    Range("F4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[15]=""x"","""",VLOOKUP(RC[-5],Cleaned!R4C3:R289C15,13,FALSE))"
    Range("F4").Select
    Selection.AutoFill Destination:=Range("F4:F290")
    Range("F4:F290").Select
    Range("G4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[14]=""x"","""",VLOOKUP(RC[-6],Cleaned!RC[-4]:R[285]C[10],15,FALSE))"
    Range("G4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[14]=""x"","""",VLOOKUP(RC[-6],Cleaned!R4C3:R289C17,15,FALSE))"
    Range("G4").Select
    Selection.AutoFill Destination:=Range("G4:G290")
    Range("G4:G290").Select
    Range("H4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[13]=""x"","""",VLOOKUP(RC[-7],MADUM!R[-2]C[-7]:R[291]C[-5],3,FALSE))"
    Range("H4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[13]=""x"","""",VLOOKUP(RC[-7],MADUM!R2C1:R295C3,3,FALSE))"
    Range("H4").Select
    Selection.AutoFill Destination:=Range("H4:H290")
    Range("H4:H290").Select
    Range("I4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[12]=""x"","""",VLOOKUP(RC[-8],Rating!RC[-6]:R[310]C[3],10,FALSE))"
    Range("I4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[12]=""x"","""",VLOOKUP(RC[-8],Rating!R4C3:R314C12,10,FALSE))"
    Range("I4").Select
    Selection.AutoFill Destination:=Range("I4:I290")
    Range("I4:I290").Select
    Range("J4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[11]=""x"","""",VLOOKUP(RC[-9],YCCO!R[-1]C[-6]:R[1171]C[42],YCCO!R[-3]C[-6],FALSE))"
    Range("J4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[11]=""x"","""",VLOOKUP(RC[-9],YCCO!R3C4:R1175C52,YCCO!R1C4,FALSE))"
    Range("J4").Select
    Selection.AutoFill Destination:=Range("J4:J290")
    Range("J4:J290").Select
    Range("K4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[10]=""x"","""",VLOOKUP(RC[-10],YGCO!R[-1]C[-7]:R[1171]C[102],YGCO!R[-2]C[-7],FALSE))"
    Range("K4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[10]=""x"","""",VLOOKUP(RC[-10],YGCO!R3C4:R1175C113,YGCO!R2C4,FALSE))"
    Range("K4").Select
    Selection.AutoFill Destination:=Range("K4:K290")
    Range("K4:K290").Select
    Range("L4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[9]=""x"","""",VLOOKUP(RC[-11],Leverage!R[-2]C[-11]:R[291]C[-8],4,FALSE))"
    Range("L4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[9]=""x"","""",VLOOKUP(RC[-11],Leverage!R2C1:R295C4,4,FALSE))"
    Range("L4").Select
    Selection.AutoFill Destination:=Range("L4:L290")
    Range("L4:L290").Select
    Range("M4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[8]=""x"","""",VLOOKUP(RC[-12],Cleaned!RC[-10]:R[285]C[-6],5,FALSE))"
    Range("M4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[8]=""x"","""",VLOOKUP(RC[-12],Cleaned!R4C3:R289C7,5,FALSE))"
    Range("M4").Select
    Selection.AutoFill Destination:=Range("M4:M290")
    Range("M4:M290").Select
    Range("N4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[7]=""x"","""",VLOOKUP(RC[-13],HEAD!R[4]C[-12]:R[1176]C[335],HEAD!R[3]C[-13],FALSE))"
    Range("N4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[7]=""x"","""",VLOOKUP(RC[-13],HEAD!R8C2:R1180C349,HEAD!R7C1,FALSE))"
    Range("N4").Select
    Selection.AutoFill Destination:=Range("N4:N290")
    Range("N4:N290").Select
    Range("O4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[6]=""x"","""",VLOOKUP(RC[-14],Cleaned!RC[-12]:R[285]C[4],17,FALSE))"
    Range("O4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[6]=""x"","""",VLOOKUP(RC[-14],Cleaned!R4C3:R289C19,17,FALSE))"
    Range("O4").Select
    Selection.AutoFill Destination:=Range("O4:O290")
    Range("O4:O290").Select
    Range("P4").Select
    ActiveCell.FormulaR1C1 = "="
    Range("P4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[5]=""x"","""",VLOOKUP(RC[-15],BID_ASK!R[-2]C[-15]:R[291]C[-12],4,FALSE))"
    Range("P4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[5]=""x"","""",VLOOKUP(RC[-15],BID_ASK!R2C1:R295C4,4,FALSE))"
    Range("P4").Select
    Selection.AutoFill Destination:=Range("P4:P290")
    Range("P4:P290").Select
    Range("Q4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[4]=""x"","""",VLOOKUP(RC[-16],Momentum!R[-2]C[-16]:R[1170]C[-13],4,FALSE))"
    Range("Q4").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[4]=""x"","""",VLOOKUP(RC[-16],Momentum!R2C1:R1174C4,4,FALSE))"
    Range("Q4").Select
    Selection.AutoFill Destination:=Range("Q4:Q290")
    Range("Q4:Q290").Select
    Range("A4").Select
    Range(Selection, Selection.End(xlDown)).Select
    ActiveWindow.SmallScroll Down:=30
    ActiveWorkbook.Worksheets("Data for calculation").Sort.SortFields.Clear
    ActiveWorkbook.Worksheets("Data for calculation").Sort.SortFields.Add Key:= _
        Range("A4"), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:= _
        xlSortNormal
    With ActiveWorkbook.Worksheets("Data for calculation").Sort
        .SetRange Range("A3:Q290")
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
    Sheets("Front").Select
End Sub
Avatar billede Jst1987 Nybegynder
05. maj 2013 - 21:18 #1
Fandt selv ud af det :) Oprettede bare en ny makro og smed den foran det hele..
Avatar billede natkatten Mester
06. maj 2013 - 12:50 #2
Fint, og koden er et godt eksempel på hvad makrooptageren laver af overflødigt fyld ..

Når dette er sagt, så skal jo med, at optageren kan gøre, at en bruger bl.a. kan spare tid ifm. forskellige opgaver uden at vedkommende behøver at sætte sig ind i VBA.
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