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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 88 След.
Сопоставить 2 столбца адресов, и вывести результаты с доп столбцами.
 
По какому алгоритму после парсинга сверять на идентичность это:
Цитата
Wild.Godlike написал:
Республика Коми, г Воркута, пгт Северный, ул Ватутина, д 9, кв 71
Республика Коми, г Воркута, пгт Северный, ул Ватутина, д 9, кв. 71
Республика Коми, г Воркута, пгт Северный, ул. Ватутина, д 9, кв 71
Республика Коми, г Воркута, ул Ватутина, д 9, кв 71
г Воркута, пгт Северный, ул. Ватутина, д 9, кв 71
?
Изменено: Nordheim - 26 Июн 2019 09:09:05
"Все гениальное просто, а все простое гениально!!!"
Зависание USERFORM
 
Цитата
pgav написал:
есть UserForm с множеством разных Textbox, Combobox,
может проблема в этом и просто не хватает памяти.
Изменено: Nordheim - 26 Июн 2019 08:58:16
"Все гениальное просто, а все простое гениально!!!"
Сопоставить 2 столбца адресов, и вывести результаты с доп столбцами.
 
Цитата
Wild.Godlike написал:
разработка такого парсера выйдет в 20+к если не больше.
Остается только посочувствовать.  :(
"Все гениальное просто, а все простое гениально!!!"
Сопоставить 2 столбца адресов, и вывести результаты с доп столбцами.
 
Wild.Godlike, А в базе Росреестра нет ID ? если есть то может и в вашей базе сделать ID идентичный и по нему подтягивать данные?
"Все гениальное просто, а все простое гениально!!!"
Сопоставить 2 столбца адресов, и вывести результаты с доп столбцами.
 
Для такой БД нужен ключ, посмотрите в эту сторону, если будет ключ то и проблемы с неправильным заполнением адреса исчезнут, а так какой код не напиши быстро он не отработает, по крайней мере не на VBA Excel .
"Все гениальное просто, а все простое гениально!!!"
Сопоставить 2 столбца адресов, и вывести результаты с доп столбцами.
 
Из листа база, данные сами подставите, это уже не сложно, можно даже функцией ВПР воспользоваться, либо код написать.
Код
Sub test()
    Dim objDic As Object, sh As Worksheet
    Dim arr(), txt$, i&, j&
    j = 1
    Set objDic = CreateObject("scripting.dictionary")
    arr = Лист2.UsedRange.Value
    For i = 2 To UBound(arr)
        txt = arr(i, 1)
        objDic.Item(txt) = txt
    Next i
    Erase arr
    arr = Лист1.UsedRange.Value
    For i = 2 To UBound(arr)
        txt = arr(i, 11)
        If objDic.exists(txt) Then
            j = j + 1
            arr(j, 1) = arr(i, 1)
            arr(j, 2) = arr(i, 2)
            arr(j, 3) = arr(i, 3)
            arr(j, 4) = arr(i, 4)
            arr(j, 5) = arr(i, 5)
            arr(j, 6) = arr(i, 11)
            arr(j, 7) = arr(i, 12)
            arr(j, 8) = arr(i, 13)
            arr(j, 9) = arr(i, 14)
        End If
    Next i
    Set sh = Worksheets.Add
    With sh
        .Name = "отчет"
        .[a1].Resize(j, 9) = arr
        .[a1].Resize(, 9) = Array(arr(1, 1), arr(1, 2), arr(1, 3), arr(1, 4), arr(1, 5), _
        arr(1, 11), arr(1, 12), arr(1, 13), arr(1, 14))
    End With
End Sub
"Все гениальное просто, а все простое гениально!!!"
Сопоставить 2 столбца адресов, и вывести результаты с доп столбцами.
 
Алгоритм, я бы применил следующий. Забрал с листа "База" адреса в словарь,  таблицу "РР" в массив, пробежал по массиву сверяя данные со словарем, если совпадает то прямо в текущий массив и перезаписывал, нужные столбцы, используя переменную счетчик. А затем кусок массива выгрузил на лист ограничив счетчиком который велся при совпадении по вертикали и количеством перезаписываемых столбцов по горизонтали.
Сам код писать нет времени, поэтому пишу алгоритм. В принципе задача не сложная, да и на больших объемах должна работать быстрее 20 мин.
"Все гениальное просто, а все простое гениально!!!"
Произвольное количество символов в ячейке
 
А лучше UDF написать (если использовать только на своем АРМе) и не заморачмиваться с компоновкой формул.
что то типа
Код
Function Searh(Диапазон As Range, Значение$)
    If Диапазон.Count > 1 Then Searh = "Диапазон задан не верно": Exit Function
    If Диапазон.Value Like Join(Array("*", Значение, "*"), "") Then Searh = 1 Else Searh = 0
End Function
Изменено: Nordheim - 25 Июн 2019 09:01:01
"Все гениальное просто, а все простое гениально!!!"
Произвольное количество символов в ячейке
 
IvanMantrov, Сейчас формулисты подтянутся и наваяют, что нибудь, я только UDF смогу сделать с таким условием.
"Все гениальное просто, а все простое гениально!!!"
Произвольное количество символов в ячейке
 
А если использовать функции ПРАВСИМВ и ЛЕВСИМВ? что то типа
Код
=ЕСЛИ(ПРАВСИМВ(A1;2)="ВИ";1;0)
Изменено: Nordheim - 25 Июн 2019 08:12:12
"Все гениальное просто, а все простое гениально!!!"
Раскрытие числовых последовательностей
 
Не совсем понятен вопрос, для чего нужно получить последовательность и причем тут Excel, может вам на форум математики начальной школы нужно?
Ни файла, ни где применяется, а просто посчитать от 1 до 10. Или все таки есть какой то скрытый смысл в вопросе? И какие могут быть варианты решения пересчета от 1 до 10?
Изменено: Nordheim - 25 Июн 2019 08:08:58
"Все гениальное просто, а все простое гениально!!!"
Копирование ячейки много раз
 
Код
Do .... Loop
"Все гениальное просто, а все простое гениально!!!"
Собрать данные со всех листов в книге по критерию и перенести в единый лист с указанием листов
 
Цитата
SaraStyle написал:
Напишите,пожалуйста, макрос который будет
С такой постановкой вопроса вам в ветку работа
"Все гениальное просто, а все простое гениально!!!"
Макрос переноса с одного листа в таблицу?, Как реализовать макрос переноса с одного листа в таблицу?
 
Либо немного  сократив код
Код
Sub Button1_Click()
    With Sheets("Таблица")
        cr = .Cells(.Rows.Count, "C").End(xlUp).Row + 1
        .Cells(cr, "C") = .Cells(cr - 1, "C") + 1
        .Cells(cr, "D").Resize(, 9) = Array([G6], [g7], [g8], [G10], [g11], [g12], [G14], [g15], [g16])
    End With
    MsgBox "Внесли!"
End Sub
"Все гениальное просто, а все простое гениально!!!"
Макрос по обработке карточки счета из 1С выдает ошибку
 
А так же интересно куда дели End If после Loop
"Все гениальное просто, а все простое гениально!!!"
Изменить связи без лишних вопросов vba
 
А не пробовали вообще убрать параметры после UpdateLink?
Если записать просто
Код
 ActiveWorkbook.UpdateLink
, что нибудь обновляется?
Изменено: Nordheim - 21 Июн 2019 09:36:09
"Все гениальное просто, а все простое гениально!!!"
макросом очистить все ниже последней заполненной ячейки значением, VBA
 
Еще вариант, похожий но через свойство Resize
Код
Sub test()
    Dim lrow
    lrow = Range("b" & Rows.Count).End(xlUp).Row + 1
    Range("b" & lrow).Resize(Rows.Count - lrow, 7).Clear
End Sub
"Все гениальное просто, а все простое гениально!!!"
формула массива в VBA, расчёт значения без использования ячейки листа
 
Цитата
Максим написал:
можно ли как-то обойтись без внесения значения в ячейку, а сразу присвоить его переменной?
В принципе можно было бы без уточнения написать простой ответ на ваш вопрос "Нет нельзя" и тему можно было бы закрывать, но есть другие люди которые возможно пытаются решить вашим способом проблему, а тут увидят альтернативный вариант, который и возьмут на вооружение. и будут применять. А после ответа "Нет", тема будет "ни о чем", но зато с конкретикой. Ник запомню, и больше не буду докучать вопросами, дико извиняюсь, что задавал их.
Изменено: Nordheim - 20 Июн 2019 22:20:48
"Все гениальное просто, а все простое гениально!!!"
формула массива в VBA, расчёт значения без использования ячейки листа
 
Если бы был положительный ответ, вам давно бы уже ответили. Но похоже ваша задача не решается так как вы хотите. В сообщении №2 вас направили , но наверно  вам там не интересно читать. обычно, если есть решение, то его сразу выкладывают, для меня допустим не понятно как можно присвоить значение формулы массива переменной, скорее всего переменная будет определена как текстовая и на выходе вы получите не тот результат , который хотите
Изменено: Nordheim - 20 Июн 2019 19:53:48
"Все гениальное просто, а все простое гениально!!!"
[ Закрыто] Массовая вставка в ячейки
 
kewbee, А Copy Paste не работает? или вставляет не так как нужно? Не увидел в тексте на картинке ничего замороченного.
"Все гениальное просто, а все простое гениально!!!"
формула массива в VBA, расчёт значения без использования ячейки листа
 
Цитата
Максим написал:
возможное существование способа обойтись без её открытия
Решение через формулы листа по моему более извращенный способ, нежели открытие книги.
"Все гениальное просто, а все простое гениально!!!"
формула массива в VBA, расчёт значения без использования ячейки листа
 
А причина в чем, книгу не открывать? Непонятно, чем это мешает?
"Все гениальное просто, а все простое гениально!!!"
Макрос по обработке карточки счета из 1С выдает ошибку
 
Джорджина, У вас один из End If . почему то находится после Loop вот тут нужно понимание куда внутрь блока Do .... Loop его необходимо переместить, что бы макрос работал как надо. Перед    
Код
 K = K + 1
или после.
"Все гениальное просто, а все простое гениально!!!"
формула массива в VBA, расчёт значения без использования ячейки листа
 
Цитата
Максим написал:
кодом VBA  работать с закрытой книгой (без её открытия)
А что мешает открыть книгу?
"Все гениальное просто, а все простое гениально!!!"
ошибка при вызове макроса из макроса, при вызове макроса процедурой Call выходит ошибка Ambiguous name detected: Преобразование_Проплаты
 
Цитата
VIZ_VIZ написал:
Макросы не прикладываю  - длинные - вряд ли кому-то будет интересно.
Сомнительно, что кому то будет интересно разбираться в макросе без наличия макроса.
Тавтология какая то, но это факт.
"Все гениальное просто, а все простое гениально!!!"
Выход из макроса если не выбрано значение LISTBOX
 
Цитата
Kentavrik7 написал:
Думал прописать условие если Listindex = -1 then exit sub но такое не получилось.
Странно воспроизвел, все работает. на каком событии воспроизводили, и вообще нужен файл пример, для наглядности.

Код
Private Sub CommandButton1_Click()
   If ListBox1.ListIndex = -1 Then Me.Hide Else MsgBox ListBox1.Value
End Sub

Private Sub UserForm_Initialize()
    Dim i&
    For i = 1 To 12
        ListBox1.AddItem Format(DateSerial(Year(Now), i, 1), "mmmm")
    Next
End Sub
Изменено: Nordheim - 20 Июн 2019 10:40:46
"Все гениальное просто, а все простое гениально!!!"
Нужно отобразить окно со скрытыми листами с помощью кнопки
 
Цитата
serpan написал:
После открытия окна нужно, чтобы кликнув на название листа открывался лист, а открытое окно со скрытыми листами закрывалось.
Нужно, сделайте, кто же мешает. Там кода на 2-5 строк
"Все гениальное просто, а все простое гениально!!!"
Помогите соединить 2 таблицы в одну с дальнейшими обновления при заполнении
 
Цитата
artyrH написал:
вам раньше уже помогли?  
:D
"Все гениальное просто, а все простое гениально!!!"
Макрос по разнесению таблицы на разные вкладки
 
Цитата
Wiss написал:
Просто двумерный массив
Это можно реализовать и через словарь, без массива, имена (индексы листов), сцепить через разделитель в значение словаря, а потом (f)
Split распарсить, но это уже более сложный код получается, нежели представлен у ТС. Тут нужно всю логику прописывать заново. С временем засада, а так можно было бы заморочиться. Только я от автора так и не получил ответа, что есть метка
"Все гениальное просто, а все простое гениально!!!"
Макрос по разнесению таблицы на разные вкладки
 
Цитата
Hugo написал:
думаю что тут сгодится словарь - сперва в него собрать все метки
могут быть затруднения, если метки на листах совпадут, то на какой лист вставлять значение. Поэтому я и задал вопрос "почему сверка идет только по одной ячейке", значения ячейки [b1] в листах на которые переносятся данные одинаковые.
"Все гениальное просто, а все простое гениально!!!"
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 88 След.
Наверх