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

Страницы: 1 2 3 След.
хитро сломанный файл, уменьшилось количество доступных строк
 
добрый день

получил от коллег для возможного ремонта эксель файл. В файле перестали нажиматься кнопки макросов. Визуально то пропадали то появлялись. При нажатии вели себя как будто в режиме конструктора, а если нажимались то не отжимались. Также на листе правая полоса прокрутки прокручивалась до последней возможной строки (миллион с чем-то). Удаление пустых строк с переоткрытием файла не помогало от них избавиться.
Методом исключения начал искать проблему. Поудалял все макросы, все объекты с листа, обычные и условные форматирования, данные ячеек, связи. Даже пересохранил в другой формат (был xlsm). В итоге остался пустой файл с одним листом и максимальным количеством строк. И вот после удаления первого столбца получился лист в котором 1963 строки. Впервые в жизни такое вижу. Другие листы создаются нормальными.
Подскажите что его заставляет быть таким и как вернуть лист в норму?
Понимание необходимо для ремонта изначального файла (там много всего на листе и переносить вручную на вновь созданный лист затруднительно)
Подгонка одного значения из четырех для получения результата
 
есть 4 числа. Какие-то математические действия с первыми 3 из них приводят к получению 4го числа.
1е и 2е число во всех наборах одинаковые, а 3е меняется.
есть несколько таких наборов по 4 числа и в каждом из них одинаковая, неизвестная мне зависимость.
есть ли способ с помощью экселя, имея большое количество таких наборов, определить эту зависимость?

в файле примера в каждом столбце первые 3 числа (зелёные ячейки), 4е число - жёлтые ячейки.
Изменено: vikttur - 30.06.2021 00:55:03
Получение куков из уже залогиненного в Хроме сайта
 
Добрый день!

подскажите возможно ли получить значение куки из уже залогиненного в хроме сайта?

авторизоваться силами vba не вариант, т.к. происходит через госуслуги, очень заморочено. По итогу авторизации выдаётся токен. его значение можно легко увидеть по ссылке вида chrome://settings/cookies/detail?site=адрес_сайта. Можно было бы спарсить открывающуюся по этой ссылке страницу, но я не знаю как её открыть средствами VBA. с помощью WinHttp.WinHttpRequest.5.1 не получается.
не получается открыть и таким образом - CreateObject("WScript.Shell").Run "chrome://settings/cookies/detail?site=адрес_сайта"
можно было бы вытащить эту куку из файла с куками расположенного по C:\Users\username\AppData\Local\Google\Chrome\username\Default­\cookies, но там всё толи зашифровано, толи я с кодировкой разобраться не могу. в общем тоже не получается.

getAllResponseHeaders() не помогает, т.к. нет залогинивания, да и в респонсе нет куков. они только в реквесте
Кодировка бинарного вида файла
 
Добрый день!

для отправки файла с помощью post запроса перевожу его в текстовый вид функцией:
Код
Private Function File_Reader(ByVal file_path As String)
    With CreateObject("ADODB.Stream")
        .Charset = "utf-8"
        .Open
        .LoadFromFile (file_path)
        File_Reader = .ReadText()
    End With
End Function

получается такой текст:
Цитата
Іf%PDF-1.7
%????
1 0 obj
<</Type/Catalog/Pages 2
......

<</Filter/FlateDecode/Length 176>>
stream
x??N?
?@????w?

а нужно чтобы был вот такой:
Цитата
%PDF-1.7
%µµµµ
1 0 obj
<</Type/Catalog/Pages 2
......

<</Filter/FlateDecode/Length 176>>
stream
xœ­N»
ƒ@ìî¦Ô€w·>¸ÄÂG$!ACАÂÂ

сюда копирую текст и он уже по-другому выглядит..
если я правильно понимаю дело в кодировке?
как получить правильный вид, подскажите пожалуйста

во вложении  тот файл
Изменено: Максим - 27.01.2021 02:04:21
CDO.Message замораживает эксель, после использования CDO.Message эксель начинает вести себя странно до перезагрузки
 
Добрый день!

для отправки писем использую вот такой макрос:
Скрытый текст


после его срабатывания эксель начинает вести себя странно - экран как будто заморожен - кликаешь на ячейку - ничего не происходит (даже не выделяется). делаешь двойной (или даже тройной) клик - ячейка становится редактируемся, вводишь данные, нажимаешь энтер - визуально данные не обновляются. помогает перещёлкивание листов с одного на другой.

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

также при сохранении файла появляется окно "файл сохраняется" и само больше не исчезает. Заставить его исчезнуть можно только нажав "отмена". Файл при этом на самом деле сохраняется, но ощущение неопределённости очень неприятное)

в интернетах нашёл человека с такой же проблемой  вот тут и он её решил исключением из кода msgbox. Мне это не помогло
Изменено: Максим - 23.07.2020 14:07:52
открыть файл из VBA без обновления связей, открыть файл из VBA без обновления связей
 
Получаю объект:
Код
Dim objDWE As Object
objDWE = GetObject(strPTmp & "TempPas.xls")
Этот объект содержит связи и начинает их обновлять. Как этот запрос перехватить и не обновлять связи?

Такое есть в методе Open но мне это не подходит т.к. он может быть уже открыт, его нужно только получить.
Изменено: Максим - 26.05.2020 17:19:52
Найти максимальное значение, которое удовлетворяет двум условиям
 
добрый день!

у меня есть формула, которая с помощью суммпроизв сравнивает значения массивов (столбцов). для каждого массива задано своё условие. в предпоследнем действии расчёта получаются 3 массива
в последнем действии они перемножаются и складываются. Мне же нужно их только перемножить, получив массив из 3х значений {20;0;21}, и последним действием мне нужно получить максимальное значение из этих трёх (21)

похоже что я не к месту использую суммпроизв и нужно использовать какую-то другую функцию.

помогите пожалуйста.
Изменено: Максим - 01.07.2019 21:10:11
формула массива в VBA, расчёт значения без использования ячейки листа
 
добрый день!

у меня есть формула массива. Ценна тем, что работает с закрытой книгой.
результатом расчёта является число (не массив)

мне нужно использовать значение этой формулы в макросе. есть вот такая строка:
Код
Range("A30").FormulaArray =  "=INDEX([базы.xls]субьекты!R1C1:R214C2," & Chr(10) & "MAX(([базы.xls]субьекты!R2C4:R86C32=VALUE(LEFT(R[-1]C,3)))*ROW(R2C4:R86C32)),2)"

можно ли как-то обойтись без внесения значения в ячейку, а сразу присвоить его переменной?
что-то вроде:
Код
результат.FormulaArray = "=INDEX([базы.xls]субьекты!R1C1:R214C2," & Chr(10) & "MAX(([базы.xls]субьекты!R2C4:R86C32=VALUE(LEFT(R[-1]C,3)))*ROW(R2C4:R86C32)),2)"
Изменено: Максим - 20.06.2019 19:00:27
найти ячейки где есть апостроф, для преобразования в текстовый формат
 
Добрый день!

есть ячейки где применён апостроф " ' " для насильного преобразования числа в текст. При этом формат ячейки "Общий". Можно ли как-нибудь с помощью VBA определить такие ячейки?

пытался искать апостроф с помощь InStr - не находит.
.NumberFormat - как уже писал выше везде одинаковый Gentral
IsNumeric говорит что в таких ячейках числа
загрузка файла на сайт через форму с помощью VBA
 
добрый день!

мне необходимо автоматизировать действия на сайте. одним из этих действий является выгрузка файла с диска на сайт через форму на сайте.
вот сайт
вот как я делаю:
Код
Function GetIE() As Object
  For Each GetIE In CreateObject("Shell.Application").Windows() 'Loop to find
    If (Not GetIE Is Nothing) And GetIE.name = "Internet Explorer" Then Exit For 'Found!
  Next GetIE
  If GetIE Is Nothing Then Exit Function
  GetIE.Visible = True 'Make IE window visible
End Function

Sub upload()
 Dim myShell As Object
    Dim ie As Object
    Set ie = GetIE
    ie.Navigate ("https://xmltools.corefiling.com/miniSchemaValidate/index.jsp")
    Do: DoEvents: Loop While ie.Busy Or ie.ReadyState <> 4 

    Set ElementCol = .getElementsByTagName("input")
     For Each btnInput In ElementCol
        If btnInput.name = "schema" Then
'btnInput.Click
btnInput.Value = "C:\Users\file.txt"
Exit For
        End If
    Next btnInput
.....
end sub
проблема в строке
Код
btnInput.Value = "C:\Users\file.txt"
она не присваивае т значение. т.е. не работает.

если я вручную тыкаю в форму и выбираю файл в открывшемся диалоговом окне, то после этого
debug.print btnInput.Value показывает путь к файлу, но вот программно присвоить путь не получается.
Изменено: Максим - 24.05.2019 23:26:36
Добавить символ "*" к тексту
 
Добрый день!

помогите пожалуйста написать формулу. В ячейке, при определённом условии, появляется "да". Нужно чтобы это "да" выглядело как "да*"
использую такую формулу
Код
=ЕСЛИ(AO101="Отсутствует";"нет";ТЕКСТ("да";"@"&СИМВОЛ(42)))

с символом 41 - скобочка всё работает, появляется "да)". с символом звёздочки (42) ни в какую не хочет. выдаёт ошибку.

всё. сам разобрался )
вот работающая формула:
Код
=ЕСЛИ(AO101="Отсутствует";"нет";ТЕКСТ("да";"@"&"""*"""))

можно закрывать)
Изменено: Максим - 05.07.2017 15:38:31
копирование из закрытого файла с использованием ADODB
 
Добрый день!

помогите пожалуйста исправить функцию:
Скрытый текст

пример с проблемами прикрепляю
проблемы такие:
1. копируется диапазон начиная со второй строки. несмотря на то что указан диапазон "A1:af10000"
2. не могу понять как он задаёт типы данных. в каких-то случаях копирует как текст, в каких-то как число. из-за этого 2 проблемы - в столбцах где копирует как числа не отображается текст, в столбцах где копирует как текст числа сохраняются как текст.
Например весь стобец "F" копируется как текст, а столбец "E" сохраняется как числа, и в нём исчезают все текстовые значения, например прочерки.

хотелось бы чтобы он просто копировал содержимое диапазона в том же формате и не выдумывал...

заранее спасибо
Валидация xml средствами VBA
 
Добрый день!

может есть у кого-нибудь макрос который выполняет проверку соответствия xml файла xsd-схеме?
у меня xml формируется макросом и потом я его проверяю в онлайн приложении...не очень-то это удобно.
Изменено: Максим - 24.02.2016 19:10:17
конвертация нарисованной чёрточками таблицы в нормальную
 
Добрый день!

подскажите, существует ли способ сделать из прикреплённого примера нормальную таблицу?

это кусок действующего нормативного документа, содержимое которого кочует из редакции в редакцию, видимо, со времён когда его ещё на печатной машинке набирали
Функция Substring формулой
 
можно ли очень полезную пользовательскую функцию Substring написать формулой с штатными функциями без VBA?

спасибо

Код
Function Substring1(текст, разделитель, n) As String
Dim x As Variant

    x = Split(текст, разделитель)
    If n > 0 And n - 1 <= UBound(x) Then
        Substring1 = x(n - 1)
    Else
        Substring1 = ""
    End If

End Function
работа VLookup c закрытой книгой
 
Подскажите пожалуйста может ли работать VLookup с закрытой книгой? и если да, то что я делаю неправильно?


dd = WorksheetFunction.VLookup("значение", Workbooks("книга.xls").Sheets("Лист1").Range("a1:d100"), 2, False)

книга.xls закрыта


спасибо
Высота строк в ListBox
 
Добрый день!
подскажите можно ли как-нибудь изменить высоту строки в ListBox-е и сделать перенос по словам?

спасибо
Пользовательский формат ячейки, оставить запятую при дробном числе и убрать при целом
 
Добрый день!
подскажите пожалуйста можно ли прописать формат ячейки так, чтобы при вводе числа к нему дописывалось "ч.", при этом чтобы при вводе дробного числа оно указывалось до десятых, а при вводе целого числа дробная часть вообще не отображалась

при вводе "1,5" отобразилось "1,5ч."
при вводе "2" отобразилось "2ч."
пробовал как-то так: 0,#"ч." - не получилось. оставляет "," после целого числа

ps примерно представляю как это сделать с помощью условного форматирования, но хочется именно через формат ячейки

спасибо!
Изменено: Максим - 30.01.2015 21:43:30
Обойти ограничение элемента управления "счётчик" на минимальный шаг изменения
 
Добрый день!
подскажите пожалуйста как обойти ограничение элемента управления "счётчик" на минимальный шаг изменения 1?
мне нужно сделать счётчик секунд в ячейке, а по-умолчанию такой счётчик начинает "отматывать" дни
подозреваю что таким вопросом уже кто-то до меня точно задавался, но не смог придумать успешную формулировку для поиска в гугле и тут, на форуме.
и как пожелание - было бы круто, если бы была возможность настройки шага изменения в зависимости от продолжительности нажатия стрелки прокрутки - чем дольше жмёшь, тем больше шаг.
спасибо.
Изменено: Максим - 27.11.2014 00:48:48
дата последнего изменения внешнего файла
 
Добрый день!
подскажите пожалуйста возможно ли отобразить в ячейке дату последнего изменения внешнего файла (указав путь к этому файлу)?

спасибо
макрос скрытие/раскрытие по условию
 
Добрый день!
помогите пожалуйста исправить макрос, делает вот что:

на листе есть ячейки в которых при определённых условиях формулой пишется "скрыть".
Макрос перебирает все строки в рабочем диапазоне и проверяет их на скрытость:
Скрытый текст
макрос неправильно ищет (или не ищет вообще) в скрытых строках
заранее спасибо за помощь!
Код
Sub hide_unhide()
Dim ra As Range, unhidera As Range, hidera As Range
Application.ScreenUpdating = False

ТекстДляСкрытия = "скрыть"
For Each ra In ActiveSheet.UsedRange.Rows
'MsgBox ra.Row
If ra.EntireRow.Hidden = False Then 'если НЕскрыто, а "скрыть" ЕСТЬ
    If Not ra.Find(ТекстДляСкрытия, , xlValues, xlPart) Is Nothing Then
    If hidera Is Nothing Then Set hidera = ra Else Set hidera = Union(hidera, ra)
    End If
Else 'если СКРЫТО, а "скрыть" НЕТ
    If ra.Find(ТекстДляСкрытия, , LookIn:=xlFormulas) Is Nothing Then
        If unhidera Is Nothing Then Set unhidera = ra Else Set unhidera = Union(unhidera, ra)
    End If
End If
Next
If Not hidera Is Nothing Then hidera.EntireRow.Hidden = True
If Not unhidera Is Nothing Then unhidera.EntireRow.Hidden = False

Application.ScreenUpdating = True
ActiveSheet.Calculate

End Sub
Изменено: Максим - 08.11.2014 00:41:05
не отображается работа макроса
 
Добрый день!
у меня есть макрос который скрывает/раскрывает столбец листа с визуализацией..если можно так сказать - скрытие происходит посредством последовательного уменьшения ширины столбца, а раскрытие - посредством последовательного увеличения.
проблема в том, что на когда я его делал он работал на 2х компах одинаково нормально (офис 2010 и 2013), а сегодня заметил что на одном работает (на 2010), а на другом пропала "визуализация". Скрытие/раскрытие происходит, но как будто Application.ScreenUpdating = false, хотя это не так...
Подскажите пожалуйста в чём может быть причина?
Поиск в тексте совпадения части текста с базой
 
у меня есть формула которая ищет в тексте кусочки текста приведённые в отдельной базе (диапазоне ячеек). Результат формулы "истина" или "ложь". Можно ли как-то определить координаты ячейки в базе "кусочков"? В идеале нужны даже не её координаты, а значение ячейки находящейся в той же строке, в столбце А.

путано наверное объяснил....прикрепляю пример
заранее спасибо!
ps искомый кусочек может находиться в любой части текста
Изменено: Максим - 15.05.2014 19:37:04 (дополнил)
символьные и жёсткие ссылки на файл
 
добрый день!

хочу сделать вот что - переместить файл Excel.officeUI в дропбокс и сделать на него симлинк (или хардлинк). Повторить это процедуру на всех рабочих компах и получить один файл с настройками для всех офисов на компах. Но как я понял, хардлинки с офисом не дружат и разрываются при первом же сохранении файла. Симлинки вроде бы тоже, но если делать симлинк на всю папку то всё работает. Переносить целиком папку AppData\Local\Microsoft\Office не хочется.
скажите есть ли способ как-то подружить сим (или хард) линки с экселем?

спасибо
Найти позицию символа, не равного "-"
 
Добрый день!
такой вопрос - если в ПОИСКПОЗ в искомое значение вписать "*?", то он будет искать любое всё не равное "". Что нужно вписать чтобы он искал всё не равное "-"?

спасибо!
изменились все ссылки на макросы в надстройке
 
Добрый день!

опишу проблему:
есть надстройка которая запускается автоматически при открытии определённого файла. В надстройке хранятся макросы и пользовательские функции. Чтобы повесить макрос на кнопку в этом файле достаточно было вписать имя макроса (без указания пути к нему).
В один момент, при открытии файла (и всех его предыдущих копий) при нажатии ранее работающих кнопок пишет что по указанному пути на найден макрос (хотя надстройка установлена и работает как и раньше) и на кнопке прописан полный путь к макросу. такая же ерунда со всеми пользовательскими функциями. Чтобы всё заработало приходится для каждой кнопки переназначать макрос убирая полный путь и оставляя только имя макроса.

подскажите пожалуйста после чего могло такое произойти? и как вернуть всё не перетыкивая каждую кнопку ((

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

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


Имеется купленная программа на базе ворда. Необходимо сделать аналог на базе экселя.

По завершении работы будет необходимо потратить 2-3 часа (возможно меньше) на объяснение работы программы для дальнейшей самостоятельной корректировки и дополнений. Эта задача выполнима - я далеко не ас в программировании , но и не совсем дуб.

Бюджет 5000р, необходима личная встреча с исполнителем в СПб. Работа без предоплаты, оплата по завершении.

8981777ОО82, Максим
интерфейс экселя 2013
 
в 2010м экселе был такой прямоугольничек над стрелками прокрутки страницы, потянув за который можно было разделить экран. В 2013м такого прямоугольничка нет. Кто-нибудь знает можно ли его как-нибудь вернуть?
ПОИСК в формуле массива
 
возможно ли сделать формулу поиска в ячейке текста из вариантов, указанных в ячейках  
 
=ЕСЛИОШИБКА(ПОИСК(ИЛИ(B3:F3);A1);"отсутствует")  
 
формулой массива не получается, ругается на или
формула поиска в диапазоне и отображение найденной строки
 
Помогите пожалуйста!  
 
Нужна формула которая найдёт уникальное значение на листе и отобразит значение ячейки в найденной строке и первом столбце...в примере наверное понятнее  
 
заранее спасибо!
Страницы: 1 2 3 След.
Наверх