根据列的填充情况删除行。Python,Exс;el,Win32com
下午好,如果B列中的填充颜色为黑色,我需要程序删除整行。这样只剩下灰色填充的线条 我试试这个:根据列的填充情况删除行。Python,Exс;el,Win32com,python,excel,pywin32,win32com,Python,Excel,Pywin32,Win32com,下午好,如果B列中的填充颜色为黑色,我需要程序删除整行。这样只剩下灰色填充的线条 我试试这个: excel = win32com.client.Dispatch("Excel.Application") wb = excel.ActiveWorkbook sheet = wb.ActiveSheet i = sheet.Cells.SpecialCells(xlCellTypeLastCell).Row while i >= 1: if self.Rows(i).Interior
excel = win32com.client.Dispatch("Excel.Application")
wb = excel.ActiveWorkbook
sheet = wb.ActiveSheet
i = sheet.Cells.SpecialCells(xlCellTypeLastCell).Row
while i >= 1:
if self.Rows(i).Interior.ColorIndex == 0:
self.Rows(i).Delete()
i += -1
但不确定什么是正确的,加上一个错误:
NameError: name 'xlCellTypeLastCell' is not defined
如何使用python删除以黑色标记的excel工作表中的单元格? 假设:
- 工作表是活动工作表
- 单元格位于第二列,用黑色填充标记
- 我们不知道工作表中有多少单元格
这将删除该单元格,但这是必要的:如果B列中的单元格为黑色,则删除所有行。问题是,如果我试图删除整行,Excel就会崩溃,并出现一个错误,即它无法处理这样一个数字(虽然不是很多行)或删除一行中的所有行
import win32com.client as win32client
excel = win32client.gencache.EnsureDispatch('Excel.Application')
sheet = excel.Application.ActiveSheet
range_ = sheet.Range("B:B")
for cell in range_:
if cell.Interior.ColorIndex == 1:
cell.Delete()