vb.net - How to set different freeze panes for different sheets in an Excel using VBA -
i want set different freeze panes different sheets in excel. tried using below code being assigned sheets. want freeze first 6 rows in first sheet , top row in second sheet. tried many ways no result. suggestions?
with xlapp.activewindow .splitcolumn = 0 .splitrow = 6 end the full code (from comments) is:
dim xlapp application dim xlwb workbook 'dim xlws worksheet xlapp = new application() xlwb = xlapp.workbooks.open(csfilename) xlapp.activewindow .splitcolumn = 0 .splitrow = 6 end
try out, replacing sheet names, rows & columns appropriate values:
worksheets("sheet1").activate activewindow.splitcolumn = 0 activewindow.splitrow = 6 worksheets("sheet2").activate activewindow.splitcolumn = 5 activewindow.splitrow = 11 worksheets("sheet3").activate activewindow.splitcolumn = 10 activewindow.splitrow = 16 based on code posted in comments, should work:
dim xlapp application dim xlwb workbook xlapp = new application() xlwb = xlapp.workbooks.open(csfilename) xlwb.worksheets("sheet1").activate xlapp.activewindow .splitcolumn = 0 .splitrow = 6 end xlwb.worksheets("sheet2").activate xlapp.activewindow .splitcolumn = 0 .splitrow = 1 end i recommend always explicitly specifying sheet want active this, since requires activewindow in order function, way won't ever accidentally on wrong window when you're setting split rows.
dim xlapp application dim xlwb workbook xlapp = new application() xlwb = xlapp.workbooks.open(csfilename) xlwb.worksheets("sheet1").activate xlwb.worksheets("sheet1").range("a6").select xlapp.activewindow.freezepanes xlwb.worksheets("sheet2").activate xlwb.worksheets("sheet2").range("a2").select xlapp.activewindow.freezepanes
Comments
Post a Comment