我正在尝试为前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'
得到了这个
答案 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>
)都会引用该工作表。