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

Страницы: 1 2 3 След.
Как на VBA открывая файл (формата mht) запретить Exel переделывать числа в даты?
 
Юрий М, Не серчайте, я без злого умысла, теперь понял, что надо было Имя вместо цитаты вставить ))
Как на VBA открывая файл (формата mht) запретить Exel переделывать числа в даты?
 
sokol92,  Спасибо!!! Это даже больше, чем я хотел!!! Если честно пока не нашел эту кнопку Параметры и судя по всему не из интернета, а из файла PDF буду импортить, изначально там был Pdf, но поиски привели меня к такому вот варианту с word и через mht, теперь буду пробовать напрямую )))
Изменено: CD_Zenit - 16.04.2023 19:37:18
Как на VBA открывая файл (формата mht) запретить Exel переделывать числа в даты?
 
Цитата
написал:
Прицепите архив. И расскажите как открываете.
Открываю как стандартное открытие файла (можно и вручную, только надо указать формат все файлы), файл с макросом тоже прицепил, изменённый элемент искать в 10 строке в конце...
Код
    Workbooks.Open Filename:= _
        "118-06-20  [Исакова А.В.] .mht"
Регулярное выражение для поиска всех форм записи возраста
 
Цитата
написал:
Если возраст меньше года, тогда 0 лет + N месяцев. Формула: =ячейка с месяцем / 12
Спасибо, я уже решил вопрос через проверку на наличие буквы "м" )), там к сожалению нет привязки к ячейке, сплошной текст, по ячейкам уже сам раскладываю и когда возраст меньше года, о том, что лет 0 естественно не указывается, в общем пришлось нагородить ооочень большую конструкцию, но в итоге все работает... вроде бы, погоняю еще на реальном материале тогда будет ясно точно )))
Как на VBA открывая файл (формата mht) запретить Exel переделывать числа в даты?
 
Блин, уже и системный разделитель на точку поменял, хоть и не совсем удобно, кое где помогло и все равно этот... УМНЫЙ (ну нет у меня уже цензурных слов) Exel, сперва при открытии меняет мне "5-6 лет" на "05.июнь лет", а потом при копировании, еще и переделывает это в "45082 лет", кто знает как победить сию напасть?
Файл который открываю, в формате mht (веб-страница одним файлом) не разрешает сюда прицепить...  
Регулярное выражение для поиска всех форм записи возраста
 
Всем привет, есть текст с указанием возраста, этот возраст может быть указан как десятичной дробью например 9,5 (9.5) лет или просто 9.5 так и в формате XX лет YY месяцев, а надо его представить десятичной дробью, страшную регулярку которая вытаскивает все формы записей я вроде бы составил (в файле), разбить не года и месяцы тоже не проблема, проблема начинается, когда возраст меньше года ((( на место лет встают месяцы и все мои построения улетают в трубу... может кто-то уже мучался с таким вопросом?
Как привязать элемент управления к формуле, а не к значению ячейки?
 
Цитата
написал:
если формулы длинные, то поместить их в имена и использовать
Оууу!!! Спасибо!! А можно про поместить формулу в имена поподробнее или где почитать?

P.s. Нашел )) как мне этого не хватало )))
Изменено: CD_Zenit - 13.04.2023 10:52:33
Как привязать элемент управления к формуле, а не к значению ячейки?
 
Цитата
написал:
формулу в виде текста? Эт можно. Вот  здесь  описано как.
Спасибо, я уже в принципе решил через VBA, а посмотрев по Вашей ссылке, только убедился в том, что да, vba это в самом деле не так уж и страшно  :D
Почитаю еще конечно, полезно запомнить, но это попозже, на свежую голову... )))  
Как привязать элемент управления к формуле, а не к значению ячейки?
 
Цитата
написал:
а может просто написать формулу через Если()?
Вот я это и пытаюсь сделать, вариант с VBA не очень (ну или я просто в нем еще меньше понимаю), но формулы которые надо менять одну на другую, они очень большие, а замену надо сделать в нескольких ячейках, вот и думаю как бы это извернуться, что бы из формулы, через =ЕСЛИМН($А$3=1;$D$4;$А$1=2;$D$6), ячейка А3 связана с переключателем, в D4 и D6 - подстановочные формулы и вот как бы так сделать, что бы вставить в диапазон расчета одну формулу и она в каждую строку подставила формулы соответственно положению переключателя...?
Как привязать элемент управления к формуле, а не к значению ячейки?
 
Добрый день, подскажите пожалуйста, как сослаться на формулу в ячейке, а не на ее результат, ну вот то есть, у меня две ячейки в формулами и переключатель меняющий еще одну ячейку с единицы на двойку, и вот как в рабочей ячейке можно менять формулу с одной на другую, в зависимости от положения переключателя?  
Изменено: CD_Zenit - 10.04.2023 12:19:20
Как вернуть параметры вставки по умолчанию???, Почему-то при копировании ячеек они стали вставляться напрочь склеенные в строку ((
 
Цитата
написал:
выставить его и применить один раз. Режим будет запомнен до следующего изменения.
Это пробовал, почему-то не помогало...  
Как вернуть параметры вставки по умолчанию???, Почему-то при копировании ячеек они стали вставляться напрочь склеенные в строку ((
 
Уфф, отбой тревоги, это какой то глючный глюк чтоб ему в дугу и через коромысло!!! Закрыл эксель перегрузил машину, открыл - вроде все работает норм...
Как вернуть параметры вставки по умолчанию???, Почему-то при копировании ячеек они стали вставляться напрочь склеенные в строку ((
 
Народ, у меня паника, блин, где я успел что-то сделать не так? Открываю файл, копирую из него данные, закрываю его не сохраняя, вставляю данные на другой лист и блин в каждой строке слипаются в одну... если запускать мастер импорта, он вместо деления по табуляциям показывает разделитель пробел и другое... как вернуть в режим с табуляцией?
Как на VBA отвязать открытую книгу, от сохраненного из нее текстового файла?
 
Цитата
написал:
Писал не коленке, не проверял. Но общий смысл должен быть понятен.
ВАХ!!! Какое простое решение!!!
Сперва не понял, что копию надо в новую книгу делать, потом понял и оно взлетело!!!
Вообще я ждал какой то магии с Unload или Nothing, честно не понимаю, что это, но... где-то попадалось на глаза, что оно рубит связи ))
Но так тоже хорошо, все работает - СПАСИБО!!!
Как на VBA отвязать открытую книгу, от сохраненного из нее текстового файла?
 
Цитата
написал:
Поподробнее сей момент можно?
Как-то так ))
Код
Sub ManualSaveFile()
   'Обьявляем переменные
   Dim CellValue As String
   Dim Path As String
   Dim FinalFileName As String
   
        Application.ScreenUpdating = False 'отключаем обновление экрана
          Application.DisplayAlerts = False ' Отключаем Алерт
           Application.Run "InsertPathName" ' Вставляем путь к файлу в ячейку
              'Получаем сведенья из ячейки
           CellValue = Лист1.Cells(1, 1)
                Path = Left(CellValue, Len(CellValue) - 3)
           'Формируем путь и имя файла
                FinalFileName = Path & "txt"
            ActiveWorkbook.SaveAs Filename:=FinalFileName, _
                              FileFormat:=xlText  'Сохраняем файл, этот файл потом пытаемся открыть в Ворде и Ворд ругается.
            ActiveWorkbook.SaveAs Filename:="C:\Stat\Bionica\Exsport.xlsm", FileFormat _
                :=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False ' Этот файл сейчас приходиться сохранять, что бы Ворд не ругался...
          Application.DisplayAlerts = True 'Включаем алерт
        Application.ScreenUpdating = True 'включаем обновление экрана
End Sub
Как на VBA отвязать открытую книгу, от сохраненного из нее текстового файла?
 
Всем привет, вопрос наверное тривиальный, но поиск приводит к сотням сообщений о работе с файлами по сети (((
У меня все локально, из Exsel сохранил текст, пробую открыть его в Ворд, тот естественно ругается и говорит, что файл занят. Можно ли как то при сохранении, средствами VBA разорвать связь книги и этого файла?  
Макрос для перебора подпапок для Word...?, Подскажите аналогичный ЖИВОЙ ресурс по Word, ну или может кто по сути подскажет решение...
 
Всем привет, понимаю, что вопрос не профильный, но... тут курилка все же, пару вопросов по ворду видел. Суть вопроса, собрал себе кракозябру - перебирает все файлы в папке (в данном случае pdf файлы), открывая их, чего-то делая с ними и сохраняя, так вот, может кто подскажет вариант перебирающий не только указанную папку, но и все подпапки, ну как пример есть главная папке, там папки по годам и далее по месяцам и вот это все перебрать надо...

P.s. Еще вопрос, почему при открытии документа в скрытом режиме, что бы не моргал экраном (отключение обновления экрана - не помогает), он перестает выполнять вложенный макрос?  
Прошу прокомментировать код вызова внешней процедуры., Помогите пожалуйста разобраться в работе макроса
 
Цитата
Юрий М написал:
Вы просили прокомментировать код - я это сделал. А сейчас мы уходим от темы.
Спасибо за Ваше терпение, я попробую переварить все сказанное )))  
Прошу прокомментировать код вызова внешней процедуры., Помогите пожалуйста разобраться в работе макроса
 
Наверное суть моего "ступора" в данном случае именно в том, что я никак не пойму, где именно прописываться вот это условие, что, в данном случае, i - это счетчик шагов цикла, это непременное условие использования параметра For? То есть его использование автоматически влечет необходимость объявления i и использует это i в качестве счетчика? А для другой операции (не цикла), это же самое i, даже определенное тоже как  Long может быть уже чем то другим, а не счетчиком шагов?
Прошу прокомментировать код вызова внешней процедуры., Помогите пожалуйста разобраться в работе макроса
 
Спасибо и еще, я правильно понял, что первое выражение, когда задается тип переменной i, как длинное целое число, служит для определения условия по умолчанию? В данном случае i это любой шаг нашего макроса или именно шаг цикла? Или это шаг какой-либо процедуры внутри макроса, частным случаем которой является цикл определяемый выражением "For", а инструкция для каждого шага прописывается в след строке после определения количества шагов в процедуре и завершается командой "Next i"?

P.s. Еще раз прошу прощения за флуд, но вот сейчас в очередной раз залез в руководство и... воз и ныне там, смотрю в книгу - вижу ..., слова знакомые, а смысл фраз в которые они складываются имеет вид одного характерного жеста...
Прошу прокомментировать код вызова внешней процедуры., Помогите пожалуйста разобраться в работе макроса
 
Цитата
Юрий М написал:
For i = 1 To [C16].Value 'Цикл от 1 до значения в ячейке С16
То есть "For" это в данном случае Цикл? Или обозначением цикла является выражение "For i" ?
Прошу прокомментировать код вызова внешней процедуры., Помогите пожалуйста разобраться в работе макроса
 
Добрый день, понимаю что вопрос из ряда вон, но все же - сколько ни пробовал читать руководства по VBA, но логика принципов от моего понимания ускользает напроч, кому не сложно - поясните пожалуйста по шагам, что именно обозначает каждая строка макроса, благо он не велик, макрос такой:
Код
Sub Синхро()
' Синхронизация

   Dim i As Long
   If IsNumeric([C16].Value) Then
       For i = 1 To [C16].Value
           Application.Run "Добавить"
       Next i
   End If
End Sub
По факту, задача макроса - уровнять значения в ячейках [С15] (получено как подсчет значений столбика A) и [D15] (подсчет значений столбика B), фигурирующая в макросе [C16], это разность между C15 и D15, макрос "Добавить" - добавляет значение (единицу) в столбик B, то есть по сути он должен запускаться пока значения не сравняются, ну или пока [C16], не будет равно нулю. Пожалуйста поясните ГДЕ именно в макросе "Синхро" команда определяющая это условие или к чему привязана эта в упор не понятная мне i, то ли проверяет она [C16], то ли сама ею является...  :cry:  
Откуда взялся излишек?
 
Всем большое спасибо, как я понимаю, ответ все же в комментарии vikttur... , Hugo спасибо за замечание, в самом деле - эта мелкая зараза не всегда отображаеться, но тем не менее присутствует... все-таки попробую написать формулу, а потом сравню результаты ее работы с результатами конвертера координат, думаю всетаки подобная мелочь на сотых долях секунды не скажется. Еще раз всем спасибо.
Изменено: CD_Zenit - 12.12.2019 18:58:51
Откуда взялся излишек?
 
Добрый день

пытаюсь построить формулу корректно конвертирующую географические координаты из формата градусы с десятичными долями в формат градусы/минуты/секунды с десятичными долями, когда использую формулу [=I23-ОТБР(I23)] дробная часть числа отображается корректно, а когда добавляю туда значок градуса [=(I23-ОТБР(I23))&"°"] результат получается вот такой 0,566836000000002°

вот у меня и вопрос - откуда взялись это 2 хз каких...???
Как отвязать UBitMenu от Exel 2003?
 
Добрый день, товарищи

может сталкивался кто, установил новый офис с надстройкой UBitMenu, пользуюсь им не часто, но обходиться без этой панельки грустно, однако при открытии нормального Exel эта программа тоже пытается активироваться и выдает страницу абракадабры, видеть ее при каждом запуске не особо хочется, что нужно изменить, что бы она запускалась только при работе нового Exel?  
Как добавить команду остановки макроса по условию?
 
Цитата
vikttur написал:
Создайте тему ПО ЗАДАЧЕ. В этой теме ответы даны.
К сожалению vba за пределами записей ридера, для меня лишь чуть проще китайской грамоты, 2.08 создавал тему и там мне предложили такой вариант решения, для аналогичного случая, там он работает, а здесь почему то нет, хотя разницы в исходных я не вижу, но видимо она есть...
Еще раз большое спасибо, сейчас попробую Ваш вариант прикрутить к предыдущему случаю, возможно он будет работать быстрее.
Как добавить команду остановки макроса по условию?
 
СПАСИБО огромное ))) теперь работает!
Пошел разбираться, что за зверь такой: Select Case True )))
Как добавить команду остановки макроса по условию?
 
Цитата
vikttur написал: Зачем  Do/Loop?
Из того что я понял ранее, именно он задает цикл по условию, пока А не будет равняться B вспомогательный макрос1 срабатывает раз за разом наращивая B

Попробовал так, спотыкается на первом Else
Код
Sub Синхро()
    Dim A As Double
    Dim B As Double
    Dim i As Long
    Dim bExit As Boolean
     
    Do
     
        A = Range("C1").Value
        B = Range("D1").Value
        
        If A = B Then Exit Sub
        Else
            If A > B Then
                For i = B + 1 To A Step 1
                Макрос1
                Next
            ElseIf A < B Then
                For i = A + 1 To B Step 1
                Очистить
                Next
            Else
                bExit = True
            End If
        bExit = True
        End If
         
        If bExit Then Exit Do
    Loop
End Sub
Изменено: CD_Zenit - 10.11.2019 16:57:55
Как добавить команду остановки макроса по условию?
 
К сожалению макрос зависает как и раньше...
Как добавить команду остановки макроса по условию?
 
Цикл Do ... Loop,
условие остановки: A = B
Код
Sub Синхро()
    Dim A As Double
    Dim B As Double
    Dim i As Long
    Dim bExit As Boolean
     
    Do
        A = Range("C1").Value
        B = Range("D1").Value
     
        If A > B Then
            For i = B + 1 To A Step 1
                Макрос1
            Next
        ElseIf A < B Then
            For i = A + 1 To B Step 1
                Очистить
            Next
        Else
            bExit = True
        End If
         
        If bExit Then Exit Do
    Loop
End Sub
Изменено: CD_Zenit - 10.11.2019 16:08:24
Страницы: 1 2 3 След.
Наверх