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

Страницы: 1 2 3 4 5 6 7 След.
Почему при новом поиске в VBA возникает ошибка, поиск значения, VBA
 
Спасибо всем!
желаю всем счастья
Почему при новом поиске в VBA возникает ошибка, поиск значения, VBA
 
Здравствуйте!
В коде макроса рядом идут две строки поиска значений на листе
Код
Set total_with_dev = sheet.UsedRange.Find(What:="Итого с оборудованием", LookIn:=xlValues, LookAt:=xlPart).Offset(0, 1)
Set total = sheet.UsedRange.Find(What:="ВСЕГО по смете", LookIn:=xlValues, LookAt:=xlPart).Offset(0, 1)

При отладке видно, что первый поиск проходит успешно, а когда программа переходит ко второму, то вываливается сообщение:
Цитата
Object variable or With block variable not set
Почему это происходит?
Изменено: Борис - 30.01.2023 17:13:15
желаю всем счастья
Убрать оповещение перед сохранением книги
 
Добавил
Application.DisplayAlerts = False
в свою процедуру. Полёт нормальный
желаю всем счастья
Убрать оповещение перед сохранением книги
 
Здравствуйте!
Я использую макрос, который берет папку с файлами и каждый в ней как-то обрабатывает.
Скрытый текст

Перед закрытием с сохранением каждого файла вылетает это самое сообщение:
Цитата
Будьте внимательны! в документе могут быть персональные данные, которые невозможно удалить с помощью инспектора документов.
Из предложенных здесь скриптов подавления сообщения у меня ничего не заработало. Подскажите, пожалуйста, что и куда надо дописать для этого.
желаю всем счастья
Как узнать причину запуска восстановления файла?, автовосстановление Excel
 
Здравия желаю! Сейчас трудно сказать, но было не менее 6 знаков после запятой, стало 2
желаю всем счастья
Как узнать причину запуска восстановления файла?, автовосстановление Excel
 
Оказывается были числа со слишком большим числом разрядов после запятой.
желаю всем счастья
Как узнать причину запуска восстановления файла?, автовосстановление Excel
 
Здравствуйте!

Файл xlsx подготавливается с помощью файла rdl программы Report Builder от Microsoft. Когда ты его получаешь и пытаешься открыть, Excel сразу предлагает восстановить файл. Можно ли как-то узнать, что не нравится Excel в файле с тем, чтобы это попытаться исправить в генераторе отчета?
желаю всем счастья
Файл после сохранения под другим именем открывается во много раз быстрее
 
Здравствуйте!
Немного прояснилось, но не до конца. Подопытный эксель файл формируется логикой, заложенной .rdl файлом, который можно редактировать, например, в Report Builder-е. Результирующий эксель файл содержит две табличные области. Первая - самая большая таблица с данными из порядка 70 столбцов и 190 тыс. строк. Вторая - маленькая таблица итогов(примерно 3x11 ячеек). Все данные на единственном листе стоят как значения, условного форматирования нет.
И если в rdl файле удалить вторую таблицу, то сгенерированный файл открывается довольно быстро. Такое ощущение, что это связано с грандиозным объединением ячеек, которое создается благодаря наложению табличных областей, показанному на скриншоте:

При этом простое сохранение в Excel уже открытого файла с двумя табличными областями в следующий раз обеспечивает быстрое открытие, хотя объединение ячеек, созданное наложением табличных областей остается.
Может у вас есть идеи о причине тормозов в открытии файла в свете всего сказанного? Report Builder использует глючный алгоритм описания объединения ячеек, который заставляет офис спотыкаться при чтении?..
желаю всем счастья
Файл после сохранения под другим именем открывается во много раз быстрее
 
sokol92, файл составляется сторонней программой и надо помочь программистам понять, почему он так долго открывается Экселем. Простое сохранение после открытия уже делает открывание более быстрым в последующие разы, но это не вариант ждать час, чтобы потом пользователям вручную сохранять файл. Может надо искать причину в скрытой разметке,метаданных. Только вот в каких?
желаю всем счастья
Файл после сохранения под другим именем открывается во много раз быстрее
 
БМВ, такая петрушка происходит у всех пользователей, кто открывает файл у себя на своем компе. Я даже попробовал запустить его на домашнем без антивируса, тоже долго открывается. Переименовка не помогает.
Может дела в какой-то мета информации?
Вот содержимое workbook.xml, зашитого в этом xlsx файле:
Скрытый текст
Изменено: borro - 02.12.2020 17:58:31
желаю всем счастья
Файл после сохранения под другим именем открывается во много раз быстрее
 
Здравствуйте!
Есть файл .xlsx размером около 60 МБ, который после простого сохранения под другим именем, но с тем же расширением, открывается раз в 8 быстрее.
Как можно понять, отчего изначальный файл так долго открывается?
желаю всем счастья
Как в VBA взять значение ячейки в числовом виде, а не в экспоненциальном?
 
sokol92, спасибо. Вы наверно один нуль лишним написали после запятой?
желаю всем счастья
Как в VBA взять значение ячейки в числовом виде, а не в экспоненциальном?
 
sokol92, спасибо. Я (вроде) не использую вычисления, просто пытаюсь добавить значение ячейки в строковую переменную
желаю всем счастья
Как в VBA взять значение ячейки в числовом виде, а не в экспоненциальном?
 
Андрей_26, я добавляю это значение к строке вот так:
Код
St = St & ", '" & Replace(ActiveSheet.Cells(i, j).Value, "'", "''") & "'"
желаю всем счастья
Как в VBA взять значение ячейки в числовом виде, а не в экспоненциальном?
 
Здравствуйте!

В скрипте VBA обращаюсь к значению ячейки с помощью конструкции  типа Cells(i,j).Value
Через лист Эксель видно, что в некой ячейке стоит значение 0,0499999999999545. Когда же проверяю её значение через Cells(i,j).Value в отладчике, то вижу значение 4,99999999999545E-02, то есть в экспоненциальном представлении. Как заставить VBA взять значение в первом формате, который показан на листе Эксель? Кстати до обращения к значению ячейки я сделал ее формат General.
Изменено: borro - 03.03.2020 12:27:05
желаю всем счастья
Как объединить строки SQL в одну строку правильно для запуска из VBA?
 
Андрей Лящук, спасибо, попробую
желаю всем счастья
Как объединить строки SQL в одну строку правильно для запуска из VBA?
 
Здравствуйте!

В VBA скрипте макроса использую ADODB для выполнения запросов к БД.
Есть SQL скрипт, который успешно запускается в MS SQL Server Management Studio
Код
declare @div int, @period int
set @div = null
select   @period = 202001

SELECT EMR.LINK, EMR.D_Date, FC.LINK F_Charges, fcd.F_Registr_Pts
INTO #EMR1
   FROM ee.FD_Paysheets FC
   INNER JOIN ee.FVT_Paysheets_Details FCD
      ON  FC.LINK = FCD.F_Paysheets
      AND FC.N_Period = @PERIOD
   INNER JOIN SD_Divisions SD
      ON  SD.LINK = FC.F_Division
      AND (SD.LINK = 5 OR SD.F_Division = 5)
      AND (fc.F_Division = @div or @div is null)
   INNER JOIN ED_Meter_Readings EMR
      ON  EMR.LINK = FCD.F_Meter_Readings

Как его сконкатенировать правильно, чтобы он исполнился как единое целое из VBA?
Обычный ConnectionString.Execute "Select 1 as a" выполнить просто. А вот много строчный скрипт с объявлением параметров, созданием временных таблиц и их последующим удалением как исполнить. Ведь если я запущу отдельный Execute для объявления параметра, а в следующем Execute помяну ранее созданные параметр,SQL Server меня не поймет...
желаю всем счастья
Есть ли более быстрый метод импортировать данные листа Эксель во временную таблицу MS SQL Server с помощью VBA?
 
Спасибо. Не знаю... У меня есть пользователь, которому максимум что доступно это Excel и возможность исполнить скрипт VBA этого файла. И ему нужно импортировать данные в БД
Изменено: borro - 27.02.2020 18:42:12
желаю всем счастья
Есть ли более быстрый метод импортировать данные листа Эксель во временную таблицу MS SQL Server с помощью VBA?
 
Здравствуйте!

Я импортирую данные листа Эксель во временную таблицу MS SQL Server с помощью того, что в цикле бегаю по таблице данных, конкатенируя их в строку запроса вида
SELECT 1 as a, 2 as b INTO #temp
UNION SELECT 2 as a, 4 as b
....
UNION SELECT 4 as a, 2 as b

На 55 тыс строк данных VBA зависает.

Есть ли в VBA команда, которая проимпортирует весь лист Эксель зараз во временную таблицу?
Изменено: borro - 27.02.2020 17:08:05
желаю всем счастья
Как детектировать экспоненциальную запись значения в ячейке?
 
Здравствуйте!

В приложенном файле приведен пример значения, которое записано в экспоненциальном представлении. Какой формулой можно детектировать, что это экспоненциальное представление значения?  Например функция Ячейка("формат") не возвращает для ячейки S2, видимо потому что формат Общий.
желаю всем счастья
При подтягивания через ВПР даты смещаются в будущее
 
Спасибо, помогло
желаю всем счастья
При подтягивания через ВПР даты смещаются в будущее
 
Здравствуйте!

Столкнулся с тем, что если в приложенный файл подтягиваю даты по ключу в первом столбце через функцию ВПР, то даты вставляются такими как в файле исходнике, но плюс 4 года и 1 день. С чем это может быть связано?
желаю всем счастья
Как проверить наличие директории не сбивая функцию Dir?
 
Всем спасибо! Взял вариант RAN
желаю всем счастья
Как проверить наличие директории не сбивая функцию Dir?
 
Здравствуйте!

На VBA в цикле открываю файлы выбираемой папки, используя функцию Dir. В этом же цикле периодически надо создавать несуществующие директории, для чего предварительно проверяю их наличие той же Dir. В результате после проверки в конце цикла, когда пытаюсь взять следующий файл, возникает ошибка, как понимаю из-а того, что вызывал функцию Dir с другими параметрами для проверки наличия директории.

Как проверить наличие директории, не нарушив последовательность выбора файлов из директории?

Вот код всей процедуры:
Код
Sub arrange_in_folders()
    Dim File, Path, FileContent, region As String
    Dim objFileSys As Object
    Dim i, j As Integer
    
    'выбираем папку с файлами-источниками информации
    With Application.FileDialog(msoFileDialogFolderPicker)
        .ButtonName = "OK"
        .Title = "Выберите папку, содержащую файлы"
        If .Show = 0 Then
            Exit Sub
        End If
        Path = .SelectedItems(1)
    End With
    
    File = Dir(PathName:=Path + "\*.xml")
    
    Set objFileSys = CreateObject("Scripting.FileSystemObject")
    
    Do Until File = "" 'пока не закончатся файлы
        FileContent = objFileSys.OpenTextFile(Path + "\" + File).ReadAll
        i = InStr(1, FileContent, "<RegionId>")
        j = InStr(1, FileContent, "</RegionId>")
        If InStr(1, FileContent, "<RegionId>") Then
            region = Mid(FileContent, i + 10, j - i - 10)
            If Dir(Path + "\" + region, vbDirectory) = "" Then MkDir Path + "\" + region
        End If
        File = Dir
    Loop

    Set File = Nothing
    Set Path = Nothing
    Set FileContent = Nothing
End Sub
Изменено: borro - 18.11.2019 15:14:57
желаю всем счастья
Почему не известен тип данных
 
Скрипт планируется запускать и на других компах. Может я выбрал слишком уникальный метод поиска информации в xml и лучше выбрать другой?
желаю всем счастья
Почему не известен тип данных
 
Здравствуйте!

Начал в персональной книге макросов писать код процедуры, которая должна производить в указанной папке поиск по содержимому больших(до 12 МБ) xml файлов значения определенного атрибута с именем Region. Взял с другого форума код и компилятор споткнулся на первой же строке:
Код
Dim Node2 As IXMLDOMNodeList
сообщением User-defined type is not defined. Excel 2016

Как исправить, подскажите, пожалуйста
Изменено: borro - 18.11.2019 10:26:50
желаю всем счастья
Как заставить эксель считать, что в ячейке значение одно, но отображалось бы другое
 
Спасибо!
желаю всем счастья
Как заставить эксель считать, что в ячейке значение одно, но отображалось бы другое
 
msi2102, да. Поясните, пожалуйста, чем вы это сделали
желаю всем счастья
Как заставить эксель считать, что в ячейке значение одно, но отображалось бы другое
 
Mershik, то есть создать макрос, реагирующий на изменение значения в ячейке?
желаю всем счастья
Как заставить эксель считать, что в ячейке значение одно, но отображалось бы другое
 
Здравствуйте!

Скажите, можно сделать в Экселе так, чтобы после ввода в ячейку значения, все формулы, в которых  участвует эта ячейка, считали что в ней то, что введено, но сама ячейка отображала бы какой-то текст, зависящий от того, что было введено в ячейку.
Например ввели 1 - в ячейке отображается текст "Su", 2 - "Ma" и т.п.
желаю всем счастья
Страницы: 1 2 3 4 5 6 7 След.
Наверх