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

Страницы: 1
Выборка строк с указанным количеством, без пустых строк
 
Добрый день!

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

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("B2")) Is Nothing Then Exit Sub
    MsgBox "B2 изменилось"
End Sub
Вставка рисунка на скрытый лист
 
Добрый день!

Как можно избавиться от Select -ов (листа, ячейки и фигуры) и работать с рисунком не раскрывая лист туда-сюда?

Код
Sub vstavka()

    Sheets("Лист1").Shapes("kvadrat").Copy
    
    Sheets("Печать").Visible = True
    
    Sheets("Печать").Select
    Range("B3").Select
    ActiveSheet.Paste
    Selection.ShapeRange.ScaleWidth 0.7, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 0.7, msoFalse, msoScaleFromTopLeft
    
    Sheets("Печать").Visible = False
    
End Sub
Изменено: Михаил - 01.11.2021 12:10:10
Не работает Application.ScreenUpdating = False
 
В продолжение "спортивной" темы :)
В модуле Userform моего "боевого" макроса не работает Application.ScreenUpdating = False. Вот где настоящие тормоза. Не связано ли это с Userform?
Изменено: Михаил - 21.10.2021 11:57:15
Выделить столбцы по их номерам
 
Добрый день!
Макрорекордер подсказывает, что можно выделить столбцы так:
Код
Columns("A:K").Select

Есть ли синтаксис для выделения столбцов по номерам?
Изменено: vikttur - 21.10.2021 15:23:27
Вставить символы в текстовую строку
 
Добрый день!
Есть переменная вида: d = "20102021"
Как вставить точки после 2-й и 4-й позиции, чтобы получить дату 20.10.2021 ?
Изменено: vikttur - 20.10.2021 12:29:25
Как выгрузить массив на лист без цикла?, по мотивам соседней темы
 
Есть массив на 500 элементов, выгружаю его циклом в столбцы от 1 до 500. Есть ли способ делать это быстрее, без цикла?
Как макросом скопировать диапазон из общего файла?
 
Добрый день!
Есть файл с данными в сетевой папке и локальный файл с формулами.
1. Как открыть занятый сетевой файл (для копирования диапазона), автоматически подтверждая сообщение "Открыть только для чтения"?
2. Как его закрыть, пропуская сообщение о сохранении и "В буфере обмена содержатся данные..."
Макрорекордер ничего не выдал.
Как скопировать рисунок на другой лист?
 
Добрый день!
Я уже задавал похожий вопрос, к сожалению, наиболее подходящий вариант не работает (копия вставляется на первый лист).
Как скопировать его на второй лист или удалить его на втором листе по условию?

Код
Sub Макрос3()
    If Range("A2") = "Да" Then
        Sheets("Лист1").Shapes("Рисунок 1").Copy
        Sheets("Лист2").Paste Destination:=Range("D10") 'Почему вставляется на первый лист?
    Else
        Sheets("Лист2").Shapes("Рисунок 1").Delete
    End If
End Sub
Проверить правильный ввод двух чисел со знаком умножения между ними
 
Добрый день!
Хочу создать регулярное выражение для проверки текста типа 125х250,3. Числа могут быть целые и дробные (с одним знаком после запятой), между ними "икс" или "х" (рус).
По теме RegExp написал такое:
Код
\d+[,]?\d?[xх]\d+[,]?\d+

Если в первом числе после запятой знаков больше одного - до запятой все отсекает. И вообще, хочу, чтоб больше одного знака после запятой считалось ошибкой.
Изменено: vikttur - 20.08.2021 16:05:46
Как взять данные с сайта макросом?
 
Добрый день!
Подскажите алгоритм получения данных с сайта, как написать макрос?
Интересует курс евро с https://finance.i.ua
Как скопировать рисунок с одного листа на другой, не активируя эти листы?
 
Добрый день!
Есть задача скопировать рисунок с одного листа на другой, макрорекордер выдал такое:
Код
Sub Макрос2()
    Sheets("Лист1").Select
    ActiveSheet.Shapes.Range(Array("Группа 1")).Select
    Selection.Copy
    Sheets("Лист2").Select
    Sheets("Лист2").Range("d10").Select
    ActiveSheet.Paste
    Selection.ShapeRange.IncrementLeft 183
    Selection.ShapeRange.IncrementTop 96
    Selection.ShapeRange.ScaleWidth 0.5, msoFalse, msoScaleFromTopLeft
    Selection.ShapeRange.ScaleHeight 0.5, msoFalse, _
        msoScaleFromBottomRight
End Sub


Как сделать "тихое" копирование без тупой активации листов и рисунка? Пример в файле.
Как вставить =СЕГОДНЯ() в текст?
 
Добрый день!
Как вывести нормальный вид даты в такой строке?
Код
="Выписано " & СЕГОДНЯ()
Объединить элементы двух таблиц и просуммировать одинаковые
 
Добрый день!
Помогите придумать подходящую формулу.
Есть список названий (всего 4). Они могут быть выбраны выпадающим списком в двух желтых таблицах случайным образом.
Желаемый результат - вывести неповторяющийся список в голубую таблицу (порядок не важен) и просуммировать повторяющиеся названия.
Не работает выпадающий список и ВПР
 
В ячейке А1 - выпадающий список, который берется из столбца D
В ячейке В1 хочу найти соответствие элемента списка и номера формулой ВПР.
Выдает непредсказуемый результат. Пример приложил.
Изменено: Михаил - 26.05.2021 15:02:02
Как отследить состояние "флажка"?
 
Вставил на лист элемент управления "Флажок", назначил на него макрос. Хочу, чтоб макрос работал по условию
Код
If "флажок установлен" Then ...
 Как записать в "If" проверку состояния флажка?
Размещение кнопки на листе макросом
 
Добрый день!
Подскажите команду установки положения выбранной кнопки на листе.
Файл открывается на разных компьютерах, на некоторых кнопки разьезжаются в разные стороны, хотя в настройках выбрано "Не перемещеть и не изменять размеры".
Почему так происходит - непонятно.
Есть идея ровнять их макросом при открытии.
При открытии файла в Офис365 удаляется макрос.
 
Файл с макросами создан в Офис 2010, при попытке открыть на ноутбуке Win10 английская версия и Офис 365 Ентерпрайз английская відает сообщение: "Макрос поврежден, мы его удалили."

"The visual basic for application (VBA) macros in this workbook are corrupted and have been deleted. The macro corruption most likely exist in the current file. To recover the macro open a backup copy of this file if you have one."

Как это можно побороть?
Как макросом в модулях вызвать макрос из листов?
 
Если оба макроса находятся на Листе, то все работает, если вызывающий макрос находится в Модулях - не работает. Можно ли вызвать из модуля макрос с листа?
Изменено: Михаил - 03.03.2021 16:42:14
Способ удаления старых бекапов
 
Добрый день.
При закрытии файла работает макрос создания его копии.
Код
Private Sub Workbook_BeforeClose(Cancel As Boolean)
    
    ActiveWorkbook.Save
    Dim x As String 'папка для сохранения резервной копии
        strPath = ThisWorkbook.Path + "\backup\"
        On Error Resume Next
        
        x = GetAttr(strPath) And 0
        If Err = 0 Then ' если путь существует - сохраняем копию книги, добавляя дату-время
            strDate = Format(Now, "yyyy,mm,dd hh-mm")
            FileNameXls = strPath & "Файл " & strDate & ".xlsb"
            ActiveWorkbook.SaveCopyAs Filename:=FileNameXls
            
            Dim c As Long
            If Dir(strPath & "*.xlsb") = "" Then Exit Sub Else c = 1
                Do
                    If Dir = "" Then Exit Do Else c = c + 1
                Loop Until False
                
            If c > 100 Then MsgBox ("В папке \backup накопилось более " & c & " резервных копий, старые можно удалить.")
                
        Else 
            MsgBox "Папка " & strPath & " недоступна или не существует.", vbCritical
        End If
End Sub

Эти копии накапливаются, хочу автоматизировать удаление старых (по превышению количества).
Как проверить дату старых файлов?
Как передать значение нужного листа из одного макроса в другой?
 
Добрый день!
Как сделать выбор листа, в зависимости от макроса, из которого вызывается vst?

Код
Sub vstavka_na_list_1()
    Call vst
End Sub

Sub vstavka_na_list_2()
    Call vst
End Sub

Sub vst()
    With Sheets(_нужный лист_)
        .Range("A1").Value = 1
    End With
End Sub
Как макросом внести изменения в другой файл .xlsx ?
 
Добрый день!
Есть исходный файл Книга1, с ним могут работать несколько пользователей одновременно (в режиме "Для чтения").Задача - при закрытии Книга1 сохранить макросом результаты в Книга2.
Пока нагуглил такое:
Код
Sub saveToBase()
    Application.Workbooks.Open "Книга2.xlsx"
        ' сохраняем результат
    Workbooks("Книга2.xlsx").Close SaveChanges:=True
End Sub
Хочу:
1. Чтоб файл Книга2.xlsx открывался незаметно (не выводился на экран)
2. Повесить этот макрос на закрытие Книга1, поэтому при одновременной попытке доступа к Книга2.xlsx (маловероятно, но вдруг), была повторная попытка сохранения через 2-3 сек.
Подстановка значений к выпадающему списку
 
Добрый день! Как сделать поиск выбранной Категории, в ней поиск Товара и в столбец С подставить Рекомендованный остаток? Пример в файле.
Параллельное обсуждение здесь.
[ Закрыто] Посчитать площадь материала, намотанного на цилиндр, без использования макроса, посчитать площадь материала, намотанного на цилиндр
 
Добрый день.
Как посчитать площадь материала, намотанного на цилиндр, без использования макроса?
С каждым новым слоем нужно учесть толщину намотанного материала, т.е.
S1 = L*Pi*d (L - длина цилиндра, d -диаметр, количество слоев может быть до 16)
S2 = L*Pi*(d+толщ) + S1
S3 = L*Pi*(d+2*толщ) + S1 + S2 и т.д.

Не хочется городить небоскреб из "ЕСЛИ", возможно есть более красивый способ?
Страницы: 1
Наверх