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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 27 След.
Переделённое количество символов в столбце, Переделённое количество символов в столбце
 
да в любом случае только 5 стандартных можно
а в остальных случаях всегда 4
Открыть две книги Excel в одном окне
 
Вариант установить 2010 офис (или ексел) не рассматривается?
макрос Изменить фон окна
 
Код
#If Win64 Then
    #If VBA7 Then    ' Windows x64, Office 2010
        Declare PtrSafe Function GetTickCount Lib "Kernel32" () As LongLong
    #Else    ' Windows x64,Office 2003-2007
        Declare Function GetTickCount Lib "Kernel32" () As LongLong
    #End If
#Else
    #If VBA7 Then    ' Windows x86, Office 2010
        Declare PtrSafe Function GetTickCount Lib "Kernel32" () As Long
    #Else    ' Windows x86, Office 2003-2007
        Declare Function GetTickCount Lib "Kernel32" () As Long
    #End If
#End If
Вот по такому типу надо декларировавать функции
После закрытия книги завершается работа макроса в другой книге.
 
Цитата
Олег написал: Куда копать?
Сюда:
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=rules
Пункт 2,3
получить данные в зависимости от значения и даты
 
на форуме формула была правильная а в файле закрыл без сохранения.
И у вас год указан 2018 а в списке 2017
получить данные в зависимости от значения и даты
 
Прицепились
получить данные в зависимости от значения и даты
 
UDF
Если правильно понял: дата в промежутке.
Файлы не цепляются. доходит до 90% и всё

Код
Function OOO_data(Baza, OOO, data As Date)
    Dim r, ar, d
    ar = Baza.Value
    For r = 1 To UBound(ar)
        If ar(r, 1) = OOO Then
            If data >= ar(r, 4) Then
                If data <= ar(r, 5) Then
                    OOO_data = ar(r, 3)
                End If
            End If
        End If
    Next
End Function
Изменено: Александр Моторин - 30 мар 2021 17:51:45
В каких случаях могут быть проблемы при применении свойств Application
 
Цитата
нежелательно
ИМХО
В том случае если в макросе возможны критические ошибки, которые бейсик не может перехватить и не показывает строку с ошибкой, а просто вылетает.
В таком случае лист перестаёт реагировать на всё И вы не знаете как быть
Можно только зайти в редактор и написать и запустить макрос оживления со строками:
Код
Application.ScreenUpdating=true
Application.EnableEvents=true
Медленная работа макроса, удаляющего пустые строки., Другие маккросы работают быстро
 
загрузи данные из рабочей книги в массив
Обработай массив (отсортируй) и вывали в новую книгу
Как сделать объединенную ячейку в линейку, как в школьной тетрадке?
 
отказаться от объединённых ячеек не вариант?
VBA Удаление файла с ресурса, Удаление файла
 
Цитата
Приходится через Диспетчер задач снимать процесс с WINRAR.EXE
Завершите макросом
ВПР не видит часть значений
 
Разные пробелы
В одном списке chr(160) в другом chr(32)
Фильтрация данных в элементе ListView
 
А почему Listview? а не просто список. Listview нет в стандартной установке офиса
не могу настроить - нет контрола
У вас же есть заполнение. Добавьте строки проверки соответствия фильтрам
Изменено: Александр Моторин - 14 мар 2021 13:12:48
Автозаполнение строки из выпадающего списка ячейки, Автозаполнение всей строки по значению из выпадающего списка ячейки
 
ВПР
Сохранение данных после фильтрации макросом
 
А где вы планируете сохранять отфильтрованные данные?
На том же листе? А остальные данные удалять?
если так, то чем не подходит ваш вариант? Если оставшиеся данные не нужны - удалите лист. Останется с отфильтрованными данными
Нельзя установить свойство weight класса border.
 
Цитата
На ноуте установлена 2016 версия офиса, а на компе 2013
.....
Изменено: Александр Моторин - 11 мар 2021 19:27:40
Поиск одного или нескольких искомых данных в разных ячейках
 
вариант как понял задачу
Код
Sub Macros5()
Dim s
Sheets("Лист1").Select
Set fcell = Columns("A:A").Find("Санкт-Петербург")
If Not fcell Is Nothing Then
    MsgBox "Санкт-Петербург Нашел в строке: " + CStr(fcell.Row)
    s = s + 1
End If

Set fcell = Columns("A:A").Find("Москва")
If Not fcell Is Nothing Then
    MsgBox "Москва Нашел в строке: " + CStr(fcell.Row)
    s = s + 2
End If

Select Case s
    Case 1 'питер
'        макрос 1
    Case 2 ' москва
'        макрос 2
    Case 3 ' оба
'        макрос 3
End Select


End Sub
Как вставить именованный диапазон или массив в выпадающий список?, (или же в элемент управления "выпадающий список")
 
Код
Sub DV_Test()
    Dim List(1 To 12) As Variant, i As Integer
Dim d
    For i = 1 To UBound(List)
        List(i) = MonthName(i)
    Next

    With Range("A1").Validation
        .Delete
        .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, _
            Operator:=xlEqual, Formula1:=Join(List, ",")
    End With
    ComboBox1.List = List
End Sub



Скрытый текст

со спойлером что-то начудил не могу исправить
Изменено: Александр Моторин - 9 мар 2021 12:00:51
Кнопки на ленте с макросом перекидывают на другую книгу
 
Цитата
Я создал файл первоисточник , там создал эту вкладку на ленте,
вот этот файл сохранить как надстройку
Excel не грузит xlsx-файл из интернета. И сам вылетает. Причина ?
 
у меня по ссылке файл загружается, но сам не открывается. Открывается как обычный файл: файл открыть из екселя с выбором пути  или по двойному клику из файлового менеджера
Повторное использование строк кода
 
вынести в функцию или процедуру
что делать если файл excel долго обрабатывает данные ????
 
Цитата
У меня есть файл
Поздравляю!
Цитата
Возможно ли как ни будь ускорить работу
Никто не сможет ответить!
Никто не знает как
Цитата
файл который обрабатывает большую кучу информации
Сумматор двоичных чисел
 
макрос не подошел?
Сумматор двоичных чисел
 
может так?
Код
Sub qwertí()
Dim m, i, j, s
m = [g7..o9].Value
For i = UBound(m, 2) To 1 Step -1
    s = m(1, i) + m(2, i) + j
    j = IIf(s > 1, 1, 0)
    m(3, i) = s Mod 2
Next i
[g7..o9] = m
End Sub
Ускорить макрос для переноса данных при совпадении кодов.
 
Цитата
чтобы в словаре был сразу "реальный" номер строки?
Грузить в массив начиная с А1
Считать последнюю строку в CSV файле через VBA, vba, excel, csv
 
А зачем вам знать количество заполненных ячеек если вопрос о последней строке?
При открытии сразу разбивайте на строки примерно так
Код
arr = Split(CreateObject("Scripting.FileSystemObject").OpenTextFile("c:\Temp\список.txt", 1).ReadAll, vbCrLf)    'массив строк текста целиком
А потом последняя строка будет
Код
tex=arr(ubound(arr))
Автоматическое появление фигуры
 
запиши макрос добавления и форматирования фигуры
А потом в цикле добавляй и размещай
Предварительно надо удалить все фигуры
Что-то такое должно быть в начале
Код
 ActiveSheet.Shapes.AddShape(msoShapeOval, 290.25, 86.25, 49.5, 49.5).Select
Запуск двух сценариев для одного и того же макроса в зависимости от зажатой клавиши, макрос с параметрами Onkey
 
как вариант при клике по кнопке сохранять в глобальной переменной значение. например цвет
а макрос считает его
как в графических редакторах
Изменено: Александр Моторин - 11 фев 2021 22:17:59
Заполнение серийных номеров в соответствии с типом оборудования и городом поставки
 
Если правильно понял
Код
Sub Подтянуть()
    Dim r, lr, m, sl: Set sl = CreateObject("Scripting.Dictionary")
    
    With Worksheets("Серийные номера")
        lr = .Cells(.Rows.Count, 9).End(xlUp).Row
        m = .Cells(1, 9).Resize(lr, 2).Value
    End With
    For r = 2 To lr
        sl(m(r, 1)) = VBA.Trim(sl(m(r, 1))) & " " & m(r, 2)
    Next r
    
    With Worksheets("Форма")
        lr = .Cells(.Rows.Count, 2).End(xlUp).Row
        m = .Cells(7, 2).Resize(lr, 5).Value
        For r = 1 To lr
            If sl.exists(m(r, 1)) Then
                m(r, 5) = sl(m(r, 1))
            End If
        Next r
        .Cells(7, 2).Resize(lr, 5) = m
    End With

End Sub
Изменено: Александр Моторин - 11 фев 2021 12:05:10
VBA. Если при создании листа такой лист уже есть, изменить имя создаваемого
 
Ещё вариант:
Код
    For i2 = 1 To Worksheets.Count
        If InStr(Worksheets(i2).Name, sSheetName) > 0 Then est = True
        If InStr(Worksheets(i2).Name, sSheetName & "_old") > 0 Then
            num = Val(Replace(Worksheets(i2).Name, sSheetName & "_old", ""))
            If Max < num Then Max = num
        End If
    Next i2
    
    If est Then
        Worksheets(sSheetName).Name = sSheetName & "_old" & Max + 1
        Worksheets.Add.Name = sSheetName
    Else
        Worksheets.Add.Name = sSheetName
    End If
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 27 След.
Наверх