仅在 Excel 中突出显示具有值的单元格的顶行 |微软访问
Posted
技术标签:
【中文标题】仅在 Excel 中突出显示具有值的单元格的顶行 |微软访问【英文标题】:Highlight Top Row in Excel for Only Cells with Values | MS Access 【发布时间】:2020-11-27 08:53:19 【问题描述】:基本上,我在导出 Excel 后在 MS Access 中使用了以下代码。 这适用于应用过滤器功能并使单元格值加粗,但我怎样才能突出显示这些相同值的单元格?
'Specifying Tables
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Table1",".xlsx", True
DoCmd.TransferSpreadsheet acExport, acSpreadsheetTypeExcel12Xml, "Table2",".xlsx", True
Call ModifyExportedExcelFileFormats(".xlsx", "Table1")
Call ModifyExportedExcelFileFormats(".xlsx", "Table2")
__
Public Sub ModifyExportedExcelFileFormats(sFile As String, sSheet As String)
Dim xlApp As Object
Dim xlSheet As Object
Set xlApp = CreateObject("Excel.Application")
Set xlSheet = xlApp.Workbooks.Open(sFile).Sheets(1)
With xlApp
.Application.Sheets(sSheet).Select
.Application.Rows("1:1").Select
.Application.Selection.Font.Bold = True
.Application.range("A1").Select
.Application.Selection.AutoFilter
.Application.Cells.Select
.Application.Selection.Columns.AutoFit
.Application.range("A1").Select
.Application.Activeworkbook.Save
.Application.Activeworkbook.Close
.Quit
End With
结束子
如何正确使用它来仅突出显示顶行中具有值的单元格?
.Application.Selection.Interior.Color = vbYellow
【问题讨论】:
Range([whatever]).SpecialCells(xlCellTypeConstants).Interior.Color = vbYellow
?
可以设置条件格式规则。
我已经用更多上下文更新了我的帖子,可以通过 MS Access VBA 将条件规则应用于电子表格吗?我现在应用的所有格式都是在我导出后静默完成的
你的意思是只突出第一行?
【参考方案1】:
这确实有效:Range([whatever]).SpecialCells(xlCellTypeConstants).Interior.Color = vbYellow
但如果用户要编辑数据,可能需要设置条件格式规则。不必实际选择单元格来修改属性。使用ActiveAnything
语法可能会导致自动化代码出现问题。最好使用显式引用。
Set xlApp = CreateObject("Excel.Application")
Set xlWb = xlApp.Workbooks.Open(sFile)
With xlWb.Worksheets(sSheet).Range("A1:G1")
.Font.Bold = True
.Columns.AutoFit
.FormatConditions.add Type:=xlExpression, Formula1:="=LEN(TRIM(A1))>0"
.FormatConditions(1).Interior.Color = vbYellow
End With
xlWb.Worksheets(sSheet).Range("A1").AutoFilter
xlWb.Save
xlWb.Close
xlApp.Quit
【讨论】:
脚本停在.FormatConditions.add Type:=xlExpression, Formula1:="=LEN(TRIM(A1))>0"
说无效参数
代码对我有用。你为什么不做我做的 - 使用 Excel 宏记录器生成代码,然后将其调整为 Access 程序。以上是关于仅在 Excel 中突出显示具有值的单元格的顶行 |微软访问的主要内容,如果未能解决你的问题,请参考以下文章
Excel用底纹突出单元格的数据给Excel单元格添加底纹效果
带有多个值的单元格的 Microsoft Excel 电子表格筛选器
EXCEL VBA - 根据单元格范围和字符串创建动态下拉列表[关闭]