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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 117 След.
Соединить 2 списка, как сопоставить номер и действия пользователя и его локацию
 
нуу, во-первых, у вас не Excel, а Google таблица - это разные программы. Во-вторых, я это сделал в Excel с помощью Сводной таблицы (в Excel это так - поставить курсор на любую ячейку в таблице - меню Вставка - Сводная таблица - далее мышкой перетащить нужные столбцы в нужные места и всё готово)
Соединить 2 списка, как сопоставить номер и действия пользователя и его локацию
 
на форум можно прикладывать свои файлы Excel. Вам точно формулу нужно? Может Сводная таблица подойдёт?
Изменено: New - 18.05.2022 01:49:52
Удалить текст после набора символов, где цифры различные
 
Код
Function DelCount(s) As String
    Dim re As Object
    Set re = CreateObject("VBScript.RegExp")
    re.Pattern = ", \d+шт.+"
    If re.test(s) Then
        DelCount = re.Replace(s, "")
    Else
        DelCount = s
    End If
End Function
Изменено: New - 17.05.2022 22:48:01
Дублирование строки под нужное условие, Производит дублирование всей строки, находит под условие
 
Код
Sub Дублирование_строки()
    Dim FindWord As String, ReplaceWord As String, Rng As Range, firstAddres As String
    
    FindWord = Application.InputBox("Какое слово найти в 3-м столбце?", "Поиск слова")
    If FindWord = Empty Then Exit Sub
    ReplaceWord = Application.InputBox("На какое слово заменить?", "Поиск слова")
    If ReplaceWord = Empty Then Exit Sub
    
    With ActiveSheet
        Set Rng = .Columns(3).Find(FindWord, , xlFormulas, xlWhole) 'xlWhole -ячейка целиком (xlPart - часть ячейки)
        If Rng Is Nothing Then
            MsgBox "Слово '" & FindWord & "' не найдено в 3-м столбце!", vbExclamation, "Внимание"
            Exit Sub
        End If
        firstAddres = Rng.Address
        Do
            .Rows(Rng.Row).Copy
            .Rows(Rng.Row + 1).Insert Shift:=xlDown
            .Cells(Rng.Row + 1, 3) = ReplaceWord
            Set Rng = .Columns(3).FindNext(Rng)
        Loop Until Rng.Address = firstAddres
    End With
    MsgBox "Сделано!", vbInformation, "Конец"
End Sub
Доработать, переделать существующий код VBA в Exele.
 
в работе
Выполнено, оплачено
Изменено: New - 17.05.2022 22:28:10
Доработать, переделать существующий код VBA в Exele.
 
Msi2102, кстати, да. Какие-то заказчики пошли в последнее время, сами не знают чего им нужно)) То напишите мне что-нибудь, то напишите мне макрос под любую таблицу, то вот вам примерное ТЗ ) То потом пишут - тема закрыта...  Эх... ))
Изменено: New - 16.05.2022 19:09:13
Доработать, переделать существующий код VBA в Exele.
 
ничего не понятно, но очень интересно... без файла Excel. Напишу вам свою почту в личные сообщения
Поиск и сравнение данных на разных листах с копированием информации на другой файл/лист, Поиск и сравнение данных на разных листах с копированием информации на другой файл/лист
 
трудно сказать, возможно коды чем-то отличаются между Лист1 и Лист2. Если сможете дать посмотреть ваши файлы, то я могу вам в личное сообщение написать свою почту, вы туда вышлете ваши файлы (или обрезанные ваши файлы), а я уже посмотрю, что с ними не так.
Поиск и сравнение данных на разных листах с копированием информации на другой файл/лист, Поиск и сравнение данных на разных листах с копированием информации на другой файл/лист
 
Timur Primbetov, см. файл
Изменено: New - 16.05.2022 00:20:57
Прошу помочь "перенести" макрос из одного файла в другой
 
Пусть директор откроет для себя Power BI, там, вроде, можно разные dashboard'ы делать
Изменено: New - 15.05.2022 02:58:38
VBA. Userform.ListBox - ошибка вылета Excel и "Out of memory", Урок курса VBA, в котором автор через Userform удаляет записи из умной таблицы, что приводит к вылету всего Excel
 
Я смотрел только код удаления строки, т.к. вы на неё жаловались. В другую форму я не заходил
Объясню так - весь ваш код VBA от курса VBA очень сырой. В него нужно добавить ещё кучу проверок для нормальной работы с умной таблицей.
Если коротко - если  допилить до ума ваш код, то он будет работать, вам показали небольшой пример работы с таблицей, а дальше, наверное, либо вы сами должны доработать этот код, либо доработка этого кода будет в следующих уроках вашего курса VBA.
P.S. Работайте с обычными ячейками на листе, без умной таблицы. Так вам будет проще
Изменено: New - 14.05.2022 17:47:54
VBA. Userform.ListBox - ошибка вылета Excel и "Out of memory", Урок курса VBA, в котором автор через Userform удаляет записи из умной таблицы, что приводит к вылету всего Excel
 
Попробуйте так (добавил 1 строку с русским описанием) - таблица в Listbox не обновлялась после удаления, т.е. с листа данные удалялись, а в ListBox нет

Код
Private Sub btDelete_Click()
    Dim DeleteRec As Long
    Dim CheckDelete As VbMsgBoxResult
    
    DeleteRec = Me.LbEditCuct.ListIndex
    
    If DeleteRec = -1 Then
        MsgBox "No record has been selected for deletion", vbExclamation, "Delete Record?"
        Exit Sub
    Else
        CheckDelete = MsgBox("Are you sure you want to delere this record from the Master Data?", _
            vbExclamation + vbYesNo + vbDefaultButton1, "Delete Record?")
        If CheckDelete = vbNo Then Exit Sub
        DeleteRec = DeleteRec + 1
        shMaster.ListObjects("CustomerTable").ListRows(DeleteRec).Delete
        'обновляем таблицу в ListBox после удаления
        Me.LbEditCuct.RowSource = "CustomerTable"
    End If
End Sub
Изменено: New - 14.05.2022 15:56:51
Копирование определенных столбцов из разных книг в одну книгу., Копирование столбцов
 
Максим Моисеев, добрый день.
1. К сожалению, написать макрос без примера файла (-ов) сложно. Макрос не знает из каких книг брать данные - нужно произвести поиск по диску С, найти любые файлы Excel и из них взять данные?
2. 12 листов с любым названием или с определённым? А если в каком-то файле будет 13 листов, что с ним делать?
3. К сожалению, в макросе нельзя прописать - скопируй определённые столбцы. Программирование это более точная наука. Обычно у столбцов есть названия A,B,C (ну, или порядковые номера столбцов - 2, 7, 15)
3. Столбцы нельзя скопировать начиная со следующей свободной строки. Столбцы это вертикальные данные, строки это в горизонтальные данные. Это строки можно скопировать со следующей свободной строки, а столбцы можно скопировать начиная со следующего свободного столбца.
Короче, для написания макроса нужно ещё куча дополнительной информации (какие файлы, из какой папки, нужен ли диалог выбора папки или из всех файлов рядом находящихся с макросом, какие именно столбцы копировать, в какую именно книгу копировать - в файл с макросом или всегда нужно создавать новый файл и туда копировать столбцы из файлов, что надо делать если листов меньше 12 или больше 12 в тех файлах)
Изменено: New - 14.05.2022 15:42:28
использование VLookup при условии if, Добрый вечер, подскажите пожалуйста, имеется код, который запускается при активации листа. По данному коду пересчитывается весь диапазон на листе Оплата, как изменить код, чтобы расчет шел только по тем строкам, где в листе «Оплата» в столбце «Е» условие
 
может как-то так?
Код
Private Sub Worksheet_Activate()
    Dim LastRow As Long, i As Long
       
    With Sheets("Оплата")
        LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
        For i = 3 To LastRow
            .Range("E" & i).value = Application.IfError(Application.VLookup(.Range("F" & i), Sheets("Начисления").Range("H2:N10000"), 7, 0), .Range("E" & i).value)
        Next
    End With
End Sub
использование VLookup при условии if, Добрый вечер, подскажите пожалуйста, имеется код, который запускается при активации листа. По данному коду пересчитывается весь диапазон на листе Оплата, как изменить код, чтобы расчет шел только по тем строкам, где в листе «Оплата» в столбце «Е» условие
 
End Sab - это, конечно, хорошо (лучше Sub), но ещё лучше небольшой пример в файле Excel (не рабочий ваш файл с секретной информацией, а пример с любыми данными). А так по вашему описанию в код нужно добавить
Код
If Sheets("Оплата").Range("E" & i).Value = "ФИО" Then
'тут ваша формула
End If

А может там вообще не ВПР (VLookup) нужен, а СУММЕСЛИМН(), в параметрах которого прописать условие на наличие ФИО
Изменено: New - 14.05.2022 01:41:59
Сводная таблица по нескольким диапазонам данных, Сводная таблица по нескольким диапазонам данных
 
Дмитрий(The_Prist) Щербаков, +1
UserForm для умной таблицы, Изменения данных в умной таблице по условиям
 
Цитата
Pavel Ginoris написал:
Если проблема только в отсутствии файла я вам могу набросать
Был бы вам очень признателен за это.

P.S. Для понимания работы по платным заказам - если от вас есть файл с таблицей и макрос будет её правильно заполнять по вашему ТЗ, то заказ считается выполненным и должен быть оплачен. Как вы готовый макрос будете потом адаптировать под вашу другую таблицу - это будут уже ваши проблемы, а не того, кто вам писал макрос. Ответ будет один - макрос работает с той таблицей, которую вы прислали для написания макроса? Ответ - Да. Тогда оплатите работу. Дальше уже ваши проблемы, почему данный макрос не работает с другой таблицей.
А вы хотите так - напишите мне макрос под любую таблицу, а я его уже потом сам изменю под свою таблицу. У меня вопрос - а получится ли у вас его изменить под свою таблицу? А если у вас не получится, то и денег за выполненную работу вы не оплатите? Так дела не делаются. В идеале от вас нужно подробное техническое задание (ТЗ) и по возможности формат таблицы, под которую будет писаться макрос. Нет технического задания, ну тогда хотя бы нужна таблица и словесное описание что куда и как макрос должен работать.
Давайте объясню на примере строительства дома. Сейчас вы говорите - постройте мне дом! Вас спрашивают - а какой именно дом? Вы говорите - ну, это не важно, стройте любой, я потом под себя его переделаю. Ок, вам построят хороший тёплый дом в 1 этаж 100 квадратных метров, 2 спальни, 2 санузла, 8 окон и скажут - вот ваш дом, оплатите. А вы ответите - эээ, неее, так не подойдёт, оплачивать не буду. Я не смогу этот дом перестроить в 24-х этажный дом, с гаражом под домом, с арками, бассейном и вертолётной площадкой на крыше, поэтому оплачивать работу не буду. Так в вашем задании (ТЗ) и не было сказано ничего, что это будет 24-х этажный дом, поэтому мы построили с фундаментом в 1.5 метра, а для 24-э этажного дома фундамент должен быть 10 метров, котлован под подземный гараж вы тоже не просили, бассейн вы тоже не обговаривали и т.д. и т.д. и т.д. Макрос - это не искусственный интеллект, это набор запрограммированных действий.
Изменено: New - 14.05.2022 01:01:58
UserForm для умной таблицы, Изменения данных в умной таблице по условиям
 
ТС сообщил, что файла с данными нет. Примеры на картинках в теме.
К сожалению, я макросы без файла/таблицы не умею писать (иначе будет - а у меня этот столбец по-другому называется, а у меня этот столбец на другом листе, а у меня этот столбец 2-й, а не 5-й, а мне такая таблица не подходит и т.д.). Может кто другой поможет.
Нумерация уникальных значений по 2м и более столбцам
 
ольга, на форум можно прикладывать файлы Excel в качестве примера
Макрос для выведения списка уникальных значений из 2 диапазонов на другой лист (при наличии пустых строк)
 
Код
Sub Test()
Dim arrData As Variant, LastRow As Long, i As Long, arrOut As Variant, n As Long, Dict As Object

    'выбираем уникальные из столбца H
    Set Dict = CreateObject("Scripting.Dictionary")
    With Worksheets("Лист1")
        'определяем последнюю ячейку в столбце
        LastRow = .Cells(.Rows.Count, "H").End(xlUp).Row
        'берём в массив все данные из столбца H
        arrData = .Range(.Cells(1, "H"), .Cells(LastRow, "H")).Value
    End With
    
    'создаём пустой массив под будущие результаты
    ReDim arrOut(1 To UBound(arrData), 1 To 1)
    n = 0
    'заносим в Словарь только уникальные значения
    For i = LBound(arrData) To UBound(arrData)
        If Not Dict.exists(arrData(i, 1)) Then
            Dict.Add arrData(i, 1), 0&
            n = n + 1
            arrOut(n, 1) = arrData(i, 1)
        End If
    Next i
    'выгружаем массив arrOut на Лист2
    With Worksheets("Лист2")
        'очищаем столбец G
        .Columns("G:G").Clear
        'всему столбцу присваиваем текстовый формат (чтобы не потерять нули перед цифрами)
        .Columns("G:G").NumberFormat = "@"
        .Range("G1").Resize(UBound(arrOut, 1), 1) = arrOut
    End With
    
    'выбираем уникальные из столбца R
    'всё тоже самое что и выше, только нужно заменить H на R и G на L
    '...
End Sub
Изменено: New - 13.05.2022 14:59:18
Разбить на листы с названием
 
Alennka,
1. у вас очень плохой пример файла - просто пустые ячейки. Вы бы хотя бы единички проставили во все ячейки таблиц.
2. как макрос сможет находить ваши таблицы на листах (да даже на одном листе)? Это человек взглядом может определить таблицу на листе и её границы, а макросу нужны более конкретные характеристики для определения границ таблиц на листах. Сейчас можно определить таблицы только цвету - где-то ячейки тёмно-коричневые, где-то серые, где-то жёлтые, где-то белые... Для написания макроса нужны чёткие характеристики. Например, все таблицы содержат слово "Название" в шапке таблицы - да, тогда можно макросом найти 200 слов "Название" на каждом листе и уже от этого слова искать границы таблицы. А сейчас это просто какие-то закрашенные цветом ячейки. Макрос не сможет найти эти таблицы на листе. Макрос - это не искусственный интеллект (сделай мне хорошо). Макрос - это последовательность действий (иди туда, найти то-то, скопируй в новый файл, сохрани файл, повтори всё сначала)
Изменено: New - 13.05.2022 01:41:42
UserForm для умной таблицы, Изменения данных в умной таблице по условиям
 
я пока не очень понял задание, но давайте попробуем сделать. Я напишу вам в личные сообщения свою почту для связи
Зависает окно userform, но макрос продолжает выполняться
 
Попробуйте добавьте DoEvents до обновления формы и 2 раза DoEvents после обновления данных на форме. Что-то типа такого
Код
DoEvents
UserForm.Repaint
DoEvents
DoEvents
Создание нескольких умных таблиц с определенным кол-м строк с помощью макроса
 
Код
Sub CreateTables()
    Dim arrData As Variant, arrNewTable As Variant, LO As ListObject, LastRow As Long, i As Long, n As Long

    With Worksheets("Sheet1")
        arrData = .Range("A1").CurrentRegion
    End With
    
    Application.ScreenUpdating = False
    With Worksheets("Sheet2")
        .Cells.Clear 'полностью очищаем Sheet2 (удаляем все данные с листа)
        For i = 2 To UBound(arrData)
            If arrData(i, 2) > 0 Then
                ReDim arrNewTable(1 To arrData(i, 2) + 1, 1 To 1)
                arrNewTable(1, 1) = "Column1"
                For n = 2 To UBound(arrNewTable)
                    arrNewTable(n, 1) = arrData(i, 1)
                Next n
                LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
                If LastRow > 2 Then LastRow = LastRow + 1
                .Cells(LastRow, 1).Resize(UBound(arrNewTable, 1), 1) = arrNewTable
                .ListObjects.Add(xlSrcRange, .Range(.Cells(LastRow, 1).CurrentRegion.Address), False, xlYes, "TableStyleMedium2").Name = "Table" & .ListObjects.Count + 1
            End If
        Next i
    End With
    Application.ScreenUpdating = True
    
    MsgBox "Таблицы созданы!", vbInformation, "Конец"
End Sub
Изменено: New - 12.05.2022 00:13:12
XLL хранение и выполнение VBA кода, или защита VBA кода от просмотра?
 
bedvit, если зайти по ссылке https://bedvit.ru/ то какой-то косяк с сайтом
Изменено: New - 11.05.2022 02:26:36
XLL хранение и выполнение VBA кода, или защита VBA кода от просмотра?
 
Понял. Мне нравится, что ты продолжаешь развивать свою надстройку. Нравится читать про твои новые фишки в надстройке. Молодец
Изменено: New - 06.05.2022 03:22:03
XLL хранение и выполнение VBA кода, или защита VBA кода от просмотра?
 
скачал с сайта последнюю версию, установил, но у меня в меню нет кнопки Меню справа от языка RU. Или я не туда смотрю ?
Изменено: New - 06.05.2022 00:43:56
Нет Power Pivot
 
а если Файл - Параметры - Надстройки - внизу справа выбрать Управление Надстройки COM - кнопка Перейти - поставить галочку Microsoft Power Pivot for Excel
Вывод последних файлов на страницу Excel
 
Ігор Гончаренко, +1
тоже не понял... какой файл нужно скачать, в каком файле ошибка. Какие-то непонятные файлы... какой результат хочет получить ТС в файл 1 или в файле 2 ?
Изменено: New - 05.05.2022 21:11:58
Вернуть скрытые столбцы при установленном фильтре
 
Код
Sub one()
    Dim A As Range
    Set A = Worksheets("тест").Range("D2")
    If A = 300 Then A.MergeArea.EntireColumn.Hidden = Not A.MergeArea.EntireColumn.Hidden
End Sub
Изменено: New - 05.05.2022 22:02:15
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 117 След.
Наверх