Excel电子表格单元格不会更改大小

时间:2013-12-02 14:12:30

标签: excel vba ms-access excel-vba

我有一个我在VBA(Access)中生成的点差,基本上当我生成电子表格时,我希望能够更改“A”的列宽,但是当我尝试将其更改为21时,它只会改为25,这不是我想要的价值。唯一有效的值是0。

With objExcelData
    Set .RecordSource = CurrentDb.OpenRecordset(strSql, dbOpenSnapshot)
    .AddCriteria "Date Range", DateRangeLongText(Me.StartDate, Me.EndDate)
    .Title = "Contact Details"
End With

With objExcelReport
    Set .xlsheet = objExcelAssist.StartNewSheet(0)
    Set .DataBag = objExcelData
    .ShowTitle = True
    .ShowCriteria = True
    .ShowTotalRow = False
End With

objExcelReport.GenerateSheet

' Basic formatting - SHEET 2 -
With objExcelAssist.worksheet
    .columns(1).ColumnWidth = 21
    .Rows(1).RowHeight = 21
    .columns("D:H").columns.Group
End With

这里我有.columns(1).ColumnWidth = 21

根据需要调整高度,但宽度不会改变。

enter image description here

然而宽度并没有改变

enter image description here

所以高度变化,但宽度不变,任何想法为什么?

3 个答案:

答案 0 :(得分:0)

试试这个:

Range("A1").EntireColumn.ColumnWidth = 21

答案 1 :(得分:0)

您是否尝试过通过列标记?

ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 21

此外,您可以创建一个小的子代码并从代码中调用它以查看是否有任何改变。是否有其他列调整工作?是Application.ScreenUpdating = True吗?当你在其他事件发生时尝试这样做时,我也看到了奇怪的行为 - 可能是一件好事。

答案 2 :(得分:0)

你发表了评论“SHEET 2”,你确定你没有在其他地方错误地格式化第二张吗?