Ik zou er niet voor kiezen om daar de macrorecorder voor te gebruiken. Die levert een grote hoeveelheid code op
die onnodig is.
De te gebruiken toetsen;
Pijltjestoetsen om te verplaatsen
Control+Shift+pijltje omlaag om gehele kolom te selecteren
Delete om kolom te verwijderen (er opent een dialoogvenster waarvoor je op Enter moet drukken om ALLES te verwijderen)
Om vanaf cel A1 de kolom E te verwijderen levert dan deze code op:
Code: Selecteer alles
sub TestToets()
rem ----------------------------------------------------------------------
rem define variables
dim document as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args1())
rem ----------------------------------------------------------------------
dim args2(1) as new com.sun.star.beans.PropertyValue
args2(0).Name = "By"
args2(0).Value = 1
args2(1).Name = "Sel"
args2(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args2())
rem ----------------------------------------------------------------------
dim args3(1) as new com.sun.star.beans.PropertyValue
args3(0).Name = "By"
args3(0).Value = 1
args3(1).Name = "Sel"
args3(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args3())
rem ----------------------------------------------------------------------
dim args4(1) as new com.sun.star.beans.PropertyValue
args4(0).Name = "By"
args4(0).Value = 1
args4(1).Name = "Sel"
args4(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args4())
rem ----------------------------------------------------------------------
dim args5(1) as new com.sun.star.beans.PropertyValue
args5(0).Name = "By"
args5(0).Value = 1
args5(1).Name = "Sel"
args5(1).Value = true
dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args5())
rem ----------------------------------------------------------------------
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "Flags"
args6(0).Value = "SVDFN"
dispatcher.executeDispatch(document, ".uno:Delete", "", 0, args6())
end sub
terwijl
Code: Selecteer alles
Sub VerwijderKolom()
Dim Doc As Object
Dim Sheet As Object
Dim NewColumn As Object
Doc = ThisComponent
Sheet = Doc.Sheets(0)
'Sheet.Columns.insertByIndex(3, 1) --> kan gebruikt worden voor invoegen van kolom
Sheet.Columns.removeByIndex(4, 1)
End Sub
ook de kolom E verwijdert, maar dan zonder het gebruiken van de macrorecorder.
Kortom: als je weet welke kolom je wilt verwijderen, gebruik dan de laatste methode