Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Python基于其他文本突出显示单元格中的特定文本?_Python_Excel_Conditional Statements - Fatal编程技术网

如何使用Python基于其他文本突出显示单元格中的特定文本?

如何使用Python基于其他文本突出显示单元格中的特定文本?,python,excel,conditional-statements,Python,Excel,Conditional Statements,在我的excel文件中有两列。A列有段落,B列有单词。我的要求是B列中的单词应该在A列中突出显示。就像B列中的有害生物一样。第一行中有多少有害生物应该突出显示。第二行中肯定应该突出显示。我已经编写了代码,但它是突出整行 我的代码: from openpyxl import Workbook from openpyxl import load_workbook from openpyxl.styles import PatternFill from openpyxl.styles import c

在我的excel文件中有两列。A列有段落,B列有单词。我的要求是B列中的单词应该在A列中突出显示。就像B列中的有害生物一样。第一行中有多少有害生物应该突出显示。第二行中肯定应该突出显示。我已经编写了代码,但它是突出整行

我的代码:

from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.styles import PatternFill
from openpyxl.styles import colors
from openpyxl.styles import Font, Color
import pandas as pd
ft = Font(color=colors.GREEN, bold=True)
wb = load_workbook('sample_sentence.xlsx')
ws = wb.active
a1 = ws['A']
for a in a1:
    a2 = a
for cell1 in ws['A']:
   for cell in ws['B']:
      if cell.value.lower() in cell1.value.lower():
         a2.font = ft
         wb.save('sample_sentence.xlsx')

我的要求是在第一个A1列中,pest应突出显示;在VBA中,第二个A2列肯定应突出显示

Function Highlight(r As Range, t As String) As String
    Dim Search As Range
    Dim SearchIn As String
    Dim Position As Integer
    Dim Color As Long
    Color = RGB(255, 0, 0)

    SearchIn = r.Text
    Position = InStr(1, SearchIn, t, vbTextCompare)
    r.Characters(Start:=Position, Length:=Len(t)).Font.Color = Color

    Highlight = t
End Function

在通话中使用:
=Highlight(A1,“pest”)
会将单词“pest”变成红色。

在VBA中,这可以通过以下方式解决:

Function Highlight(r As Range, t As String) As String
    Dim Search As Range
    Dim SearchIn As String
    Dim Position As Integer
    Dim Color As Long
    Color = RGB(255, 0, 0)

    SearchIn = r.Text
    Position = InStr(1, SearchIn, t, vbTextCompare)
    r.Characters(Start:=Position, Length:=Len(t)).Font.Color = Color

    Highlight = t
End Function

在通话中使用:
=Highlight(A1,“pest”)
会将单词“pest”变成红色。

可以在pythonCan中提供帮助在python中提供帮助