AppleScript & Excel: настройка диапазона на основе переменных

Я новичок в AppleScript и почти закончил собирать скрипт, чтобы взять электронную таблицу и отформатировать ее для импорта в базу данных FileMaker. Эта таблица представляет собой ежемесячный отчет о донорах, из которого я хочу извлечь только пожертвования. Ниже записей о пожертвованиях есть некоторые учетные данные в некоторых из моих столбцов импорта, которые мне нужно удалить, чтобы получить чистый импорт данных.

Вот сценарий целиком:

tell application "Microsoft Excel"
activate
set theWorkbook to open workbook workbook file name "File Path"
--Open the file that contains the DonorId for all Donors

set theWorkbook to open workbook workbook file name "File Path"
--Open the Monthly Transaction Report

set myrange_1 to range ("A1:E4")
delete myrange_1

tell worksheet "Transaction Report" of active workbook
    set value of cell "A1" to "DonorID"
    autofit columns of range "A1:A100"
    set lastRow to ((count of rows of used range of active sheet) - 13)
    set myRange_2 to range ("A2:A" & lastRow) of active sheet
    set formula of myRange_2 to "=VLOOKUP($C$2:$C$100,'[Donor ID.xlsx]Sheet1'!$A$1:$B$60, 2, FALSE)"
    set value of cell "F1" to "Donation Method"
    set myRange_3 to range ("F2:F" & lastRow) of active sheet
    set formula of myRange_3 to "=IF(D2=\"\",\"Check\", IF(D2=\"CC\",\"Credit Card\", IF(ISNUMBER(SEARCH(\"E\",D2)),\"EFT\",\"#N/A\")))"
    try
        set myRange_2 to find what "#N/A" look at whole with match case
    on error
        log ("No matches found")
    end try

    if (myRange_2 is not "") then
        display dialog "New Donor @ " & (get address of the cells of myRange_2)
    end if
    set myRange_4 to range ("A" & lastRow + 1)
    set myRange_5 to range ("F" & lastRow + 13) 
end tell
end tell                                                                        

Все отлично работает, за исключением того, что я не могу найти способ использовать переменные для установки диапазона ячеек для удаления. Этот диапазон от столбца 1 до 5 от lastRow +1 до lastRow +13. Я попытался установить диапазон на основе "myRange_4:myRange_5", но я не могу заставить его работать. Любая помощь будет принята с благодарностью!

1 ответ

Решение

Вот решение

set rangeToDelete to range ("A" & (lastRow + 1)) & “:F” & ( lastRow + 13)
Другие вопросы по тегам