使用Freezepane生成Excel电子表格

时间:2013-12-11 15:18:36

标签: excel vba access-vba

我正在尝试为前5行创建一个带有冻结窗格的电子表格。我已经创建了一个excel电子表格,但出于某种原因,我的冻结窗格只会冻结前两行和前两列。

With objExcelAssist.worksheet
    Dim xlApp As Object
    Set xlApp = objExcelAssist.Application
    xlApp.ActiveWindow.FreezePanes = True
End With

我尝试过:

Dim rv As Object
Dim rng As Object

Set rng = rv.Range(rv.Cells(4, 2), rv.Cells(4, 2))
rng.select
rv.Application.ActiveWindow.FreezePanes = True

但我收到错误:'对象变量或没有设置块变量'

有关如何让我的Excel文档冻结前5行的任何帮助都会很棒。

由于

----编辑----

With objExcelAssist.worksheet
    Range("A6").Select
    ActiveWindow.FreezePanes = True

    .Rows(1).RowHeight = 21
    .columns(1).ColumnWidth = 11
    .Rows(objExcelReport.firstDataRow - 1).Autofilter
End With

我现在用'Range'

得到了这个

Tries a suggestion someone posted but still got the same problem

2 个答案:

答案 0 :(得分:1)

这比那简单得多! 选择要冻结的行中的第一个单元格。对于5行:

Sub Makro1()
    Range("A6").Select
    ActiveWindow.FreezePanes = True
End Sub

答案 1 :(得分:0)

.前添加Range应修复它。

我的猜测是你的函数在Access VBA模块中而不在Excel中,而VBA没有range属性的默认对象。

由于您位于With <a WorkSheet object>块中,因此任何没有引用对象的属性(即任何.<property name>)都会引用该工作表。