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

Страницы: 1 2 След.
При слиянии данных с помощью ВПР ошибка. Почему?
 
Главное заменил запятую на точка с запятой. епрст. Спасибо огромное, вот что значит спецы.  
При слиянии данных с помощью ВПР ошибка. Почему?
 
Не получается сделать слияние таблиц: из второго листа присоединить к первому по полю Наименование. Пишет ошибка. Прикрепил пример прям с ошибкой.
Если вставляю формулу ниже на Лист1 в E2 то пишет Ошибка
Код
=ВПР($A2;'Лист2'!$A$2:$B$6;2;FALSE)
Изменено: ole-van-de - 18.12.2019 11:30:22
Кнопки назад и вперед не работают с макросом
 
Цитата
Wild.Godlike написал:
ole-van-de , читаем  тут
Приогромнейшее спасибо. Читаю и разбираюсь.
Кнопки назад и вперед не работают с макросом
 
ну... это не то...
Кнопки назад и вперед не работают с макросом
 
Добрый день.

шайтанама. Только сегодня узнал об этом. Так что делать?)
Может есть способ пусть еще макрос повесить, что бы он 5 операций запоминал например?
Выделеная ячейка другим цветом
 
Не могу понять где ошибка. Использую такую функцию - окрашивать выделенную ячейку желтым цветом. Смысл в том, что бы при уходе с выделенной ячейки оставался тот же первоначальный цвет ячейки, который был. Но всё стирается.
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static rngcolor As Range
    If Not rngcolor Is Nothing Then rngcolor.Interior.ColorIndex = xlNone
    Set rngcolor = Target
    rngcolor.Interior.Color = vbYellow
End Sub
Изменено: ole-van-de - 05.10.2019 16:47:21
Как взять значение ширины столбца
 
Сейчас бьюсь над ошибкой правда, если выделить несколько ячеек мышкой (смежных) то останавливается с ошибкой и ругается на стройку
Код
W = rngDEwidh.ColumnWidth

Я так понял он не может присвоить нескольким ячейкам одно знаечние.
Как взять значение ширины столбца
 
Работает. Смысл понятен. Cool!
Как взять значение ширины столбца
 
Добрый день. Использую такую функцию, которая вставляется на Лист. Функция отслеживает положение курсора, когда выделенная ячейка всегда окрашивается в желтый цвет, а при переходе на другую ячейку, цвет ячейки возвращается обратно (что бы не испортить форматирование). Такой же финт хочу проделать с шириной столбца, то есть там где выделенная ячейка, ширина столбца увеличивается до 25 или до AutoiFit, но при переходе на другой столбец ширина поля должна вернуться обратно. Я не могу записать в переменную ширину столбца, пробовал такие варианты:
Код
Then rngDEwidh.Columns.ColumnWidth = rngDEwidh.Columns.ColumnWidth
Then rngDEwidh.Columns.ColumnWidth = xlNone
Then rngDEwidh.Columns.ColumnWidth = ActiveCell.width
-не работает

Ну а вот вся функция
Код
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Static rngcolor As Range
    If Not rngcolor Is Nothing Then rngcolor.Interior.ColorIndex = xlNone
    Set rngcolor = Target
    rngcolor.Interior.Color = vbYellow

    Static rngDEwidh As Range
    If Not rngDEwidh Is Nothing Then rngDEwidh.Columns.ColumnWidth = rngDEwidh.Columns.ColumnWidth
    Set rngDEwidh = Target
    rngDEwidh.Columns.ColumnWidth = 25
End Sub
Изменено: ole-van-de - 29.09.2019 09:45:38
Формула копирует текст с ячейки и склеивает все слова в одну строку без пробелов
 
Доброго дня. У меня есть ячейка A1 с текстом (строками) внутри:
Строка1
Строка2
Строка3

Когда использую формулу для B1 (=A1), то всё склеивается в одну строку Строка1Строка2Строка3

А как можно вставлять, допустим, пробелы между строками?
Изменено: ole-van-de - 24.09.2019 11:02:26
Скопировать данные с одного листа на другой если несколько условий
 
Спасибо!
Скопировать данные с одного листа на другой если несколько условий
 
Здорово конечно. Видно что работает быстро, конечно этих нюансов я не знал. Правда при повторном запуске, если пытаюсь изменить Resize(10, 1) на допустим Resize(1, 1) вываливается ошибка на 9 строку For Each x In arrList, и потом уже и возврат обратно не помогает пока не перезапустишь файл. Кстати фильтр так и не отработал, он копирует всё, но суть ясна, принцип хороший безусловно и скоростной.    
Скопировать данные с одного листа на другой если несколько условий
 
Ладно, допустим с циклом. Подготовил вариант. Но есть разочарование в VBA. В файле около 50 тыс строк и около 10 столбцов, при выборки на основе скрипта выше даже с одним условием, он захлебывается, уходит в глубокое раздумье на три мин и более и больше оттуда не выходит. Применять диапазон из 5-10 слов вообще нет смысла. (А я то проверял на примере из 150 строк и там всё работало). Что интересно, родной ручной фильтр Excel на 50 тыс строк работает быстро, секунда-две, но он ограничен двумя условиями ИЛИ (содержит слово..). А мне надо было до 6 условий. Неужели vba тугодумный...

Ну и вот вариант по нескольким условиям:

Код
Sub Copy()
Dim i, LastRow
LastRow = Sheets("All").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Cells.Clear
Worksheets("All").Rows(1).Copy Destination:=Worksheets("Sheet2").Rows(1)
For i = 2 To LastRow
    For j = 2 To 10
If InStr(Sheets("All").Cells(i, "F"), Sheets("FilterWords").Cells(j, "E")) <> 0 Then
Sheets("All").Cells(i, "A").EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
    Next j
Next i
End Sub
Изменено: ole-van-de - 17.09.2019 18:26:48
Скопировать данные с одного листа на другой если несколько условий
 
Какое ТЗ? о чем вы? Вы впихиваете целый цикл в еще один имеющийся у меня здесь. Мне кажется можно обойтись countif и sum приспособив в конструкцию IF на подобии правила УФ, которое я спец оставил.  
Скопировать данные с одного листа на другой если несколько условий
 
Ссори за задержку. Выкладываю файл. Есть два листа: "Все" (вся информация) и "Формулы" (здесь хранятся слова фильтры по которым надо искать). Нужно из листа "Все" скопировать данные на новый Лист на основании слов в столбце E2:E10 листа "Формулы". Всё просто. С одной ячейкой Е2 это получается, а вот диапазон воткнуть - пока нет. То есть имеется один макрос "Copy" и он работает с одной ячейкой E2.
Отдельная история - в этом файле есть правило условного форматирования, который подкрашивает строки в голубой цвет (пусть это не сбивает с толку) на основании  слов из диапазона A2:A100 опять же Листа "Формулы". Но это отдельная история, как уже говорил.
Я лишь хотел заметить, что и у условного форматирования и у макроса копирования данных применяется один и тот же принцип - находить строки по перечисленным словам в отдельном столбце другого листа "Формулы". И может быть в vba можно тоже обойтись всего одной строчкой в конструкции IF на подобии правила усл форматирования (я имею ввиду одну строчку только для IF, а не вообще одну строчку в макросе :) )
Скопировать данные с одного листа на другой если несколько условий
 
Интересно, дома проверю, сейчас уже ухожу. А использовать принцип формулы условного форматирования, которая делает почти то же самое, только разукрашивает, можно?
Код
=СУММ(СЧЁТЕСЛИ($H1;"*"&Имя_Области&"*"))
Изменено: ole-van-de - 16.09.2019 18:23:17
Скопировать данные с одного листа на другой если несколько условий
 
Доброго дня. Есть vba который копирует данные с одного листа на другой если в поле E2 есть некая строка (слово). А как использовать несколько условий в поле E? то есть любое из слов в E2:E10. Если указываю диапазон то ошибка.  Если просто E2 то всё работает.

Нерабочий вариант
Код
If InStr(Sheets("Лист1").Cells(i, "F"), Sheets("Формулы").Range("E2:E10")) <> 0 Then  

А вот рабочий вариант

Код
If InStr(Sheets("Лист1").Cells(i, "F"), Sheets("Формулы").Range("E2")) <> 0 Then
Изменено: ole-van-de - 16.09.2019 18:02:07
Как скопировать данные с одного листа на другой на основании данных в столбце
 
Глубоко извиняюсь, исправил VBA и скрипт заработал:

Sub Copy_Criteria ()
Dim i, LastRow
LastRow = Sheets("Лист1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Лист2").Range("A2:I500").ClearContents
For i = 2 To LastRow
If Sheets("Лист1").Cells(i, "A").Value = "Яблоки" Then
Sheets("Лист1").Cells(i, "A").EntireRow.Copy Destination:=Sheets("Лист2").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next i
End Sub

А вот формула... интересно..  
Изменено: ole-van-de - 15.09.2019 18:01:02
Как скопировать данные с одного листа на другой на основании данных в столбце
 
Код
НаименованиеЦенаКоличество Яблоки160р10кгГруши190р18кгВиногшрад210р15кг

Как скопировать данные с одного листа на другой на основании данных в столбце (то есть где попадаются яблоки). Есть формула, но не работает хоть ты тресни:

=filter(Лист1!A:C;Лист1!A:A="Яблоки")  

Причем я так понял формулу надо вставлять в ячейку A2 второго листа. или нет. Всё время ругается на Имя. Имя ему не нравится.

Так же нашел макро, выложил какой то индус и тоже ни не работает:

Sub Copy_Criteria ()
Dim i, LastRow
LastRow = Sheets("Sheet1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheet2").Range("A2:I500").ClearContents
For i = 2 To LastRow
If Sheets("Sheet1").Cells(i, "E").Value = "" Then
Sheets("Sheet1").Cells(i, "E").EntireRow.Copy Destination:=Sheets("Sheet2").Range("A" & Rows.Count).End(xlUp).Offset(1)
End If
Next i
End Sub
Изменено: ole-van-de - 15.09.2019 18:00:27
Как в текстовом фильтре два раза указать текст содержит
 
Нашел, внизу такое же поле. Просто условие "содержит", второй раз уже появляется почему то внизу списка.
Как в текстовом фильтре два раза указать текст содержит
 
То есть всё просто. Мне надо найти все ряды, если колонка содержит 10.77.104 или 10.77.105
Но вижу, что можно указать только один раз "Текст содержит"
Пока не нашел ответа, искал 10 минут, тратить на эту ерунду час не вижу смысла лучше спросить. В обычных языках это решается через & или чере Или OR и т.п.  
Как импортировать множество файлов CSV в один Excel файл
 
В powershell я бы это сделал примерно так:
1. Считать все файлы из такой то директории в одну переменную (массив с данными)
2. Выгрузить содержимое переменной (массива) в конечный файл
Две строчки.

Но есть недостаток. Файлы csv поступают постоянно и информация на момент просмотра в "собирательном" файле excel должна быть актуальна, это значит надо вешать планировщик задания на этоит скрипт и запускать его постоянно через какое-то время, чего не хотелось бы. А пользоваться файлом будут без меня. Я бы сам запускал себе этот скрипт и пользовался и т.д.
Изменено: ole-van-de - 09.09.2019 14:27:35
Как импортировать множество файлов CSV в один Excel файл
 
Это команда vba? мне нужно что бы всё делала книга excel, csv файлы каждый раз будут меняться, кроме формата внутри.  
Как импортировать множество файлов CSV в один Excel файл
 
Согласен. Как уже вижу тут двумя-пятью строчками не обойтись, (как в powershell кстати по данному вопросу). Но мне нужен Excel. Буду копать дальше.
Изменено: ole-van-de - 09.09.2019 14:03:29
Как импортировать множество файлов CSV в один Excel файл
 
я так понимаю вряд ли там кто то будет за просто так помогать). ладно, сейчас сделаю, выложу.
Как импортировать множество файлов CSV в один Excel файл
 
неееее, а я хочу готовый вариант)). если честно нашел на просторах интернета вариант, правда запрашивает директорию и берет всего два столбца, а не все, которые есть в csv. Параллельно разбираюсь сейчас пытаюсь модернизировать..
Как импортировать множество файлов CSV в один Excel файл
 
Кто нибудь может предложить вариант макро, который объединит множество файлов CSV в один Excel файл на один лист? Все CSV абсолютно одинаковы, находятся в одной папке с книгой Excel, то есть открыл книгу Excel запустил функцию (либо кнопку) и он без вопросов объединил все файлы csv в один лист. Лучше, что б и функцию запускать не надо было, просто открыл книгу. Спасибо :)
(если надо скину пример файлов csv)
Изменено: ole-van-de - 09.09.2019 13:07:54
Условное форматирование подсветка строки на основании слов по шаблону
 
Спасибо всем. формулы не работали из-за запятой в англ версии вместо точки с запятой в русской. всю свою жизнь об этом не знал, идиотизм.
Как диагностировать ошибки в Excel ?
 
Помогли разобраться, спасибо. надо поставить и англ версию excel я так думаю.
Как диагностировать ошибки в Excel ?
 
я не знал про замену запятой  :oops: )). сейчас попробую еще раз конечно, но на английском то можно и без замены я так понимаю.
Страницы: 1 2 След.
Наверх