xlwings编辑报错 'Sheet' object is not callable

执行的时候老是有 以下报错,有没大拿能帮忙看下?

Traceback (most recent call last):
  File "E:/个人软件/pychrm/PycharmProjects/LTE网管脚本/sgz_xlwings.py", line 40, in <module>
    if ULogicalCell('K'+str(i2)).value == UUtranCellFDD.range('B'+str(ii2)).value:
TypeError: 'Sheet' object is not callable

import xlwings as xw
from openpyxl.utils import get_column_letter
app = xw.App(visible=True, add_book=False)
app.display_alerts = False    # 关闭一些提示信息,可以加快运行速度。 默认为 True。
app.screen_updating = True     # 更新显示工作表的内容。默认为 True。关闭它也可以提升
删除小区文件 = app.books.open(r'E:\ \11网管导出文件\W导出文件\ICM\服务小区\\删除小区模版.xlsx')      # 打开现有的工作簿
删除小区文件sheet = 删除小区文件.sheets['sheet1']
删除max_row = 删除小区文件sheet.used_range.last_cell.row  # 获取最大行数
UMTS文件 = app.books.open(r'E:\\11网管导出文件\W导出文件\ICM\服务小区\删除小区\已做好的脚本\版本1_删除小区脚本.xlsx')      # 打开现有的工作簿
UUtranCellFDD = UMTS文件.sheets['UUtranCellFDD']
uuc_nrows = UUtranCellFDD.used_range.last_cell.row  # 获取最大行数
uuc_ncol = UUtranCellFDD.used_range.last_cell.column  # 获取最大列
UUtranCellFDD_MAX索引 = get_column_letter(uuc_ncol + 1)
ULogicalCell = UMTS文件.sheets['ULogicalCell']
ulc_nrows = ULogicalCell.used_range.last_cell.row  # 获取最大行数
ulc_ncol = ULogicalCell.used_range.last_cell.column  # 获取最大列
ulc_MAX索引 = get_column_letter(ulc_ncol + 1)
for i in range(6, uuc_nrows):
    for ii in range(2,删除max_row):
        if UUtranCellFDD.range('F'+str(i)).value == 删除小区文件sheet.range('B'+str(ii)).value:
            if UUtranCellFDD.range('E'+str(i)).value == 删除小区文件sheet.range('A'+str(ii)).value:
                print(i,uuc_ncol+1)
                UUtranCellFDD.range(i,uuc_ncol+1).value = 0
UUtranCellFDD.range('A6:'+UUtranCellFDD_MAX索引+str(uuc_nrows),(uuc_nrows,uuc_ncol)).api.Sort(Key1=UUtranCellFDD.range(UUtranCellFDD_MAX索引+'6').api, Order1=1,Orientation=1)
for i3 in range(6, uuc_nrows):
    if UUtranCellFDD.range(i3,uuc_ncol+1).value != 0:
        break
UUtranCellFDD[str(i3)+':'+str(uuc_nrows)].delete()# 删除行
UUtranCellFDD[str(UUtranCellFDD_MAX索引)+':'+str(UUtranCellFDD_MAX索引)].delete()
uuc_nrows1 = UUtranCellFDD.used_range.last_cell.row  # 获取最大行数
for i2 in range(6, ulc_nrows):
    for ii2 in range(6,uuc_nrows1):
        if ULogicalCell('K'+str(i2)).value == UUtranCellFDD.range('B'+str(ii2)).value:
            ULogicalCell.range(i2,ulc_ncol+1).value = 0
ULogicalCell.range('A6:'+ulc_MAX索引+str(ulc_nrows),(ulc_nrows,ulc_ncol)).api.Sort(Key1=ULogicalCell.range(ulc_MAX索引+'6').api, Order1=1,Orientation=1)
# sheet.range('A1').api.EntireRow.Delete()#删除某个单元格所在的整行数据(以单元格'A1'为例)
for i4 in range(6, uuc_nrows):
    if ULogicalCell.range(i4,ulc_ncol+1).value != 0:
        break
ULogicalCell[str(i4)+':'+str(ulc_nrows)].delete()# 删除行
ULogicalCell[str(ulc_MAX索引)+':'+str(ulc_MAX索引)].delete()
UMTS文件.save()
UMTS文件.close()
删除小区文件.close()


这个错误是因为你试图调用Excel工作表Sheet对象的range()方法,但是Sheet对象不是可调用的。
range()方法实际上属于Excel工作簿Workbook对象,而不是Sheet对象。
所以,正确的代码应该是:

import xlwings as xw 
from openpyxl.utils import get_column_letter
app = xw.App(visible=True, add_book=False)
app.display_alerts = False    
app.screen_updating = True     
    
删除小区文件 = app.books.open(r'E:\ \11网管导出文件\W导出文件\ICM\服务小区\\删除小区模版.xlsx')      
删除小区文件sheet = 删除小区文件.sheets['sheet1']
删除max_row = 删除小区文件sheet.used_range.last_cell.row  

UMTS文件 = app.books.open(r'E:\\11网管导出文件\W导出文件\ICM\服务小区\删除小区\已做好的脚本\版本1_删除小区脚本.xlsx')      
UUtranCellFDD = UMTS文件.sheets['UUtranCellFDD']
uuc_nrows = UUtranCellFDD.used_range.last_cell.row  
uuc_ncol = UUtranCellFDD.used_range.last_cell.column
UUtranCellFDD_MAX索引 = get_column_letter(uuc_ncol + 1)
ULogicalCell = UMTS文件.sheets['ULogicalCell'] 
ulc_nrows = ULogicalCell.used_range.last_cell.row
ulc_ncol = ULogicalCell.used_range.last_cell.column
ulc_MAX索引 = get_column_letter(ulc_ncol + 1)

for i in range(6, uuc_nrows): 
    for ii in range(2,删除max_row):
        if UUtranCellFDD.range('F'+str(i)).value == 删除小区文件sheet.range('B'+str(ii)).value:
            if UUtranCellFDD.range('E'+str(i)).value == 删除小区文件sheet.range('A'+str(ii)).value:
                print(i,uuc_ncol+1)
                UUtranCellFDD.range(i,uuc_ncol+1).value = 0
                
UUtranCellFDD.range('A6:'+UUtranCellFDD_MAX索引+str(uuc_nrows),(uuc_nrows,uuc_ncol)).api.Sort(Key1=UUtranCellFDD.range(UUtranCellFDD_MAX索引+'6').api, Order1=1,Orientation=1)

for i3 in range(6, uuc_nrows): 
    if UUtranCellFDD.range(i3,uuc_ncol+1).value != 0:
        break 
UUtranCellFDD[str(i3)+':'+str(uuc_nrows)].delete()
UUtranCellFDD[str(UUtranCellFDD_MAX索引)+':'+str(UUtranCellFDD_MAX索引)].delete() 
uuc_nrows1 = UUtranCellFDD.used_range.last_cell.row  

for i2 in range(6, ulc_nrows):
    for ii2 in range(6,uuc_nrows1): 
        if ULogicalCell('K'+str(i2)).value == UUtranCellFDD.range('B'+str(ii2)).value:
            ULogicalCell.range(i2,ulc_ncol+1).value = 0
            
ULogicalCell.range('A6:'+ulc_MAX索引+str(ulc_nrows),(ulc_nrows,ulc_ncol)).api.Sort(Key1=ULogicalCell.range(ulc_MAX索引+'6').api, Order1=1,Orientation=1)      

for i4 in range(6, ulc_nrows): 
    if ULogicalCell.range(i4,ulc_ncol+1).value != 0:
        break
ULogicalCell[str(i4)+':'+str(ulc_nrows)].delete()
ULogicalCell[str(ulc_MAX索引)+':'+str(ulc_MAX索引)].delete()

UMTS文件.save()  
UMTS文件.close()
删除小区文件.close()

把圆括号换成方括号看看呢