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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 725 След.
Копирование данных с листа по условию
 
LastRow = .Cells(Rows.Count, 1).End(xlUp).Row - тут один лист
       Cells(LastRow + 1, "D").ClearContents - а тут уже другой!
P.S. Ну и вообще-то нужно бы привыкать и у Rows.Count указывать чьё значение берёте - бывали случаи что играло!
Изменено: Hugo - 17 Окт 2019 12:52:25
Удалить открытый файл без сохранения макросом из другой книги, с очисткой буфера обмена
 
Имхо по описанию задачи всё проще:
Код
set qwerty=workbooks.add
работаем с объектом qwerty
qwerty.close false
Application.CutCopyMode = False
Изменение данных в одной и той же ячейке, с разных листов книги
 
Идея - в меню листа сделать вызов этого макроса.
Это если нет свободных горячих клавиш :)
Но проще конечно делать именно в этом файле, т.е. когда он не xlsx.
Изменено: Hugo - 11 Окт 2019 09:32:26
Найти в таблице ячейку, которая СОДЕРЖИТ текст
 
Цитата
IKor написал:
Не могу пока понять почему в примере для третьей строчки возвращается ошибка.
- ВПР типа =ВПР("*"&A4&"*";Продукты!B:C;2;0) тоже в третьей строке ошибку даёт.
А так вполне можно применять, если копию первого столбца правее кинуть. Или в комбинации с ЕСЛИ или ВЫБОР, если таблицу нельзя изменять.
Но вот почему ошибка в третьей?
Сравнение и копирование данных из двух столбцов
 
Точно потеряли время когда с скрином возились - Вы сами пробовали его посмотреть? Я не говорю о том что лишние пробелы уж точно там не видны в принципе...
При выполнении кода иногда возникает ошибка 'Method 'Range' of object '_Worksheet' failed
 
И ещё (не знаю, может где по ссылке и сказано, но больно много там текста) - если не указывать родителя ячеек, то ещё имеет значение и где записан код. Потому что если он в модуле листа - всегда все ячейки без указания родителя будут по умолчанию этого листа, и не важно какой лист активен.
Доработать vba excel макрос по поиску и присвоению значения
 
Пробую гадать - наверное нужно так:
Код
Sub tt()
    Dim a, i&

    With CreateObject("Scripting.Dictionary")
        a = Sheets("base").[a1].CurrentRegion.value
        For i = 2 To UBound(a)
            .Item(a(i, 2)) = a(i, 3)
        Next

        a = Sheets("next").[a1].CurrentRegion.Columns(3).value
        For i = 1 To UBound(a)
            a(i, 1) = .Item(a(i, 1))
        Next
    End With

    Sheets("next").[a1].CurrentRegion.Columns(3).Offset(, 4).value = a
        '5. Сообщение, чтобы юзер понял, что макрос закончил работу.
    MsgBox "Готово, если ещё не понял :).", vbInformation
End Sub
Доработать vba excel макрос по поиску и присвоению значения
 
В деталях непонятно, можно только гадать что скрывается под
Цитата
inews написал:
и присваивать значение с этого же листа столбца ©
Но вообще нужно делать на словаре и массивах, если работаете на Винде. Или на коллекции и массивах в другом случае.
P.S. Забыл - нечего тут дорабатывать, тут нужно всё писать заново. Из всего кода можно оставить без изменения только 7 строк :(
Изменено: Hugo - 3 Окт 2019 20:35:00
Оправка книги с макросом по почте
 
Ещё варианты:
1. файл в обменник, в письмо ссылку
2. файл на флешку, отправляете письмом. Ну или идёте на почту и  бандеролью - если флешка большая :)
Найти совпадения в двух списках по позициям и ценам
 
Если цифр не больше 15-ти - то можно применять. Если больше - накосячит...
Найти совпадения в двух списках по позициям и ценам
 
СЧЁТЕСЛИ по артикулам может и не сработать... Вернее сработает, но криво. Нужно видеть что это за артикулы.
Изменено: Hugo - 2 Окт 2019 19:33:00
Извлечь из текста последнее число
 
Давайте продолжим - что такое отделить? Или что такое ненужное и куда его убрать и после этого и где останется?
Т.к. это файл csv - его не смотрю, т.к. уверен что там Вы не показали пример что нужно получить после работы макроса.
А вообще для редактирования csv Excel не нужен и даже может быть вреден, для ручного редактирования есть спецпрграммы, а если писать код - то можно обойтись wsh/vbs. Но это смотря какая вообще стоит задача.
Заполнение данными сразу нескольких бланков VBA, Есть задача заполнить несколько шаблонов (до 12-ти) одинаковыми данными
 
Криминал думаю в том, что на первом листе нет именованных диапазонов, вернее они относятся к книге.
Можно пробовать или переделать эти диапазоны, или на первом шаге обращаться к диапазону книги, а на 2 и 3 - к листам.
P.S.Хотя... отработало банально так:
Код
Private Sub CommandButton1_Click()
Dim nomer_stroki As Long, massiv() As Variant, i As Integer, j As Integer
nomer_stroki = ActiveCell.Row
massiv = Range(Cells(nomer_stroki, 1), Cells(nomer_stroki, 10))
With sh1
    For i = 1 To 10
        .Range("yacheyka_" & i) = massiv(1, i)
    Next
End With
With sh2
    For i = 1 To 10
        .Range("yacheyka_" & i) = massiv(1, i)
    Next
End With
With sh3
    For i = 1 To 10
        .Range("yacheyka_" & i) = massiv(1, i)
    Next
End With
End Sub

Т.е. можно просто идти циклом по листам, но не от 1, а от 2 то 4, используя индексы листов, а не кодовые имена. Или используя индексы массива с именами листов.
Изменено: Hugo - 29 Сен 2019 23:20:53
Заблокировать ввод данных после определенного времени
 
Тем, кто не имеет права изменять файл -  давайте смотреть pdf, который может генериться например при каждом сохранении исходного xlsm.
Или другую копию, которая всегда readonly.
А с подходом требуемом в теме - как по мне то это тупиковый путь.
Написать код, который будет похож на функцию ЕСЛИ(И( в Excel
 
Просто идёте циклом (одним!) от 2 до 3342 и проверяете ячейки строки - если первая подходит то проверяете вторую, если и там ОК то третью - так будет быстрее и правильнее.
Код пишу только для файлов.
Подтянуть данные из одной книги в другую
 
Да. Например в двух книгах в столбце А забиты ссылки на столбец А первой книги.
Теперь можете вносить данные только в этот один столбец одной книги - в обоих других увидите данные когда их откроете.
Импорт курсов валют с сайта nbrb.by, месяц меняется со днем
 
Извиняюсь, не заметил под спойлером.
Но всё равно придётся корректировать код 6one - встраивать в цикл по датам. Но это уже не сложно.
Импорт курсов валют с сайта nbrb.by, месяц меняется со днем
 
Не, там www.cbr.ru
Импорт курсов валют с сайта nbrb.by, месяц меняется со днем
 
Т.е. как оказалось - с июля 2016 всего лишь поменялся код валют!
Вот затейники... и никому нигде ни слова :(
Изменено: Hugo - 25 Сен 2019 00:07:27
Замена СчетЕсли при подсчёте количества звонков., Нужно придумать альтернативу формуле СЧЕТЕСЛИ
 
А мне без разницы что считать :)
Импорт курсов валют с сайта nbrb.by, месяц меняется со днем
 
Ну по той ссылке ведь есть всё - задача это взять!
Но я пас, недосуг. Наверняка где-то уже всё написано...
Замена СчетЕсли при подсчёте количества звонков., Нужно придумать альтернативу формуле СЧЕТЕСЛИ
 
Я же написал - выделяете диапазон, и вводите массивно функцию. Как вводить - https://www.planetaexcel.ru/techniques/2/91/
См. пример 1 пункт 6.
А ну и конечно код из модуля нужно скопировать или в тот файл где будете применять, или в надстройку, или в любой открытый в фоне файл, но тогда синтаксис будет с указанием файла - вводите применяя мастер функций.
Изменено: Hugo - 24 Сен 2019 21:11:51
Замена СчетЕсли при подсчёте количества звонков., Нужно придумать альтернативу формуле СЧЕТЕСЛИ
 
Потестируйте.
Я тут в примере пару ID поменял, ну чтоб было вообще что считать.
P.S. Работает только на Винде! Для Мака нужно код чуть менять - нет у них словаря...
Изменено: Hugo - 24 Сен 2019 21:05:18
Импорт курсов валют с сайта nbrb.by, месяц меняется со днем
 
Есть там и рубли, и евро, по ссылке выше. Только даты меняйте...
Но код придётся всё равно переписывать.
Изменено: Hugo - 24 Сен 2019 20:50:25
Замена СчетЕсли при подсчёте количества звонков., Нужно придумать альтернативу формуле СЧЕТЕСЛИ
 
На VBA можно написать UDF :)
Т.е. можно забить сразу на весь миллион одну функцию, которая будет пересчитываться при замене данных.
Ну или протягивать её в любом диапазоне/файле, но на полмиллиона хлопотно тянуть...
Импорт курсов валют с сайта nbrb.by, месяц меняется со днем
 
Там на сайте есть описание как это делать по-современному с API. xml они говорят устарело...
Но можно из xml  тянуть сегодняшний курс если что - такая страница выдаётся, значит с неё данные можно взять.
Формула копирует текст с ячейки и склеивает все слова в одну строку без пробелов
 
Попробуйте скопировать ещё и формат с той ячейки. Или задайте вручную формат с переносом строк.
Из массива в диапазон.
 
Цитата
Ігор Гончаренко написал:
WorksheetFunction.Transpose
- у этого метода есть куча недостатков.
Поэтому рекомендую в первом коде заполнять сразу двумерный массив, чтоб потом его выгрузить на лист без всяких транспонирований как в примере Юрия.
Импорт курсов валют с сайта nbrb.by, месяц меняется со днем
 
Код
 For iIndex = 0 To NodeList.Length - 1 'запускаем цикл по всем выбранным данным

этот ноделист для евро только 182 позиции.
Т.е. уже у банка нет данных, см.
http://www.nbrb.by/Services/XmlExRatesDyn.aspx?curId=19&fromDate=5.1.2016&toDate=9.22.2016
Изменено: Hugo - 22 Сен 2019 16:14:34
Как макросом удалить пустые строки в txt файле
 
Да как угодно. Но лучше контролируя процесс через импорт внешних данных.
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 725 След.
Наверх