`
DesHpoT
  • 浏览: 33690 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

根据内容自动设定颜色的EXCEL VBA脚本

阅读更多

帮同事做的一个简单宏,第一次使用VBA,记录下,以后再做可以参考

 

是根据第二页用户维护的数据,自动更新第一页的对应显示区的颜色,方便查看

 

这个是手动运行的,用来处理已有数据

Sub ChangeColumnsRGB()
        Dim i As Integer
        Dim row As Integer
        Dim column As Integer

    For i = 3 To Sheet2.UsedRange.Rows.Count
   
        finalResult = Sheet2.Cells(i, 11).Value
        row = (i - 3) \ 4 + 2
        column = (i - 3) Mod 4 + 1 + 2  

        If finalResult = "ok" Then
            Sheet1.Cells(row, column).Interior.color = RGB(51, 153, 102)
        End If

        If finalResult = "Need artwork" Then
            Sheet1.Cells(row, column).Interior.color = RGB(153, 204, 0)
        End If

        If finalResult = "test ongoing" Then
            Sheet1.Cells(row, column).Interior.color = RGB(153, 51, 0)
        End If

        If finalResult = "Samples ongoing" Then
            Sheet1.Cells(row, column).Interior.color = RGB(0, 128, 0)
        End If

    Next i
End Sub

 

这个是由用户输入操作触发的,自动处理

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.column = 11 Then
    
        Dim operator As String
        Dim color As String
        Dim partName As String
        Dim finalResult As String
        
        operator = Cells(Target.row, 1).Value
        color = Cells(Target.row, 2).Value
        partName = Cells(Target.row, 3).Value
        finalResult = Target.Value
        
        Dim row As Integer
        Dim column As Integer
        row = (Target.row - 3) \ 4 + 2
        column = (Target.row - 3) Mod 4 + 1 + 2
        
        If finalResult = "ok" Then
            Sheet1.Cells(row, column).Interior.color = RGB(51, 153, 102)
        End If
        If finalResult = "Need artwork" Then
            Sheet1.Cells(row, column).Interior.color = RGB(153, 204, 0)
        End If
        If finalResult = "test ongoing" Then
            Sheet1.Cells(row, column).Interior.color = RGB(153, 51, 0)
        End If
        If finalResult = "Samples ongoing" Then
            Sheet1.Cells(row, column).Interior.color = RGB(0, 128, 0)
        End If
        
    End If
    
End Sub
 

 

分享到:
评论

相关推荐

    VBA操作网页读取数据自动填入EXCEL表中

    ### VBA操作网页读取数据自动填入EXCEL表中的实现方法 在现代办公环境中,自动化工具能够极大地提高工作效率并减少重复性劳动。利用VBA(Visual Basic for Applications)进行网页数据抓取,并将这些数据自动填充到...

    excel vba批量填表.rar

    3. `.txt`或`.csv`文件:可能是原始数据源,被VBA脚本读取并填充到Excel表格中。 4. `.doc`或`.docx`文件:可能是模板文件,VBA代码会根据Excel中的数据将其填充并转换成最终的Word文档。 实际应用中,这个VBA程序...

    使用自动化运行Excel VBA 宏

    4. **自动化运行宏**:要实现宏的自动化运行,可以设置Excel启动时自动运行宏。这需要在VBA编辑器中,双击“ThisWorkbook”对象,在代码窗口中添加以下代码: ```vba Private Sub Workbook_Open() Call 自动填充 ...

    VBA脚本实例-对比两个Excel数据是否一致

    在这个VBA脚本实例中,我们探讨的是如何通过编程来对比两个Excel工作簿或工作表中的数据,确保数据的一致性。以下是对这个主题的详细讲解: 首先,我们需要理解VBA的基本结构和语法。VBA是基于Visual Basic的,这...

    EXCEL_VBA_完全手册.zip_Excel VBA_excel_vba excel

    VBA是Microsoft Office套件中内置的一种脚本语言,它允许用户创建自定义功能、宏和自动化工作流程,极大地提升了Excel的工作效率。 在《Excel VBA完全手册》中,你可以找到以下关键知识点: 1. **VBA基础**:首先...

    进销存管理系统(Excel VBA)

    3. **自动化流程**:例如,当新的进货记录被添加时,VBA脚本可以触发库存更新和预警检查。 4. **用户界面定制**:VBA可以创建自定义的用户界面,提供友好且高效的交互体验。 5. **数据安全**:VBA允许设置权限,...

    Excel VBA/Excel VBA

    **Excel VBA**(Visual Basic for Applications)是一种基于Microsoft Office的脚本语言,主要用于自动化办公软件中的任务处理。通过使用Excel VBA,用户可以创建复杂的数据处理应用程序,提高工作效率。 #### 二、...

    Excel VBA也可以设计精美界面的

    通过以上讨论,我们可以看到Excel VBA不仅仅是一个用于自动化任务的工具,它还能创造出具有专业外观和用户体验的应用程序。通过合理运用VBA提供的各种组件和技巧,结合外部库和多媒体元素,我们可以设计出既实用又...

    EXCELVBA.rar_Excel VBA_vba xml_vba xml asp_xml asp vba

    标题“EXCELVBA.rar_Excel VBA_vba xml_vba xml asp_xml asp vba”表明这个压缩包包含的资源可能涉及Excel VBA编程,XML与VBA的结合,以及VBA与ASP(Active Server Pages)的交互。这涵盖了三个主要的知识点: 1. *...

    excel通过VBA自动填充公式

    首先设置起始单元格的公式,然后根据最大行数确定填充范围,并执行自动填充操作。 ```vba Function myAutoFill(ByVal FirstCellStr As String, ByVal FuncStr As String, ByVal CellCount As Integer) Dim tempStr...

    Excel VBA从入门到进阶教程(附实例代码).zip

    Excel VBA,全称为Visual Basic for Applications,是Microsoft Excel中的编程环境,允许用户自定义功能、创建宏和自动化工作流程。这个"Excel VBA从入门到进阶教程(附实例代码).zip"压缩包文件显然是为了帮助学习...

    EXCELVBA方法属性大全

    在Excel VBA(Visual Basic for Applications)编程中,掌握各种方法和属性是至关重要的,因为它们构成了VBA脚本的核心,使我们能够控制和自动化Excel的工作流程。"EXCELVBA方法属性大全"是一个非常宝贵的资源,它...

    ExcelVba.rar_Excel VBA_VBa_excel_excelvba_vba excel

    本资源“ExcelVba.rar”聚焦于如何使用VBA来构建自己的菜单,并隐藏Excel原有的菜单,从而为工作簿提供个性化的用户界面。 一、VBA基础 VBA是Microsoft Office套件中的脚本语言,它基于Visual Basic,让用户能够...

    进销存管理系统(Excel VBA实现),excel进销存管理系统下载,VBA

    VBA是Excel内置的一种编程语言,允许用户编写脚本来扩展和自动化工作表的功能。 1. **基础架构** 在Excel中建立进销存管理系统,首先需要规划好表格布局,包括商品信息表、进货记录表、销售记录表和库存表。这些表...

    Excel VBA技巧应用

    Excel VBA(Visual Basic for Applications)是Microsoft Excel中的编程环境,允许用户自定义工作簿、工作表和图表的行为,以实现自动化任务、数据处理和复杂功能。本资料集"Excel VBA技巧应用"旨在帮助已经有一定...

    Excel VBA与数据库(Access)整合笔记

    1. 数据导入导出:通过VBA脚本,自动将Access中的数据导入到Excel,或者将Excel数据保存到Access数据库中,进行数据分析或报表制作。 2. 实时数据同步:建立连接,实现实时从Access数据库获取数据更新,或者将Excel...

    Excel_VBA.rar_Excel VBA_Excel_vba_VBa

    Excel VBA,全称为Visual Basic for Applications,是Microsoft Excel中的内置编程语言,允许用户自定义功能、创建宏和自动化工作表任务。通过VBA,你可以编写一系列指令来执行复杂的操作,大大提高工作效率,尤其是...

    西门子WinCC_VBS_VBA脚本编程手册.rar

    西门子WinCC_VBS_VBA脚本编程手册是一份重要的参考资料,专为那些在工业自动化领域使用西门子WinCC(Human Machine Interface,人机界面)系统的开发者设计。WinCC是西门子提供的一款强大的可视化软件,广泛应用于...

    自动记录单元格修改时间的Excel宏脚本

    VBA脚本excel自动记录某列或某几列修改时间,Excel脚本编写的宏,能自动记录单元格修改时间。

Global site tag (gtag.js) - Google Analytics