Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 380 След.
Как из активной книги EXCEL открыть WORD документ
 
из всех заданных вопросов Вы решили выбрать только один? :)
Цитата
mazersw написал:
вроде ошибок нет
значит где-то в начале кода есть On Error Resume Next, который не отключен и работает до конца кода.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сводная таблица: не хватает ресурсов при формировании макросом, А если сводную делать вручную, то всё ОК
 
Цитата
tolikt написал:
Excel 2010 32bi
в этом проблема. У него ограничение на ресурсы в 2 Гб, а из VBA вообще в два раза меньше - 1Гб(если мне не изменяет память).
Ставьте 64-битную версию офиса и проблема скорее всего исчезнет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как из активной книги EXCEL открыть WORD документ
 
Цитата
mazersw написал:
не воспринимает ActiveWorkbook.Path
все он воспринимает. Посмотрите для начала что там вообще записано.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
открыть макросом xml файл в блокноте
 
Цитата
assedo написал:
может создавать xml файл в UTF-8 со спецификацией
ничего не понятно. Так надо очистить или создавать? Определитесь, что ли для начала... Предложенный мной код перезаписывает содержимое файла, но кодировка там ANSII, насколько мне известно. Для UTF-8 надо применять другие методы. Но надо для начала как минимум понять всю задачу, а не по частям, как она началась. Что за спецификая еще выплыла? Может Вы чего-то нам не договариваете? Может надо вообще библиотеки для работы XML использовать?
Цитата
assedo написал:
как и многие другие страждущие
это какие? Что-то не вижу вала мечтающих о такой же хотелке  :D  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос копирования файлов из одной папки в другую с заменой файлов
 
Цитата
mazersw написал:
не пойму где ошибка?
как всегда там, где накосячили:
s_sourse_dir = ActiveWorkbook.Path & "\Проект.txt"
это что? правильно, путь к файлу. А почему тогда проверяете на наличие папку?
Цитата
mazersw написал:
If Not FSO.FolderExists(s_sourse_dir) Then
да, забыл. Далее тот же косяк(а то вдруг не поймете). Копировать надо файлы, а копируете почему-то папку:
FSO.CopyFolder
Изменено: Дмитрий(The_Prist) Щербаков - 29 окт 2020 16:15:32
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос, который вытаскивает определенные значения из других Excel файлов
 
Цитата
matvei написал:
или тыкнет в тему на форуме/ролик на ютубе, где разжёвано
Просмотреть все файлы в папке
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Платный Microsoft 365 personal per month. Вчера некоторые вкладки стали английскими, а сегодня все функции (СУММ, ВПР, ...)
 
Цитата
Бахтиёр написал:
поменял канал на Бета-канал
фу-фу-фу...
Меня эта дрянь как-то раз сильно подвела - приехал тренинг проводить, а там так все обновилось, что ни в учетку зайти, ни изменения в файлах сделать. Пришлось через он-лайн офис все делать, что вообще не удобно. Потом все же зашел, все заработало но...Половина функций просто безбожно глючила.
С тех пор я эту каку даже из-за новых плюшек не хочу. Лучше подожду стабильной версии.
Цитата
Бахтиёр написал:
Если Microsoft выпустило что-то новое в бета-версии, мне придёт на почту письмо с просьбой попробовать это
нет. Оно обновится без объявления войны со всеми багами. При этом, подключаясь по этому каналу Вы сами соглашаетесь все эти баги наблюдать и при необходимости и желании информировать об этом Microsoft. Вот так вот.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос копирования таблицы и вставки в письмо как картинки
 
Цитата
Breathe of fate написал:
То есть копипаст, но в письмо должно вставляться картинкой
вот на том же сайте, откуда взяли код можно подсмотреть и как создать картинку из диапазона и как потом вставить в письмо эту картинку:
Как сохранить картинки из листа Excel в картинки JPG
Отправить письма через Outlook с картинкой в теле письма
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
открыть макросом xml файл в блокноте
 
Да проще просто открыть этот файл для записи и все: Файловые функции VBA
Метод Open ... Output все сделает без проблем.
Код
    Dim s As String, rc As Range
    Dim ff
    'запоминаем все значения диапазона в строку
    For Each rc In Range("A1:A30")
        If s = "" Then
            s = rc.Value
        Else 'если уже записано - добавляем в новую строку
            s = s & vbNewLine & rc.Value
        End If
    Next
    ff = FreeFile
    'Открываем файл
    'если файла нет - он будет создан, если есть - перезаписано его содержимое
    Open "C:\Users\User\Desktop\file.xml" For Output As #ff
    'записываем значение строки в файл
    Print #ff, s
    Close #ff ' Закрываем файл
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Можно ли на макрос назначить несколько сочетаний клавиш?
 
Цитата
Yehor Movchan написал:
на один и тот же макрос назначить несколько сочетаний клавиш
смотрите в сторону Application.OnKey
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как заменить текст сразу в нескольких документах Word/Excel
 
Тимофеев, ответ-то прост: обходить ошибку нужно тем способом, который Вы сможете реализовать. И что при этом будет удобнее или проще решать тоже Вам.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как заменить текст сразу в нескольких документах Word/Excel
 
Тимофеев, да, более 255 символов не допускается(ограничение самого Word). Решение в статье хоть и готовое, но не коммерческое со всеми возможными плюшками. Для более сложных задач однозначно надо дорабатывать.
Изменено: Дмитрий(The_Prist) Щербаков - 28 окт 2020 15:29:23
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Рандомно задавать фильтр
 
Цитата
БМВ написал:
все равно обновить придется или руками или макросом
да, я не говорил обратного. поэтому у меня и написано "наверное". Ведь конкретной задачи и всех условий не обозначено...Да и в любом случае для сводной это не вариант :)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как заменить текст сразу в нескольких документах Word/Excel
 
Цитата
Тимофеев написал:
то в Шаблоне Word данная строка удалялась?
пропишите это в условиях... Удаление строки таблицы без проблем записывает макрорекордером Word:
Код
tbl.Rows(1).Delete
а вот определить, что метка именно в таблице - это уже другой вопрос. Надо в этом случае сначала ИСКАТЬ нужный текст, потом определять где именно его нашли(в таблице или нет) и уже после этого делать вывод о необходимости удалять строку.
Но что по мне - проще заложить в код изначально проверку наличия текст для нужной закладки и просто проверять: если там пусто, статично удаляем лишнюю строку из таблицы.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Рандомно задавать фильтр
 
Для сводной вообще без вариантов. если бы это была простая таблица - можно было бы Расширенный фильтр использовать, наверное.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как заменить текст сразу в нескольких документах Word/Excel
 
Как из Excel обратиться к другому приложению
там есть и основной код обращения к Word из Excel, и пояснения, а даже практический пример замен в документах Word. Изучайте, адаптируйте под себя. Если не получится и совсем не хватает знаний - возможно, имеет смысл обратиться в раздел платных заказов...
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
HB
 
Андрей VG, я вообще припозднился, как всегда  :D  Но и от меня поздравления от всей души! Не болеть, не грустнеть и ни в коем случае не терять ясность ума!
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Отправка данных по почте - макрос
 
Цитата
Dion4 написал:
Просто значения
и как их надо вложить? Опять же - в виде таблицы вряд ли получится. Можно просто всех их объединить через, скажем, точку-с-запятой:
Код
Dim msgLink As String, sTxt As String, x
For Each x In Worksheets("Sheet1").Range("A1:D2").Value
    If sTxt = "" Then
        sTxt = x
    Else
        sTxt = sTxt & "; " & x
    End If
Next
msgLink = "mailto:" & "mail.com" & "?" & "?subject=" & "Hello" & "&Body=" & sTxt
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Отправка данных по почте - макрос
 
Вообще для оформления кодов здесь используется кнопочка <...>, а не кнопка цитаты :)
Цитата
Dion4 написал:
данных из диапазона
и в каком виде? просто значения или реальная таблица? Если второе - то в том виде, какой у Вас без вариантов. Такие вещи делаются отдельными кодами отправки.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Показать панель запросов Power Query при открытии книги, VBA (Visible=True)
 
Цитата
sokol92 написал:
скорее всего, и без задержек
на деле, при старте OnTime используется для того, чтобы выждать пока все внутренние процессы Excel прогрузятся. И поэтому да, можно даже не указывать размер задержки - запуск сработает как только Excel сможет нормально отвечать на события.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Взять данные из одного файла, и подставить в другой, формулой
 
Цитата
DJMC написал:
$A$2:$A$3105; - интервал
так здесь разве не диапазон из другой книги должен быть? или что Вам получить-то надо?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Изменение форматов НЕ защищенных ячеек на защищенном листе
 
Цитата
DNC написал:
при установке защиты поставить галку на пункте "Форматирование ячеек",но тогда и на защищенных ячейках появляется возможность изменения форматов
а Вы запретите выделять защищенные и тогда не будет возможности поменять им формат  ;)  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Отправка графиков из таблицы на Email
 
Илья Донец, Вы сами понимаете как звучит Ваш вопрос? У Вас что-то там есть. Из этого надо что-то сделать еще и отправить. Да, это можно сделать. И темы такие были и в интернете можно это поискать. Все, больше по такому описанию предлагать нечего, т.к. нет никакой конкретики. Приложите пример данных, покажите желаемый результат, напишите что уже пробовали делать и что не получается. С радостью поможем. А пока можно только троллить...Хотя нет, можно подкинуть ссылочку для примера:
Как отправить письмо из Excel?
А вот здесь вообще можно взять готовый код(тот, который самый первый идет - через SendKeys):
Вставить в письмо Outlook таблицу Excel с форматированием
такой подход и для графиков подойдет.

Ну а создание нужных графиков при этом можно записать макрорекордером - получится готовый код.
Изменено: Дмитрий(The_Prist) Щербаков - 27 окт 2020 08:46:12
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Копирование модуля в "ЭтаКнига"
 
Цитата
Sniaper написал:
хочу скопировать модуль3 на место "ЭтаКнига".
см. выше - дополнил сообщение чуть измененным кодом.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Копирование модуля в "ЭтаКнига"
 
А что и куда Вы копируете? Где та строка, которая показывает копировать код в модуль ЭтаКнига?
Если же Вы хотите из стандартного модуля скопировать код в ЭтаКнига - изучайте код CopyVBComponent(я там вполне подробные комментарии оставил). Там есть блок, отвечающий за копирование строк кодов в модулях листов и книг.
По сути Вам нужен этот блок:
Код
If objVBComp.Type = 100 Then
.....
End If
вот, т.к. функция моя - легкая доработка и все работает:
Код
'---------------------------------------------------------------------------------------
' Procedure : CopyVBComponent
' DateTime  : 02.08.2013 23:10
' Author    : The_Prist(Щербаков Дмитрий)
'             http://www.excel-vba.ru
' Purpose   : Функция копирует компонент из одной книги в другую.
'             Возвращает True, если копирование прошло удачно
'             False - если компонент не удалось скопировать
'
' wbFromFrom             Книга, компонент из VBA-проекта которой необходимо копировать
'
' wbFromTo               Книга, в VBA-проект которой необходимо копировать компонент
'
' sModuleName            Имя модуля, который необходимо копировать.
'
' sModuleToName          Имя модуля, в который необходимо копировать.
'
' bOverwriteExistModule  Если True или 1, то при наличии в конечной книге
'                        компонента с именем sModuleName - он будет удален,
'                        а вместо него импортирован копируемый.
'                        Если False, то при наличии в конечной книге
'                        компонента с именем sModuleName функция вернет False,
'                        а сам компонент не будет скопирован.
'---------------------------------------------------------------------------------------
Function CopyVBComponent(sModuleName As String, sModuleToName As String, _
    wbFromFrom As Workbook, wbFromTo As Workbook, _
    bOverwriteExistModule As Boolean) As Boolean
 
    Dim objVBProjFrom As Object, objVBProjTo As Object
    Dim objVBComp As Object, objTmpVBComp As Object
    Dim sTmpFolderPath As String, sVBCompName As String, sModuleCode As String
    Dim lSlashPos As Long, lExtPos As Long
 
    'Проверяем корректность указанных параметров
    On Error Resume Next
    Set objVBProjFrom = wbFromFrom.VBProject
    Set objVBProjTo = wbFromTo.VBProject
 
    If objVBProjFrom Is Nothing Then
        CopyVBComponent = False: Exit Function
    End If
    If objVBProjTo Is Nothing Then
        CopyVBComponent = False: Exit Function
    End If
 
    If Trim(sModuleName) = "" Then
        CopyVBComponent = False: Exit Function
    End If
 
    If objVBProjFrom.Protection = 1 Then
        CopyVBComponent = False: Exit Function
    End If
 
    If objVBProjTo.Protection = 1 Then
        CopyVBComponent = False: Exit Function
    End If
 
    Set objVBComp = objVBProjFrom.VBComponents(sModuleName)
    If objVBComp Is Nothing Then
        CopyVBComponent = False: Exit Function
    End If
 
    '====================================================
    'полный путь для экспорта/импорта модуля. К папке должен быть доступ на запись/чтение
    sTmpFolderPath = Environ("Temp") & "\" & sModuleName & ".bas" '"
    If bOverwriteExistModule = True Then
        ' Если bOverwriteExistModule = True
        ' удаляем из временной папки и из конечного проекта
        ' модуль с указанным именем
        If Dir(sTmpFolderPath, 6) <> "" Then
            Err.Clear
            Kill sTmpFolderPath
            If Err.Number <> 0 Then
                CopyVBComponent = False: Exit Function
            End If
        End If
        With objVBProjTo.VBComponents
            .Remove .Item(sModuleToName)
        End With
    Else
        Err.Clear
        Set objVBComp = objVBProjTo.VBComponents(sModuleToName)
        If Err.Number <> 0 Then
            'Err.Number 9 - отсутствие указанного компонента, что нам не мешает.
            'Если ошибка другая - выход из функции
            If Err.Number <> 9 Then
                CopyVBComponent = False: Exit Function
            End If
        End If
    End If
 
    '====================================================
    'Экспорт/Импорт компонента во временную директорию
    objVBProjFrom.VBComponents(sModuleName).Export sTmpFolderPath
    'Получаем имя компонента из экспортированного файла
    lSlashPos = InStrRev(sTmpFolderPath, "\")
    lExtPos = InStrRev(sTmpFolderPath, ".")
    sVBCompName = Mid(sTmpFolderPath, lSlashPos + 1, lExtPos - lSlashPos - 1)
 
    '====================================================
    'копируем
    Set objVBComp = Nothing
'    Set objVBComp = objVBProjTo.VBComponents(sVBCompName)
    Set objVBComp = objVBProjTo.VBComponents(sModuleToName)
    If objVBComp Is Nothing Then
        objVBProjTo.VBComponents.Import sTmpFolderPath
    Else
        'Если компонент - модуль листа или книги -
        'его нельзя удалить. Поэтому удаляем из него весь код
        'и добавляем код из копируемого компонента
        If objVBComp.Type = 100 Then
            'создаем временный компонент
            Set objTmpVBComp = objVBProjTo.VBComponents.Import(sTmpFolderPath)
            'копируем из него код
            With objVBComp.CodeModule
                .DeleteLines 1, .CountOfLines
                sModuleCode = objTmpVBComp.CodeModule.Lines(1, objTmpVBComp.CodeModule.CountOfLines)
                .InsertLines 1, sModuleCode
            End With
            On Error GoTo 0
            'удаляем временный компонент
            objVBProjTo.VBComponents.Remove objTmpVBComp
        End If
    End If
    'удаляем временный файл компонента
    Kill sTmpFolderPath
    CopyVBComponent = True
End Function

ну а вызывать функция можно так:
Код
CopyVBComponent("Module3", ThisWorkbook.CodeName, ThisWorkbook, ActiveWorkbook, True)
Изменено: Дмитрий(The_Prist) Щербаков - 26 окт 2020 17:53:00
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как обратиться к вложениям в письмах на втором аккаунте аутлук через макрос Excel
 
А чем ответ здесь не устроил? Как обратиться к вложениям в письмах на втором аккаунте аутлук через макрос Exce
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Сортировка листов
 
Примитивно, наверное, так можно:
Код
Sub Sorting_Sheets_Ascending()      'Сортировка листов по возрастанию
    Dim i As Integer, j As Integer      'Создание 2 целых переменных i, j
    Dim ls1, ls2, s As String
    For i = 1 To Sheets.Count      'Цикл по листу i (от 1-го до последнего листа)
        For j = i + 1 To Sheets.Count    'Цикл по листу j (от i+1-го листа до последнего листа)
            s = Sheets(i).Name
            If IsNumeric(s) Then
                ls1 = CDbl(s)
            Else
                ls1 = UCase(s)
            End If
            s = Sheets(j).Name
            If IsNumeric(s) Then
                ls2 = CDbl(s)
            Else
                ls2 = UCase(s)
            End If
            If ls1 > ls2 Then      'Проверка условия по имени листа
                Sheets(j).Move Before:=Sheets(i)      'В случае выполнения условия, перенос листа j перед листом i
            End If
        Next j
    Next i
End Sub
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
формула ЧИСТРАБДНИ но с учетом рабочих суббот или воскресений
 
Цитата
Wild.Godlike написал:
бывает такая формула
хм....не видал. Имеется ввиду тот момент, когда основная масса суббот выходной день, но указом есть перенос на субботу рабочего дня. Стандартно такая суббота рабочим днем считаться не будет.
Я обычно советовал делать так: т.к. рабочих воскресений я на своей памяти не помню, то можно использовать ЧИСТРАБДНИ.МЕЖД. Там есть параметр какие дни считать выходными. Выбираем 11(только воскресенье). А в список праздничных дней добавляем ВСЕ нерабочие субботы.
По другому только писать свою собственную функцию UDF.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Замена всех символов "Перенос строки", Замена всех символов "Перенос строки"
 
Цитата
Артур Идрисов написал:
Например такое вот осталось
По тексту в сообщении форума невозможно определить что там у Вас за символы. Приложите файл - тогда будет о чем говорить. Иначе не вижу смысла гадать сидеть.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Замена всех символов "Перенос строки", Замена всех символов "Перенос строки"
 
PowerQwery - вкладка Преобразование -Замена значений.
Значение для поиска: #(lf)
заменит на: пробел или другой нужный Вам символ(или пустым оставляете)
Код
= Table.ReplaceValue(source,"#(lf)","",Replacer.ReplaceText,{"Описание"})
P.S. в тексте запроса последний шаг(source) от балды, т.к. не знаю какой он у Вас.
Изменено: Дмитрий(The_Prist) Щербаков - 26 окт 2020 11:01:06
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 380 След.
Наверх