VBA实现excel单元格指定内容变色


''''''''''''''''''''''''''''''''string color changed
Public Sub FindAndFormatText(rng As Range, substr As String, txtColor As Long, boldFlag As Boolean)
    Dim cell As Range
    Dim startPos As Integer
    Dim lenSubstr As Integer

    lenSubstr = Len(substr)

    For Each cell In rng
        startPos = InStr(1, cell.Value, substr, vbTextCompare)
        Do While startPos > 0
            With cell.Characters(Start:=startPos, Length:=lenSubstr).Font
                .ColorIndex = txtColor
                .Bold = boldFlag ' 使用 boldFlag 来设置加粗'
            End With
            startPos = InStr(startPos + lenSubstr, cell.Value, substr, vbTextCompare)
        Loop
    Next cell
End Sub

Sub TestFindAndFormatText()
    Dim searchRange As Range
    Dim cc As String
    Set searchRange = ThisWorkbook.Sheets("拲暥怽惪").Range("I1:I10000")
    cc = "AS IS:"
    
    'set font
    '1=black,2=white,4=green,5=blue,6=yellow,7=pink,8=white green,9=old red,10=green
    FindAndFormatText searchRange, cc, 10, True
End Sub



  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VBA可以通过以下步骤将Excel单元格数据写入到Word的指定位置: 1. 首先,在VBA编辑器中打开Word应用程序,确保已经引用了Microsoft Word的对象库。打开Word应用程序的代码如下所示: ``` Dim wordApp As Object Set wordApp = CreateObject("Word.Application") wordApp.Visible = True '可见性设为True,方便调试和观察 ``` 2. 打开Word文档并定位到指定位置。可以通过以下代码打开指定的Word文档并定位到特定的书签位置: ``` Dim wordDoc As Object Set wordDoc = wordApp.Documents.Open("C:\路径\文件名.docx") wordApp.Activate '确保Word应用程序是激活状态 Dim bookmark As Object Set bookmark = wordDoc.Bookmarks("书签名称") bookmark.Select '选中书签位置 ``` 3. 从Excel中获取要写入的数据。使用VBA代码,可以获取Excel中的单元格数据,例如: ``` Dim excelApp As Object Set excelApp = CreateObject("Excel.Application") excelApp.Visible = True '可见性设为True,方便调试和观察 Dim excelWB As Object Set excelWB = excelApp.Workbooks.Open("C:\路径\文件名.xlsx") Dim excelWS As Object Set excelWS = excelWB.Worksheets("工作表名称") Dim data As String data = excelWS.Range("A1").Value '获取A1单元格的数据 ``` 4. 将数据写入Word指定位置。使用VBA代码,将获取到的数据写入到Word的书签位置,如下所示: ``` wordApp.Selection.TypeText Text:=data ``` 5. 关闭和释放对象。最后,要记得关闭打开的Excel和Word对象,并释放内存资源,以避免占用过多的系统资源,代码如下所示: ``` excelWB.Close SaveChanges:=False excelApp.Quit Set excelWS = Nothing Set excelWB = Nothing Set excelApp = Nothing wordDoc.Close SaveChanges:=True wordApp.Quit Set bookmark = Nothing Set wordDoc = Nothing Set wordApp = Nothing ``` 通过以上步骤,我们可以通过VBAExcel单元格的数据写入到Word的指定位置。记得根据实际的需求进行适当的修改和调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值