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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 124 След.
(VBA) Как получить имя (или индекс) "умной" таблицы на которой сейчас стоит курсор?
 
нормальный способ Игорь предложил, у вас же на листе не миллион умных таблиц

Код
Sub Test()
    Dim objList As ListObject
        
    If ActiveSheet.ListObjects.Count = 0 Then Exit Sub
    With ActiveSheet
        For Each objList In .ListObjects
            If Not Intersect(ActiveCell, objList.Range) Is Nothing Then
                MsgBox "Курсор стоит в таблице:" & vbLf & "Имя: " & objList.Name & vbLf & "Индекс: " & findIndexOfListObject(objList.Name), vbInformation, ""
                Exit Sub
            End If
        Next
    End With
    MsgBox "Курсор не стоит внутри таблицы!", vbExclamation, "Внимание"
End Sub

Private Function findIndexOfListObject(ByVal sName As String) As Long
    Dim i As Long
    With ActiveSheet
        For i = 1 To .ListObjects.Count
            If .ListObjects(i).Name = sName Then
                findIndexOfListObject = i
                Exit Function
            End If
        Next
    End With
End Function
Выявление расхождений в двух столбцах содержащих текстовые ячейки, Выявление расхождений в адресах в двух столбах, причем адреса прописаны в столбцах по разным принципам
 
vikki, Потестируйте этот файл.
P.S. К сожалению, больше ничем не могу помочь. У вас слишком много условностей, где-то вы хотите учитывать слово "Литер" и "Литера", а где-то нет (Литера Б и просто "Б" - считать, что это идентично), так же с квартирами, где-то надо сравнивать Кв.1 и квартира 1 - идентичны, а где-то ул.Шолохова, 1, 1 должно подходить к кв.1. По некоторым адресам вообще не выявить расхождение, т.к. в левом адресе меньше слов, чем в правом (ул.Шолохова, д.1 и 500100 ул.Шолохова, д.1 НП7 - макросом тут невозможно определить, что это разные адреса (лишнее "НП7"), т.к. в левой таблицы меньше слов для поиска, чем в правой, а правая таблица всегда содержит больше слов, чем левая, а определить какие слова лишние невозможно. (ул.Шолохова - это пример из головы, а не из вашей таблицы)
Создание формы для обработки прайса, есть исходник в экселе и нужна его обработка
 
по моему, в вашем архиве не хватает файла "ПРАЙС-ВОГЕЗ", который нужно получить в конечном итоге
Создание таблицы, обновляемой ежедневно. Данные из других таблиц., Если я правильно понимаю, нужен макрос, который будет брать данные из новых таблиц и вставлять в одну общую.
 
пишу в личку
В работе
Сделано
Изменено: New - 08.08.2022 09:39:22
Выявление расхождений в двух столбцах содержащих текстовые ячейки, Выявление расхождений в адресах в двух столбах, причем адреса прописаны в столбцах по разным принципам
 
vikki, См. файл
P.S. Обратите внимание, что теперь функция, к сожалению, неверно считает последнюю строку на листе ШПИ
Выявление расхождений в двух столбцах содержащих текстовые ячейки, Выявление расхождений в адресах в двух столбах, причем адреса прописаны в столбцах по разным принципам
 
Проставьте в каком-нибудь столбце текст ОК и Ошибка, чтобы я понимал какие строки для вас ок, а какие не ОК, а я вечером посмотрю
Изменено: New - 06.08.2022 14:01:07
Выявление расхождений в двух столбцах содержащих текстовые ячейки, Выявление расхождений в адресах в двух столбах, причем адреса прописаны в столбцах по разным принципам
 
см. файл
Непредвиденная ошибка при выгрузке данных из SQL на лист
 
К сожалению, больше ничем не помогу. Может придут специалисты по Power Query и что подскажут
Выявление расхождений в двух столбцах содержащих текстовые ячейки, Выявление расхождений в адресах в двух столбах, причем адреса прописаны в столбцах по разным принципам
 
vikki, в моем файле есть макрос в виде самописной функции - ПроверкаАдреса (сейчас уже точно не помню как назвал). То есть я создал свою функцию, которая будет работать как обычная формула, но только в этом файле.
Вам надо будет открывать именно этот файл, вставлять значения в левую и правую таблицу и в столбце С протягивать формулу вниз. Эта функция будет выдавать либо ОК, либо "Не совпадает", либо "Ошибка, не найдено сочетание "пробел буква г пробел".
То есть открыли именно этот файл, заполнили 2 таблицы, протянули формулу, там где показало "Не совпадает" проверили, что не совпадает, можно отфильтровать по Не совпадает в столбце С, если данных много и работаете уже с этими данными. Скажем так это будет у вас файл для проверки адресов и всё. Данная функция не будет работать в других файлах Excel, а только в этом, т.к. макрос написан только внутри этого файла
Изменено: New - 05.08.2022 10:54:01
Непредвиденная ошибка при выгрузке данных из SQL на лист
 
Сперва пишите сроку:
On Error Resume Next
Потом ваш код, где возникает ошибка
Потом ниже вашего кода с ошибкой пишите
On Error GoTo 0
Выявление расхождений в двух столбцах содержащих текстовые ячейки, Выявление расхождений в адресах в двух столбах, причем адреса прописаны в столбцах по разным принципам
 
vikki, у меня получилось вот так (см. файл)
Изменено: New - 05.08.2022 00:41:18
Выявление расхождений в двух столбцах содержащих текстовые ячейки, Выявление расхождений в адресах в двух столбах, причем адреса прописаны в столбцах по разным принципам
 
Ну, как без макросов - я не знаю, я в формулах не разбираюсь. А макросом пока кажется так - из левой таблицы берём текст до города (там будет улица, номер дома, литера), разбиваем этот текст по пробелам и потом начинаем в цикле искать каждое слово в правой таблице. Если какого-то слова нет (названия улицы нет, или номер дома нет, или слова "литера"), то значит строка из второй таблицы не совпадает со строкой первой таблицы. По идее, это можно сделать функцией на макросе
Изменено: New - 05.08.2022 00:43:20
Выявление расхождений в двух столбцах содержащих текстовые ячейки, Выявление расхождений в адресах в двух столбах, причем адреса прописаны в столбцах по разным принципам
 
а я не понял, что хочет vikki. У вас есть 2 списка -  1-й в столбце А и 2-й в столбце С. (один красненький, второй беленький).
В вашем файле эти списки равны или не равны?
Они всегда равны по строкам параллельно? или, условно, адрес Гадиева, 77 в первой (левой) таблице во 2-й строке, и он же может быть в 10-й строке второй (правой) таблице?
Что такое неточности для вас? Для меня вообще все данные в этих двух таблицах неточные, т.к. отличаются буквами, числами, наличием индексов и т.д.
Вы как-то быстро обижаетесь (аа, ну, вас, буду глазами делать), и не хотите более подробно описать что нужно делать.
Может вам действительно придётся всю жизнь делать эту задачу глазами, но вы хотя бы попытайтесь объяснить нам, что вы пытаетесь делать.
Если бы вы написали - вот 3-я строка в левой таблицы отличается от 3-й строки правой таблицы и поэтому мне и нужно автоматически найти эту 3-ю строку левой таблицы.
А так я посмотрел - вроде, улицы и дома совпадают построчно в этих 2-х таблицах, одна красная, другая белая.... что хотят от нас не понятно.
Может вам хватит проверки наличия улицы из 1-й таблицы одной строки во 2-й таблицы этой же строке и вас это устроит, т.е. если во 2-й строке левой таблицы улица Гадиева, 77 и это же улица и дом есть на этой же строке во второй таблицы, то адреса совпадают и на этом проверка 2-й строки закончилась и можно переходить к строке ниже. А может вам такой проверки не хватит и нужно сверять полностью область, город, улицу, дом, и литеру... можно более подробнее?
Изменено: New - 04.08.2022 23:01:29
Преобразование формул в значения только на выделенных листах
 
Del
Изменено: New - 04.08.2022 12:39:55
Заполнить пустые строки нужными данными
 
Макросом так. (см. файл)
Код
Sub FillRange()
    Dim LastRow As Long
    With ActiveSheet
        LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Range("A2:A" & LastRow).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C"
        .Range("B2:B" & LastRow).SpecialCells(xlCellTypeBlanks).Value = "A"
    End With
End Sub
Добавление и удаление выделенной строки vba, Добавление и удаление выделенной строки vba
 
Цитата
tolikt написал:
т.к. этот почему-то открывается с ошибкой.
файл у ТС имеет формат XLSM, но он руками изменил расширение на xls.
Изменено: New - 03.08.2022 18:52:17
Ищу преподавателя (репетитора, наставника)
 
тут главное понять по системе оплаты (часы, дни, месяцы обучения - какая будет оплата)
P.S. заказ не держу, просто интересуюсь
Изменено: New - 03.08.2022 18:53:35
ВПР в VBA для всего столбца
 
можете не нажимать на кнопку "Цитировать", я помню, что я писал совсем недавно.
я вам сочувствую, жму руку, желаю удачи... вы, наверное, плохо прочитали моё первое предложение в моём ответе, которое вы к тому же, процитировали.
Изменено: New - 03.08.2022 18:06:37
Как увеличить кол-во загружаемых записей за шаг цикла при загрузке в PQ, PQ стал работать медленнее в 5 + раз после установки нового офиса (2021) из-за снижения кол-ва записей в шаге цикла
 
Neostt,
ВПР в VBA для всего столбца
 
во-первых, желательно прикладывать небольшой файл-пример (не рабочий файл на 10Мб, а тестовый небольшой пример)
во-вторых, если вы вводите формулу в 1 ячейку, то и получите формулу в одной ячейке. Если будете вводить в диапазон ячеек, то и получите формулу в диапазоне ячеек.
Что-то типа такого
Код
    With IzbrSvod
        'находим номер последней строки в столбце А
        LastRow = .Cells(.Rows.Count, "A").End(xlUp).Row 
        'первое - указываем диапазон, т.е. Range
        'второе - указываем LastRow во втором Cells
        .Range(.Cells(2, ColEndIzbr + 1), .Cells(LastRow, ColEndIzbr + 1)).Value = WorksheetFunction.VLookup(IzbrSvod.Cells(2, ColEndIzbr - 3), SpravSubj.Range("A:F"), 4, False)
    End With
Изменено: New - 03.08.2022 17:36:49
Как увеличить кол-во загружаемых записей за шаг цикла при загрузке в PQ, PQ стал работать медленнее в 5 + раз после установки нового офиса (2021) из-за снижения кол-ва записей в шаге цикла
 
Михаил Лебедев, я далёк от PQ, но посмотрите в настройках PQ, что у вас тут указано. Там есть кнопку внизу "Очистить кэш" и "Восстановить значения по умолчанию". Попробуйте нажать их. А так же там можно поставить галочку "Быстрая загрузка данных" - потестируйте
Переместить несколько символов в строке по условию
 
примеры нужно выкладывать в файле Excel, а не текстом, как у вас.
P.S. Не в рабочем файле Excel с секретными данными, а в специально созданном файле-примере
См. файл
Изменено: New - 03.08.2022 00:19:00
Редактирование строки в умной таблице VBA, Редактирование строки в умной таблице VBA
 
skais675, мне кажется вам стоит использовать Option explicit в своих макросах, тогда вы поймёте, что для компилятора CHRow и CH это вообще не одно и тоже.  Там только .Range не хватает перед .Value. А то сейчас по представленному в первом сообщении коду получается - ребят, почему у меня переменная В не равна 5 вот в этом коде
A= 5
Msgbox b
Изменено: New - 02.08.2022 16:40:54
Поместить продажи из таблицы листа 1 в таблицу листа 2 на основании текущей даты через ВБА
 
Вот ещё почитайте
https://www.thespreadsheetguru.com/blog/2014/6/20/the-vba-guide-to-listobject-excel-tables
Поместить продажи из таблицы листа 1 в таблицу листа 2 на основании текущей даты через ВБА
 
если честно, то вашу таблицу на листе Sales Data надо переделать в вертикальную (чтобы она уходила вниз), а не вправо, как у вас. Вы через месяц заходите отфильтровать вашу таблицу и... придёте снова на форум и скажите: Ребят, я тут фигню нагородил, как мне теперь вот это всё отфильтровать.
А если сейчас вам кто-то напишет макрос, то когда вы поймёте, что таблица должна быть вертикальной, а не горизонтальной, то и макрос придётся переписывать
P.S. Не совсем правильно давать переменным одно и тоже имя Dim  Profit, Profit

Попробуйте так
Код
Sub Test()
    Dim dtDate As Date, dSales As Double, dExpenses As Double, dProfit As Double
    Dim Rng As Range, LO As ListObject

    With Worksheets("Sales")
        dtDate = CDate(.Range("B1"))
        dSales = .Range("E3")
        dExpenses = .Range("F3")
        dProfit = .Range("G3")
    End With
    
    With Worksheets("Sales Data")
        Set LO = .ListObjects(1)
        Set Rng = LO.HeaderRowRange.Find(Format$(dtDate, "dd\/MM\/yy"), , xlFormulas, xlWhole)
        If Not Rng Is Nothing Then
            With LO.DataBodyRange
                .Cells(1, Rng.Column).Value = dSales
                .Cells(2, Rng.Column).Value = dExpenses
                .Cells(3, Rng.Column).Value = dProfit
            End With
        End If
    End With
End Sub
Изменено: New - 02.08.2022 13:44:45
Автоматическое заполнение данных на разных листах по мере заполнения таблицы регистрации
 
Михаил Сухоруков, См. код в файле, зелёным цветом я дописал комментарии к каждой строке кода
P.S. Написал вам свою почту в Личные сообщение (это вверху этой страницы - Сообщения (1) )
Изменено: New - 02.08.2022 01:00:58
Автоматическое заполнение данных на разных листах по мере заполнения таблицы регистрации
 
да, я пишу макросы на заказ и вы можете ко мне обратиться. Я напишу вам свою почту в Личные сообщения
Автоматическое заполнение данных на разных листах по мере заполнения таблицы регистрации
 
ну, наверное, есть. Просто для изучения VBA нужно потратить какое-то время, хотя бы полгода. Если хотите, я могу добавить комментарии в код, что означает каждая строка кода
Автоматическое заполнение данных на разных листах по мере заполнения таблицы регистрации
 
да, в файле встроен макрос. Но макрос нестандартный, который можно было бы запустить через Alt+F8, а макрос, записанный в модуле листа "Таблица регистрации результатов". Т.е. макрос, который отслеживает изменения именно на этом листе. Посмотреть его несложно. В вашем файле внизу вы видите ярлычки листов. Один ярлычок называется "Таблица регистрации результатов". Щёлкните по нему правой клавишей мыши и выберите "Посмотреть код" и сразу откроется модуль этого листа и там будет виден весь код макроса. Там есть процедура Worksheet_Change - она срабатывает, когда вы изменяете значение в любой ячейке на этом листе (вписываете значение, удаляете значение, меняете значение в ячейке и т.д.)
Изменено: New - 02.08.2022 00:36:19
Автоматическое заполнение данных на разных листах по мере заполнения таблицы регистрации
 
см. файл
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 124 След.
Наверх