我有一个我在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
根据需要调整高度,但宽度不会改变。
然而宽度并没有改变
所以高度变化,但宽度不变,任何想法为什么?
答案 0 :(得分:0)
试试这个:
Range("A1").EntireColumn.ColumnWidth = 21
答案 1 :(得分:0)
您是否尝试过通过列标记?
ActiveCell.Columns("A:A").EntireColumn.ColumnWidth = 21
此外,您可以创建一个小的子代码并从代码中调用它以查看是否有任何改变。是否有其他列调整工作?是Application.ScreenUpdating = True
吗?当你在其他事件发生时尝试这样做时,我也看到了奇怪的行为 - 可能是一件好事。
答案 2 :(得分:0)
你发表了评论“SHEET 2”,你确定你没有在其他地方错误地格式化第二张吗?