条件格式VBA脚本(不在excel中)

条件格式VBA脚本(不在excel中),vba,scripting,formatting,conditional,Vba,Scripting,Formatting,Conditional,我一直在开发一个脚本,它运行在TXT文件中,检索某些引用,将这些引用以('ref1'、'ref2'、'ref3'、…)的形式存储在变量中,这样在检索这些引用之后,我就可以查询数据库,从数据库中检索10列 我将此结果添加到Excel文件中,如下所示: If rs.BOF = False Or rs.EOF = False Then Set objExcel = CreateObject("Excel.Application") Set objWorkbook = objExcel.

我一直在开发一个脚本,它运行在TXT文件中,检索某些引用,将这些引用以
('ref1'、'ref2'、'ref3'、…)
的形式存储在变量中,这样在检索这些引用之后,我就可以查询数据库,从数据库中检索10列

我将此结果添加到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”并测试一个值(
如果instr(列“J”的内容,“400-700”)>0,那么该单元格的背景色=黄色)

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


很明显,这不在Excel中,而是在IBM终端的附件反射中。

类似的内容可能会帮助您:

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
使用ActiveSheet的

对于i=1到.Cells(.Rows.Count,“J”).End(xlUp).Row

如果InStr(1,.Cells(i,“J”),“400-700”)类似的内容可能会帮助您:

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
使用ActiveSheet的

对于i=1到.Cells(.Rows.Count,“J”).End(xlUp).Row

如果InStr(1,.Cells(i,“J”),“400-700”)您好,谢谢您的建议!我是否在comyfromrecordset rs命令之后添加此项?另外,我是否应该使用objExcel.activesheet或objWorkbook.activesheet对activesheet进行寻址?
objWorkbook.activesheet
objWorkbook.Sheets(“SheetName作为字符串”)
作为参考。是的,将其放在
baseSheet.Range(“A2”).CopyFromRecordset rs
之后。顺便说一句,复制两次是否正常?并将
objExcel.Columns(“A:J”)。选择objExcel.selection.entireclumn.AutoFit
更改为
objWorkBook.Columns(“A:J”)。entireclumn.AutoFit
,这样效率会更高,因为
。Select
确实是一种资源,谢谢!最后一个问题:对于i=1到.Cells(.Rows.count,“J”).End(xlUp).ROW->xlUp变量未定义,我可以声明它还是有其他方法解决这个问题?您好,谢谢您的建议!我是否在comyfromrecordset rs命令之后添加此项?另外,我是否应该使用objExcel.activesheet或objWorkbook.activesheet对activesheet进行寻址?
objWorkbook.activesheet
objWorkbook.Sheets(“SheetName作为字符串”)
作为参考。是的,将其放在
baseSheet.Range(“A2”).CopyFromRecordset rs
之后。顺便说一句,复制两次是否正常?并将
objExcel.Columns(“A:J”)。选择objExcel.selection.entireclumn.AutoFit
更改为
objWorkBook.Columns(“A:J”)。entireclumn.AutoFit
,这样效率会更高,因为
。Select
确实是一种资源,谢谢!最后一个问题:对于i=1到.Cells(.Rows.count,“J”).End(xlUp).ROW->xlUp变量未定义,我可以声明它还是有其他方法解决这个问题?您好,谢谢您的建议!我是否在comyfromrecordset rs命令之后添加此项?另外,我是否应该使用objExcel.activesheet或objWorkbook.activesheet对activesheet进行寻址?
objWorkbook.activesheet
objWorkbook.Sheets(“SheetName作为字符串”)
作为参考。是的,将其放在
baseSheet.Range(“A2”).CopyFromRecordset rs
之后。顺便说一句,复制两次是否正常?并将
objExcel.Columns(“A:J”)。选择objExcel.selection.entireclumn.AutoFit
更改为
objWorkBook.Columns(“A:J”)。entireclumn.AutoFit
,这样效率会更高,因为
。Select
确实是一种资源,谢谢!最后一个问题:对于i=1到.Cells(.Rows.count,“J”).End(xlUp).ROW->xlUp变量没有定义,我可以声明它还是有其他方法来解决这个问题?