Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Сломался Personal.xlsb, После некорректного выключения компьютера сбои в работе книги макросов.
 
R091n,
Офигеть, не думал что все так просто можно решить, помогли средства востановления, благодарю!!!!
Изменено: ne.bla.bla - 12.12.2023 15:24:03
Папка с Google диска в эксель
 
Можно написать скрипт через библиотеку Selenium basic, чтобы он открывал браузер, переходил в папку на диск и от туда загружал.
Сломался Personal.xlsb, После некорректного выключения компьютера сбои в работе книги макросов.
 
То есть сам visual Basic запускается, можно смотреть открытые книги, но сами модули с макросами не открываются.
Сломался Personal.xlsb, После некорректного выключения компьютера сбои в работе книги макросов.
 
Всем добрый день!
Неудачно вчера выключил компьютер после чего сломался Personal.xlsb, некоторые макросы, выведенные на кнопки работают на одном очень сильно зависают. Но самая большая проблема - нет возможности редактировать код в модулях, они попросту не открываются, не экспортируются, не удаляются.

Перепробовал все что можно - перезагружал пк всякими способами, запускал excel в безопасном режиме, убирал из папки файл с макросами, создавал новый - он работает безупречно.

Что еще можно сделать и как можно сохранить скрипты из поломанного файла?
VBA некорректно читает имя файла с Й
 
Доброго времени суток, столкнулся с трудностями, код не видит файл с именем  "ПРАЙС.XLS", когда пытаешься найти правильное имя, он выдает "ПРАИ?С.XLS
". Судя из этой информации он некорректно считывает имя файла, при этом если его перезаписать, не изменяя, vba его читает корректно, в чем может быть проблема?

Ознакомился с  этой статьей и этой, вторую использовал для того чтобы понять как vba видит название файла.

Файл регулярно скачивается через код и обрабатывается дальше, но на этапе взаимодействия с файлом перестает его видеть.
Как разархивировать архив RAR через VBA
 
ne.bla.bla, отбой, проблема была в другом
Как разархивировать архив RAR через VBA
 
Дмитрий(The_Prist) Щербаков, Возникает проблема иногда, этот код разархивирует файл, но он появляется только после обновления папки, а дальнейший код его не видит и выдает ошибку, как это исправить?
Как разархивировать архив RAR через VBA
 
Дмитрий(The_Prist) Щербаков,
В любом случае спасибо
Как разархивировать архив RAR через VBA
 
Дмитрий(The_Prist) Щербаков,
Так блин за дурака полного принимать меня не надо, читал определенную информацию. Да не все знаю.

Я ставил переменную вверх модуля option explicit и там она выдает ошибку, переменная используется в 20+ процедурах, в sub переместил и ошибку перестал выдавать
Код
Sub b()
    Dim DownloadFolder As String
    DownloadFolder = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
    Debug.Print DownloadFolder
End Sub
Изменено: ne.bla.bla - 28.09.2022 15:38:07
Как разархивировать архив RAR через VBA
 
Дмитрий(The_Prist) Щербаков,
Все равно выдает ошибку
Код
    Dim DownloadFolder As String
    DownloadFolder = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")

invalide outside procedure пишет
Как разархивировать архив RAR через VBA
 
Цитата
Лучше использовать
Код
DowloadFolder = CreateObject(  "WScript.Shell"  ).SpecialFolders(  "MyDocuments"  ) & "\"   
 
не работает, в чем ошибка ?
Код
Const DownloadFolder As String = CreateObject("WScript.Shell").SpecialFolders("MyDocuments")
Изменено: ne.bla.bla - 28.09.2022 12:29:47
Как разархивировать архив RAR через VBA
 
МатросНаЗебре, Оооооо годно спасибо
Как разархивировать архив RAR через VBA
 
Цитата
Да и это  
Код
    [URL=#]?[/URL]       1      DowloadFolder = "C:\Users\Менеджер\Documents\"   
   превращает код из хорошего в очень плохой.
Почему?
Взаимодействие с всплывающими окнами в браузере через Selenium
 
Игорь, Спасибо
Как разархивировать архив RAR через VBA
 
Написал хороший код для разархивации файлов, для zip файлов подходит идеально, но вот rar не читает. Буду благодарен если кто объяснит как ему скормить архивы RAR
Код
Option Explicit

Sub UnRar()
    Dim DownloadFolder As String
        DowloadFolder = "C:\Users\Менеджер\Documents\"
    Dim UnRar As New Shell32.Shell
    
    UnRar.Namespace(DowloadFolder).CopyHere _
        UnRar.Namespace(DowloadFolder & "Архив.zip").Items, 16
        'Unrar.Namespace(DowloadFolder &"Архив.rar").Items, 16
End Sub
Взаимодействие с всплывающими окнами в браузере через Selenium
 
Необходимо скачать файл с сайта, с авторизацией

с другими файлами и сайтами разобрался как авторизоваться с помощью Selenium через webelements и методы FindelementsBy

Тут же выскакивает диалоговое окно (прикреплено в фото)

Как взаимодействовать с этим окном?

код такой:
Код
Option Explicit
    Dim Ch As Selenium.ChromeDriver
    Dim URL As String
    Dim FindBy As New Selenium.By
    Dim Login As String
    Dim Password As String

Sub PA_Download()

        On Error GoTo ErrorHandl

    Set Ch = New Selenium.ChromeDriver
        URL = "https://dealer.pasystem.ru/Ostatki_price.xlsx"
        Login = "example"
        Password = "12345678"
    Ch.Start
    Ch.Get URL

'на этом этапе выскакивает окно, с которым не могу взаимодействовать как с webelemnt

Exit Sub
ErrorHandl:
        Debug.Print "Артикул " & Article & " не загружен. Изменилась ссылка или таблица"
End Sub
Функция ЕСЛИМН выдает ошибку #ЗНАЧ
 
Jack Famous, Дмитрий(The_Prist) Щербаков,
Благодарю, вроде упростил код:
Код
Public Function MyIFS(ParamArray args() As Variant) As Variant
    On Error Resume Next
    
    Dim i As Integer
    'Debug.Print "Количество аргументов - " & UBound(args()) + 1

    For i = 0 To UBound(args())
        'Debug.Print " Аргумент" & i + 1 & ": " & args(i)
        'Debug.Print " Аргумент" & i + 2&; ": " & args(i + 1)
            If args(i) = True Or args(i) = 1 Then
                MyIFS = args(i + 1)
                'Debug.Print "На экране должно быть: " & args(i + 1)
                Exit Function
            End If
        i = i + 1
    Next i
    On Error GoTo ErrHandl
ErrHandl:
    MyIFS = CVErr(xlErrValue)

End Function

Вроде разобрался, формула ломалась, когда аргумент выдавал ошибку. Работает, но писец долго)

Есть подозрения что ЕСЛИМН встроенный ломается так же от ошибок в аргументах
Изменено: ne.bla.bla - 12.09.2022 21:27:19
Функция ЕСЛИМН выдает ошибку #ЗНАЧ
 
Попробовал написать свою функцию подобную ЕСЛИМН, буду признателен если поможете оптимизировать/упростить код. Работает на простых вариантах с недлинным размером аргумента, в примере 1 не работает. Еще очень странно обновляется, если протянуть формулу до конца таблицы, везде пишет значение первой строки, если сохранить файл уже обновляет значения
Код
Public Function MyIFS(Condition_1 As Boolean, Value_1 As String, Optional Condition_2 As Boolean, Optional Value_2 As String, _
Optional Condition_3 As Boolean, Optional Value_3 As String, Optional Condition_4 As Boolean, Optional Value_4 As String, _
Optional Condition_5 As Boolean, Optional Value_5 As String, Optional Condition_6 As Boolean, Optional Value_6 As String, _
Optional Condition_7 As Boolean, Optional Value_7 As String, Optional Condition_8 As Boolean, Optional Value_8 As String, _
Optional Condition_9 As Boolean, Optional Value_9 As String, Optional Condition_10 As Boolean, Optional Value_10 As String, _
Optional Condition_11 As Boolean, Optional Value_11 As String, Optional Condition_12 As Boolean, Optional Value_12 As String, _
Optional Condition_13 As Boolean, Optional Value_13 As String, Optional Condition_14 As Boolean, Optional Value_14 As String, _
Optional Condition_15 As Boolean, Optional Value_15 As String, Optional Condition_16 As Boolean, Optional Value_16 As String, _
Optional Condition_17 As Boolean, Optional Value_17 As String, Optional Condition_18 As Boolean, Optional Value_18 As String, _
Optional Condition_19 As Boolean, Optional Value_19 As String, Optional Condition_20 As Boolean, Optional Value_20 As String) As String
    On Error GoTo ErrHandl
    Dim i As Integer
    Dim Conditions(1 To 20) As Boolean
            Conditions(1) = Condition_1
            Conditions(2) = Condition_2
            Conditions(3) = Condition_3
            Conditions(4) = Condition_4
            Conditions(5) = Condition_5
            Conditions(6) = Condition_6
            Conditions(7) = Condition_7
            Conditions(8) = Condition_8
            Conditions(9) = Condition_9
            Conditions(10) = Condition_10
            Conditions(11) = Condition_11
            Conditions(12) = Condition_12
            Conditions(13) = Condition_13
            Conditions(14) = Condition_14
            Conditions(15) = Condition_15
            Conditions(16) = Condition_16
            Conditions(17) = Condition_17
            Conditions(18) = Condition_18
            Conditions(19) = Condition_19
            Conditions(20) = Condition_20
    
    Dim Values(1 To 20) As String
            Values(1) = Value_1
            Values(2) = Value_2
            Values(3) = Value_3
            Values(4) = Value_4
            Values(5) = Value_5
            Values(6) = Value_6
            Values(7) = Value_7
            Values(8) = Value_8
            Values(9) = Value_9
            Values(10) = Value_10
            Values(11) = Value_11
            Values(12) = Value_12
            Values(13) = Value_13
            Values(14) = Value_14
            Values(15) = Value_15
            Values(16) = Value_16
            Values(17) = Value_17
            Values(18) = Value_18
            Values(19) = Value_19
            Values(20) = Value_20

    For i = 1 To 20
        
        If Conditions(i) = True Then
            MyIFS = Values(i)
            Debug.Print ActiveCell.Address
            Debug.Print i & ". " & Values(i)
            Exit Function
        End If
    Next i

ErrHandl:
    MyIFS = CVErr(xlErrValue)

End Function
Функция ЕСЛИМН выдает ошибку #ЗНАЧ
 
Цитата
UPD: прикрепил файл, где немного изменил формулы (вставил динамический диапазон) - так тоже выдает ошибки?
Еще заметил, что ошибки у вас в тех формулах, которые ссылались на ячейки с формулами. Точно такая же формула в столбце D ошибок не выдает.
Очень странно. У всех все работает норм у меня выдает ошибки... Я перепробовал несколько сборок офиса, от чего ситуация не поменялась. Почему в этом файле все работает тоже не понимаю, все формулы те же, лишь ссылки другие. При этом при повторном запуске, выдал ошибку в ячейках в которых проверял формулу
Изменено: ne.bla.bla - 12.09.2022 14:14:41
Функция ЕСЛИМН выдает ошибку #ЗНАЧ
 
Установил самую последнюю версию Excel. На скринах видно в каких ячейках ошибки
Функция ЕСЛИМН выдает ошибку #ЗНАЧ
 
Доброго времени всем гуру Excel.

Уже неделю ломаю голову над тем чтобы перенести обработку прайсов из Google Sheets в Excel чтобы наименование выглядело приемлемым и стандартизированным. Писал формулы пол года назад и делал это в Google Таблицах, потому что там работали регулярки, сейчас активно стал изучать Excel смог написать функции RegExpExtract и Replace и самой непреодолимой задачей для меня стала формула ЕСЛИМН (в Google Таблицах - IFS). Проблема в том, что в первоисточнике проблем не возникало, но при импортировании формул в Excel, функция ЕСЛИМН периодически стала выдавать ошибку #ЗНАЧ. Я перелопатил все что можно, офф сайт Microsoft не работает, единственное что смог узнать, так это то что формула не вывозит большое количество вложений функций ЕСЛИ, ЕСЛИОШИБКА и тп, но даже без них она порой выдает ошибки из-за непонятный мне причин. Пример в прикрепленном файле (ошибка происходит в крайних правых ячейках). Таких прайсов у меня штук 20 и все разные, у некоторых формула IFS набирает до 40 параметров, вторым файлом приложил еще один пример. Не хотелось бы их заново переписывать под Excel. Если проследить формулу по вычислению, то можно заметить что все ее отдельные части вычисляются нормально, но общий результат выдает  #ЗНАЧ...

Необходимо чтобы формула работала так же гладко как и в Google. На основе ее делаю макрос который скачивает прайсы обрабатывает их и подготавливает для загрузки в 1С.

Ваши предложения? Я думаю тут либо что-то с формулой сделать чтобы она заработала, либо написать свою IFS для Excel, или же решить этот вопрос через код VBA ( как я понял так быстрее, что не мало важно при наличии гигантских прайсов.
[ Закрыто] ЕСЛИМН сходит с ума и сводит с ума меня
 
Доброго времени всем гуру Excel.

Уже неделю ломаю голову над тем чтобы перенести обработку прайсов из Google Sheets в Excel чтобы наименование выглядело приемлемым и стандартизированным. Писал формулы пол года назад и делал это в Google Таблицах, потому что там работали регулярки, сейчас активно стал изучать Excel смог написать функции RegExpExtract и Replace и самой непреодолимой задачей для меня стала формула ЕСЛИМН (в Google Таблицах - IFS). Проблема в том, что в первоисточнике проблем не возникало, но при импортировании формул в Excel, функция ЕСЛИМН периодически стала выдавать ошибку #ЗНАЧ. Я перелопатил все что можно, офф сайт Microsoft не работает, единственное что смог узнать, так это то что формула не вывозит большое количество вложений функций ЕСЛИ, ЕСЛИОШИБКА и тп, но даже без них она порой выдает ошибки из-за непонятный мне причин. Пример в прикрепленном файле (ошибка происходит в крайних правых ячейках). Таких прайсов у меня штук 20 и все разные, у некоторых формула IFS набирает до 40 параметров, вторым файлом приложил еще один пример. Не хотелось бы их заново переписывать под Excel. Если проследить формулу по вычислению, то можно заметить что все ее отдельные части вычисляются нормально, но общий результат выдает  #ЗНАЧ...

Хотелось бы чтобы формула работала так же гладко как и в Google. На основе ее делаю макрос который скачивает прайсы обрабатывает их и подготавливает для загрузки в 1С.

Ваши предложения? Я думаю тут либо что-то с формулой сделать чтобы она заработала, либо написать свою IFS для Excel, или же решить этот вопрос через код VBA ( как я понял так быстрее, что не мало важно при наличии гигантских прайсов.
Страницы: 1
Loading...