оптимизируй код python, убрав неиспользуемые переменные и неиспользуемые определения функций. Вот код:
# Автоматически вписывает из Моодл новые значения в файл БазаДанных Наташи
# ------------------------------------------------------------------------
import os.path
import subprocess
import win32com.client
import json
import requests
from requests.structures import CaseInsensitiveDict
import datetime

# ver 1.1 - Исправляю дату 01.01.1970

PATCH_BD = r"l:\БАЗА ОБУЧЕНИЯ 2023_.xlsm"
url = "https://ndt-edu.ru/mgw/test_mpost.php"
# ___________________________________
# uno_man в 10.05.2023 13:40:52
def convert_timestamp(timestamp):
    return datetime.datetime.fromtimestamp(int(timestamp)).strftime('%d.%m.%Y')
# ____________________________________________
# Запросить у Moodle словарь с информ по датам, людям, и т.д.
# На выходе словарь, больше напоминающий текст
def dall() -> dict:
    headers = CaseInsensitiveDict()
    headers["Accept"] = "application/json"
    headers["Content-Type"] = "application/x-www-form-urlencoded"
    data = 'kmd=5&&username=gena'
    resp = requests.post(url, headers=headers, data=data.encode('utf-8'))
    rez: dict = {}
    if resp.status_code == 200:
        the_dict = json.loads(resp.text)
        if the_dict['ok']:
            rez = the_dict['msg']
    return rez

rezDict: dict = dall()

# ____________________________________________
# выдает словарь для login и курс
def find_dict_by_username(rezDict, login, kurs):
    for key in rezDict.keys():
        if (rezDict[key]['username'] == login) and (rezDict[key]['kurs'] == kurs):
            return rezDict[key]

# _____________________________
# Нормализация даты Excel
def normalizeDateXls(ds: str) -> str:
    rez: str = ''
    if not ds:
        return rez
    mas: list = ds.strip().split(' ')
    if len(mas) == 2:
        krDate: str = mas[0]
        mas2: list = krDate.split('-')
        rez = mas2[2] + '.' + mas2[1] + '.' + mas2[0]
    else:
        rez = ds
    return rez

# print(rq('493',2))
# print(dend('cdacbhahdcbc_9','УК'))

# Открыть Excel и начать перебор
excel = win32com.client.Dispatch("Excel.Application")
wb = excel.Workbooks.Open(PATCH_BD)
# Excel.WindowState = -4137
sheet = excel.Sheets("БД 2023")
wb.Application.Visible = False
sheet.visible = True
sheet.Calculate()

print('Excel старт ...')

# 2, 2000
for nLine in range(2, 3000):
    login: str = str(sheet.Cells(nLine, 1).value).strip()
    if login == 'None':
        continue
    kurs: str = str(sheet.Cells(nLine, 19).value).strip()
    if login == 'STOP':
        break
    if not (nLine % 50):
        print(nLine)

    # Проверим поиск инфы в моём новом варианте
    if login != '' and kurs != '':
        # Данная строка
        sld: dict = find_dict_by_username(rezDict, login, kurs)
        oldZn: str = ''
        if sld is not None:
            if sld['uno'] == '1':
                # Есть подтверждение
                sheet.Cells(nLine, 35).value = ''
                sheet.Cells(nLine, 36).value = ''
                sheet.Cells(nLine, 37).value = ''
                sheet.Cells(nLine, 38).value = '' # занулить DTR
                sheet.Cells(nLine, 39).value = '' # занулить СНИЛС
                sheet.Cells(nLine, 40).value = '' # Пол
                # Фамилия
                oldZn = str(sheet.Cells(nLine, 3).value).strip()
                if oldZn != sld['fam']:
                    print("Фамилии не равны: ", nLine, ' -- ', oldZn, sld['fam'])
                    sheet.Cells(nLine, 35).value = sld['fam']
                # Имя
                oldZn = str(sheet.Cells(nLine, 4).value).strip()
                if oldZn != sld['nam']:
                    print("Имена не равны: ", nLine, ' -- ', oldZn, sld['nam'])
                    sheet.Cells(nLine, 36).value = sld['nam']
                # Отчество
                oldZn = str(sheet.Cells(nLine, 5).value).strip()
                if oldZn != sld['otc']:
                    print("Отчества не равны: ", nLine, ' -- ', oldZn, sld['otc'])
                    sheet.Cells(nLine, 37).value = sld['otc']
                # Проверим ДТР
                oldZn = normalizeDateXls(str(sheet.Cells(nLine, 6).value).strip())
                if oldZn != sld['dtr']:
                    dlnStrDate: int = len(oldZn)
                    print(dlnStrDate, "\tДатаРождения не равны: ", nLine, ' -- ', oldZn, sld['dtr'])
                    sheet.Cells(nLine, 38).value = sld['dtr']
                # Проверим СНИЛС
                oldZn = str(sheet.Cells(nLine, 7).value).strip()
                if oldZn != sld['snils']:
                    print("СНИЛС не равны: ", nLine, ' -- ', oldZn, sld['snils'])
                    if sld['snils'] != '000-000-000 00':
                        sheet.Cells(nLine, 39).value = sld['snils']
                # Проверим Пол
                if sld['pol'] == '1':
                    nPol: str = 'Муж'
                else:
                    nPol: str = 'Жен'
                sheet.Cells(nLine, 8).value = nPol
            # Нет подтверждение
            # Надо вписать дату мониторинга - окончания курса
            # Занулить дату начала и окончания
            sheet.Cells(nLine, 31).value = ''
            sheet.Cells(nLine, 32).value = ''
            sheet.Cells(nLine, 33).value = ''
            oldMet: str = str(sheet.Cells(nLine, 19).value).strip()
            try:
                # Занулить дату начала и окончания
                dateEndMet: str = convert_timestamp(sld['timemodified'])
                sheet.Cells(nLine, 31).value = 'Закончил'
                sheet.Cells(nLine, 32).value = dateEndMet
                sheet.Cells(nLine, 33).value = sld['prc']
            except:
                print('Ошибка дата окончания! Строка [' + str(nLine) + '] значение [' + login + ']')

wb.Application.DisplayAlerts = False
# wb.Application.Visible = True
wb.Application.Save()
wb.Application.DisplayAlerts = True
wb.Close()
del sheet
del wb
excel.Quit()
del excel
print('Excel закончил работу, файл сохранён ...')