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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 165 След.
Функция подтверждения запуска макроса (да или нет)
 
Код
Sub Очистить_журнал()

    If MsgBox("Очистить журнал?", vbYesNo + vbQuestion, "Вопрос") = vbNo Then Exit Sub
    
    With Sheets("Журнал 1")
        .Activate
        .Range("A2:H101").ClearContents
        .Range("I1").Select
    End With
    
    With Sheets("ОТК")
        .Range("B8:C52").ClearContents
        .Range("E8:F52").ClearContents
        .Range("H8:I17").ClearContents
    End With
End Sub
Изменено: New - 11.04.2025 22:41:38
Сводная таблица с учетом фильтра
 
asvitich, вы указываете в формуле, что  значения в столбце С должны быть пустыми, а так же содержать слово "командировка". (я дома, но меня дома нет). Попробуйте так

=ФИЛЬТР(магазин!$A$2:$C$15;(магазин!$A$2:$A$15="Пром")*(магазин!$C$2:$C$15="командировка"))
[ Закрыто] Формат csv
 
мне кажется автор переехал (создал тему) в платный раздел
Изменено: New - 02.03.2025 17:59:22
Excel в PDF, Перевод нескольких листов в PDF
 
Код
Sub Test()
    Dim sFolder As String, PDF_filename As String, sSheetName As String
    
    'папка, куда будем сохранять файлы PDF
    sFolder = "C:\Temp\" 'поставьте \ в конце имени папки
    
    'сохраняем 1-й лист
    sSheetName = "Лист1"  '<-- укажите имя листа для сохранения в PDF
    PDF_filename = "яблоки " & Format$(Date, "DD/MM/YYYY") '<-- имя файла PDF. После имени файла стоит пробел
    Worksheets(sSheetName).ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFolder & PDF_filename & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
    
    'сохраняем 2-й лист
    sSheetName = "Лист2"  '<-- укажите имя листа для сохранения в PDF
    PDF_filename = "груши " & Format$(Date, "DD/MM/YYYY") '<-- имя файла PDF. После имени файла стоит пробел
    Worksheets(sSheetName).ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFolder & PDF_filename & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
    
    'сохраняем 3-й лист
    sSheetName = "Лист3"  '<-- укажите имя листа для сохранения в PDF
    PDF_filename = "мандарины  " & Format$(Date, "DD/MM/YYYY") '<-- имя файла PDF. После имени файла стоит пробел
    Worksheets(sSheetName).ExportAsFixedFormat Type:=xlTypePDF, Filename:=sFolder & PDF_filename & ".pdf", _
        Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:=False
        
    MsgBox "Листы сохранены в PDF!", vbInformation, "Информация"
End Sub
Перенос строки на другую страницу при внесении данных
 
dimusiksmile, См. файл. Введите какое-нибудь значение у любого ФИО в диапазоне E:P и эта строка будет скопирована в нужный лист
Перенос строки на другую страницу при внесении данных
 
dimusiksmile,
1. можно
2. если вам кто-то мешает это сделать - скажите мне, я поговорю с этим человеком
3. или вы хотите, чтобы я за вас скопировал шапку таблицы с листа Total на 12 листов (Jan, Feb, Mar, Apr.... Nov, Dec)?  - я сделал посмотрите приложенный файл

P.S. Не очень понимаю ваше сообщение - сейчас макрос отслеживает ввод данных в столбцы D:O на листе Total. Вы что-то ввели в эти столбцы - макрос скопировал данные в указанный лист. Или у вас какой-то другой шаблон должен быть? Так выложите свой шаблон, я поправлю макрос под ваш шаблон.
Перенос строки на другую страницу при внесении данных
 
dimusiksmile, приблизительно так, см. файл
Макрос срабатывает при внесении данных за какой-нибудь месяц

PS.
1. Скачайте файл
2. Windows блокирует скаченные файлы с макросами, поэтому щёлкните правой клавишей мыши по скаченному файлу и выберите "Свойства", в открывшемся окне внизу справа поставьте галочку "Разблокировать", затем кнопку Применить и ОК.
3. Если вы никогда ранее не разрешали макросы в настройках вашего Excel, то зайдите в меню Файл - Параметры - Центр управления безопасностью - Параметры центра управления безопасностью... - Параметры макросов - Включить макросы VBA. Закройте полностью весь Excel и снова откройте файл с макросом. Данную операцию нужно проделать только один раз.
4. Сам макрос можно посмотреть по нажатию клавиш ALT+F11
Изменено: New - 25.01.2025 17:08:46
ошибка 1004 при открытии книги
 
тут много вопросов возникает:
- версия установленного Excel, Windows?
- файл с макросами или без
- есть ли в списке подключённых библиотек библиотеки с названиями MISSING в окне ALT+F11, меню Tools - References...
Изменено: New - 19.01.2025 14:17:00
Макросы Visual Basic для приложения (VBA) в данной книге повреждены и были удалены
 
Цитата
Серега_ написал:
У меня office 2007
может на домашнем компьютере поставить что-то посвежее, хотя бы Excel 2021 (или Excel 2024) ? Вдруг поможет
Найти количество заполненных ячеек
 
Код
Sub Test()
    Dim CountNonEmpty As Long
    CountNonEmpty = WorksheetFunction.CountA(Range("H6:XFD6"))
    MsgBox CountNonEmpty
End Sub
Изменено: New - 02.01.2025 20:47:52
Макрос проверки контрагентов через сервис ФНС
 
Коллеги, кто шарит в PQ помогите frosty. Я больше по макросам, чем по PQ, поэтому не смогу ему помочь
Как искать все совпадения в одном столбце?, Нужно найти всех сотрудников, которые работает под определенным индексом
 
К сожалению, у нас тут не форум по Photoshop, поэтому мы не любим картинки, мы любим файлы Excel.
а так же мы любим, чтобы нам прямо в самом файле показали тот результат, который вы хотите получить
У двух умных таблиц разное поведение при удалении DataBodyRange в части форматирования итогов. Файл-пример., Одна из таблиц не сбрасывает формат итогов, другая сбрасывает. Внешне таблицы одинаковы
 
Код
Public Function DeleteTableRows(table As ListObject, Optional isEntireRowDeletion = True)
    With table
        If Not .DataBodyRange Is Nothing Then
            If isEntireRowDeletion Then
                .DataBodyRange.EntireRow.Delete
            Else
                .DataBodyRange.Delete
            End If
        End If

        table.ShowTotals = False
        ' создать строку в DataBodyRange
        table.ListRows.Add (1)
        table.ShowTotals = True
    End With
End Function
Фильтр работает не по всем строкам
 
1. Выделить ячейки с датами
2. нажать CTRL+H ( H - это английская буква)
3. В поле "Найти" указать точку ( . )
4. В поле "Заменить на" так же указать точку ( . )
5. Нажать кнопку "Заменить все"
Изменено: New - 01.12.2024 19:04:05
ВПР не правильно подставляет значение, Через ВПР пытаюсь проставить значение (код цифрами) по совпадению наименования фин позиции, ставит одно значение ко всем строкам одинаково
 
Nastii, Если у вас Excel версии 2021 и выше, то можно использовать функцию ПРОСМОТРX, вместо ВПР
Сбор данных из нескольких однотипных файлов эксель в один. Оптимальный VBA с кратким комментарием.
 
PavelKs, пишу в личку
В работе
Обменялись
Изменено: New - 30.11.2024 11:17:52
Макрос для сохранения листов в книге в отдельные файлы
 
Павел,
попробуйте перед каждой строкой
Код
.UsedRange.Value = .UsedRange.Value

добавить строку
Код
.UsedRange.NumberFormat = "@"

чтобы получилось вот так:
Код
.UsedRange.NumberFormat = "@"
.UsedRange.Value = .UsedRange.Value
Изменено: New - 03.11.2024 00:51:15
Как внести изменения макросом в файл с аттрибутом "Только чтение"
 
Код
If ThisWorkbook.ReadOnly = True Then ThisWorkbook.ChangeFileAccess Mode:=xlReadWrite
Объединение даты из нескольких ячеек в одну, Объединение даты из нескольких ячеек в одну
 
Добрый день. Пишу в личку
Изменено: New - 24.10.2024 21:58:21
Сбор данных из иерархического отчёта 1с
 
Konstanta, наверху страницы есть ссылка "Сообщения". У вас там ещё цифра 1 будет в скобках. Щёлкните по ней, а далее щёлкните по "Входящие". См. фото

Изменено: New - 11.10.2024 12:38:30
Сбор данных из иерархического отчёта 1с
 
Konstanta, написал вам личное сообщение со своими контактами
Сбор данных из иерархического отчёта 1с
 
Konstanta,

Код
Sub Clean1CReport()
    Dim wsReport As Worksheet, wsResult As Worksheet
    Dim rCell As Range, rDest As Range
    Dim sManager As String, sBuyer As String
    
    Set wsResult = ThisWorkbook.Worksheets("Result")
    With wsResult
        .UsedRange.Rows.Delete
        .Range("A1").Resize(1, 10) = Array("Менеджер", "Покупатель", "Номенклатура", "Закупка", "Отгрузка", "Оплата", "% отг", "% опл", "Наценка", "ВП")
        Set rDest = .Range("A2")
    End With
    
    Set wsReport = ThisWorkbook.Worksheets("TDSheet")
    
    For Each rCell In wsReport.UsedRange.Columns(1).Cells
        If rCell.EntireRow.OutlineLevel = 2 Then sManager = rCell.Value
        If rCell.EntireRow.OutlineLevel = 3 Then sBuyer = rCell.Value
        If rCell.EntireRow.OutlineLevel = 4 Then
            rDest.Resize(1, 10).Value = Array(sManager, sBuyer, rCell.Value, rCell.Offset(, 1).Value, rCell.Offset(, 2).Value, rCell.Offset(, 3).Value, _
                rCell.Offset(, 5).Value, rCell.Offset(, 7).Value, rCell.Offset(, 9).Value, rCell.Offset(, 11).Value)
            Set rDest = rDest.Offset(1)
        End If
    Next rCell
    
    wsResult.Activate
End Sub
Защита файла Excel от несанкционированного копирования, Защита файла Excel от несанкционированного копирования
 
надёжно - написать весь свой код на С++ и скомпилировать его в DLL, а потом подключить этот DLL к файлу. Всё остальное костыли

P.S. Есть программа, вроде, ProtectVBA можно ей пробовать, либо аналогами
Изменено: New - 10.10.2024 00:10:49
Убрать символ
 
Closing159, вы в следующий раз, описывайте вашу задачу, а не ваш способ, которым вы пытаетесь решить вашу задачу.

P.S. А то получается вы хотите зайти в квартиру и лезете в окно и спрашиваете нас: - "Ребят, а как лучше войти в окно?" мы вам отвечаем: "ну, можно подставить лестницу", а на самом деле можно спокойно войти в отрытую дверь, но вы-то спрашиваете нас именно как лучше залезть через окно
Проблемы с методом Find
 
Код
Sub Test()
    Dim Rng As Range
    
    Set Rng = Range("A1:Z100").Find("мама", , xlFormulas, xlWhole)
    If Rng Is Nothing Then
        MsgBox "Не найдено!", vbExclamation, "Внимание"
        Exit Sub
    End If
    
    MsgBox "Адрес найденной ячейки: " & Rng.Address(0, 0)    
    MsgBox "Значение соседней справа ячейки: " & Rng.Offset(, 1).Value
End Sub
Изменено: New - 09.10.2024 22:55:56
Убрать символ
 
=СЖПРОБЕЛЫ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПРАВСИМВ(A1;ДЛСТР(A1)-Лист2!B1);"-";"");СИМВОЛ(160);""))

P.S. если вам нужно вытащить последнее число после знака "-", то в новых версиях Excel есть функция ТЕКСТПОСЛЕ и формула будет такой
=ТЕКСТПОСЛЕ(A1;"-";;;1)
Изменено: New - 09.10.2024 22:36:13
VBA перенос таблицы, Перенос таблицы на другой лист
 
1. Вам желательно снять галочку "Стиль ссылок R1C1" в настройках Excel (Параметры - Формулы)
R[-2]C[-82] - этот адрес говорит - от активной ячейки вверх 2 строки и влево 82 столбца. Это какая ячейка?
Вам нужно научится работать с адресами А1, В5, Z10 и т.д.

2. Желательно не называть листы зарезервированными словами, как ActiveSheet. В русском и английском языках есть как минимум ещё миллион других слов

P.S. Вы назовёте своего ребёнка именем "Твоё Имя" ? И когда в школе будут его спрашивать "А какое твоё имя?" Он будет отвечать "Твоё имя". Классно, ни у кого другого ребёнка не будет такого уникального имени как "Твоё имя"
Изменено: New - 08.10.2024 23:53:24
Макрос для вставки формулы в определенную ячейку, Нужно чтобы макрос вставлял значение в ячейку
 
Код
Sub Test()
    Dim iRow As Long
    For iRow = 3 To 30
        Range("J" & iRow).FormulaLocal = "=ЕСЛИОШИБКА(ВПР(C" & iRow & ";'БАЗА ДАННЫХ'!B:G;2;0);"""")"
    Next iRow
End Sub
Макрос для вставки формулы в определенную ячейку, Нужно чтобы макрос вставлял значение в ячейку
 
Range("J3").FormulaLocal = "=ЕСЛИОШИБКА(ВПР(C3;'БАЗА ДАННЫХ'!B:G;2;0);"""")"

Если в формуле есть кавычки "", то их нужно удваивать, т.е. вместо двух писать четыре """"
Как скрыть содержимое других листов в книге для определенных сотрудников
 
ну, в моём коде у Админа вообще можно убрать все названия листов (очистить список листов), я в коде прописал, что если ввели пароль Админа, то все листы отображаются сразу
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 165 След.
Loading...