【问题标题】:Conditional formatting VBA scripting (not IN excel)条件格式 VBA 脚本(不是在 excel 中)
【发布时间】:2015-08-17 08:21:03
【问题描述】:

我一直在开发一个脚本,它通过 Txtfile 运行,检索某些引用,将这些引用存储在 ('ref1','ref2','ref3',...) 形式的变量中,以便在检索这些引用后,我可以查询我们的数据库以从数据库。

我将此结果添加到 Excel 文件中,如下所示:

If rs.BOF = False Or rs.EOF = False Then
    Set objExcel = CreateObject("Excel.Application")
    Set objWorkbook = objExcel.workbooks.Add()
    Set baseSheet = objWorkbook.worksheets(1)

    fldcount = rs.Fields.count
    For icol = 0 To fldcount - 1
        baseSheet.Cells(1, icol + 1).VALUE = rs.Fields(icol).Name
    Next
    baseSheet.Range(baseSheet.Cells(1, 1), baseSheet.Cells(1, rs.Fields.count)).Font.Bold = True
    baseSheet.Range("A2").CopyFromRecordset rs
    objExcel.ActiveWindow.Zoom = 70
    objExcel.Columns("A:J").Select
    objExcel.selection.EntireColumn.AutoFit
    baseSheet.Range("A2").CopyFromRecordset rs
    objExcel.Visible = True
Else
    MsgBox ("Geen speciale gevallen")
    Exit Function
End If
Set objExcel = Nothing
Set objWorkbook = Nothing
Set baseSheet = Nothing

我的问题:我可以运行 objExcel 列“J”并测试一个值(if instr(contents of column "J", "400 - 700") > 0 Then 该单元格的背景颜色 = 黄色)

我不能透露代码的其他部分,因为它们很长,可能会透露我的工作地点等。

需要明确的是,这不是在 Excel 中,而是在附加反射 IBM 终端中。

【问题讨论】:

    标签: vba scripting formatting conditional


    【解决方案1】:

    这样的事情可能会对你有所帮助:

    With ActiveSheet
        For i = 1 To .Cells(.Rows.Count, "J").End(xlUp).Row
            If InStr(1, .Cells(i, "J"), "400 - 700") <= 0 Then
            Else
                .Cells(i, "J").Interior.Pattern = xlSolid
                .Cells(i, "J").Interior.PatternColorIndex = xlAutomatic
                .Cells(i, "J").Interior.Color = 65535
            End If
    End With
    

    【讨论】:

    • 您好,感谢您的建议!我要在 comyfromrecordset rs 命令之后添加这个吗?
    • 另外,我应该使用 objExcel.activesheet 还是 objWorkbook.activesheet 来处理 activesheet?
    • objWorkbook.activesheetobjWorkbook.Sheets("SheetName_As_String") 供参考。是的,把它放在baseSheet.Range("A2").CopyFromRecordset rs 之后。顺便说一句,复制两次正常吗?
    • 并将objExcel.Columns("A:J").Select objExcel.selection.EntireColumn.AutoFit 更改为objWorkBook.Columns("A:J").EntireColumn.AutoFit 它会更有效,因为.Select 真的是资源贪婪
    • 谢谢!最后一个问题: For i = 1 To .Cells(.Rows.count, "J").End(xlUp).ROW -> xlUp 变量未定义,我可以声明这个还是有另一种解决方法?
    猜你喜欢
    • 1970-01-01
    • 2011-10-02
    • 2014-11-20
    • 2016-10-02
    • 2012-02-01
    • 2017-10-05
    • 2017-11-03
    • 2014-07-07
    • 2014-12-27
    相关资源
    最近更新 更多