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

Страницы: 1
Удаление строк в листе по содержимому столбца G
 
спасибо
Изменено: gosmark - 20.01.2018 11:22:03
Удаление строк в листе по содержимому столбца G
 
Цитата
gosmark написал:
Array(" 840 ") Пробелы поставить перед и после значения...
А нет, не помогло ((
Удаление строк в листе по содержимому столбца G
 
Array(" 840 ") Пробелы поставить перед и после значения...
Удаление строк в листе по содержимому столбца G
 
Подскажите, использую данный макрос.
ищу значение "840", но макрос находит все ячейки где есть сочетание этих цифр, а нужно чтобы удалял только если ячейка целиком содержит такое значение в столбце А. Как задать это условие, чтобы удалялись строки содержащие ячейку со значением 840 целиком??
Код
Dim ra As Range, delra As Range
    Columns("A:A").Select
    ÓäàëÿòüÑòðîêèÑÒåêñòîì = Array("840")
    For Each ra In ActiveSheet.UsedRange.Rows
        For Each word In ÓäàëÿòüÑòðîêèÑÒåêñòîì
            If Not ra.Find(word, , xlValues, xlPart) Is Nothing Then
                If delra Is Nothing Then Set delra = ra Else Set delra = Union(delra, ra)
            End If
        Next word
    Next
    If Not delra Is Nothing Then delra.EntireRow.Delete
Корректная работа макроса в другом открытом файле
 
Похоже все оказалось банально просто. Количество аргументов в формуле ИЛИ больше чем допускается в формате .xls
А столько промучался с этим
Корректная работа макроса в другом открытом файле
 
Все что смог выяснить, то что формулы просто не вставляются на активный лист книги .xls (файл2.xls), пробовал по совету гугла поменять
Код
Cells(Rows.Count, 1).End(xlUp).Row"
на
Код
Cells(65500, 1).End(xlUp).Row 

Но ничего не сработало, может знает кто-нибудь особенности при работе макроса на другой открытой книге .xls ?

Корректная работа макроса в другом открытом файле
 
Посмотрел, понял что не хочет в другой книге вставлять формулы почему-то (причем в рабочей книге все замечательно вставляется). Код ищет ячейку, потом находит ячейку в которую нужно вставить формулу, но не вставляет ее и как следствие не растягивает по нужному диапазону
Код
  Cells.Find(What:="нов", After:=Cells(Rows.Count, Columns.Count), LookAt:=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext).Activate
  ActiveCell.Offset(1, 0).Activate
  Dim lngI As Long
lngI = Cells(Rows.Count, 1).End(xlUp).Row
    ActiveCell.Formula = "=IF(OR(RC[-4]=59,RC[-4]=357,RC[-4]=407,RC[-4]=52,RC[-4]=275,RC[-4]=53,RC[-4]=153,RC[-4]=191,RC[-4]=988,RC[-4]=363,RC[-4]=323,RC[-4]=58,RC[-4]=60,RC[-4]=292,RC[-4]=2001,RC[-4]=274,RC[-4]=191,RC[-4]=2002,RC[-4]=988,RC[-4]=2003,RC[-4]=1181,RC[-4]=369,RC[-4]=365,RC[-4]=366,RC[-4]=2004,RC[-4]=2005,RC[-4]=361,RC[-4]=2006,RC[-4]=363,RC[-4]=192,RC[-4]=196,RC[-4]=193,RC[-4]=194,RC[-4]=195,RC[-4]=2007,RC[-4]=2008,RC[-4]=2009,RC[-4]=2010,RC[-4]=2011,RC[-4]=2012,RC[-4]=2013),""тыс.шт."",RC[-2])"
    ActiveCell.AutoFill Destination:=Range(ActiveCell, Cells(lngI, "E"))
Корректная работа макроса в другом открытом файле
 
Вечер добрый. столкнулся со следующей проблемой:
Есть файл "макро1.xlsm" в котором есть макрос который преобразует значения (меняет и перетягивает их), если вставить на первый лист таблицу (см. приложенный файл), то макрос работает замечательно - претензий нету., но суть в том что этот файл "макро1.xlsm" открывается и работает в фоновом режиме (на сочетание клавиш). Далее есть файл Файл2.xls который открывает сотрудник, нажимает сочетание клавиш и макрос делает в этом файле все изменения. Но при таком раскладе не получается макросу выполнять все свои функции. Каким образом нужно подправить код чтобы это работало в "фоновом" режиме ?
Поиск от активной ячейки до конца столбца
 
Большое спасибо
Поиск от активной ячейки до конца столбца
 
Проблема с макросом и позиционировании по параметру Range, имеется следующий макрос:
Ищется ячейка, от нее переходит через офсет в нужную куда вставляется формула, далее формула должна растянуться по столбцу Е, до последнего значения в столбце А. Проблема в самой последней записи =Range("E7:E" & lngI). хочется отвязаться от ячейки E7 т.к. не всегда с нее будет начинаться формула. Подскажите как заменить, поиск по форуму результата не дал.
Код
  ActiveCell.Offset(1, 0).Activate
  Dim lngI As Long
lngI = Cells(Rows.Count, 1).End(xlUp).Row
    ActiveCell.FormulaR1C1 = _
        "=IF(OR(RC[-4]=225,RC[-4]=275),""тыс.шт"",RC[-2])"
    ActiveCell.AutoFill Destination:=Range("E7:E" & lngI) 
Поиск пустой ячейки через ActiveX, Поиск пустой ячейки на разных листах
 
ок, буду разбираться сам, спасибо
Поиск пустой ячейки через ActiveX, Поиск пустой ячейки на разных листах
 
А может еще поможете с макросом clean1, он тоже должен определять диапазоны в верхней таблице и очищать их на каждом листе ? Сам буду часов 5 разбираться что поменять для того чтобы это заработало ...
Поиск пустой ячейки через ActiveX, Поиск пустой ячейки на разных листах
 
Супер, в разы проще чем писать для каждой кнопки диапазон (учитывая что для каждого листа он будет у меня разным). Большое спасибо за помощь !
Поиск пустой ячейки через ActiveX, Поиск пустой ячейки на разных листах
 
Помоги решить проблему. Суть в следующем:
Лист "С-032" берется диапазон значений и должен вставляться в лист "raspil"
При помощи обычного макроса все хорошо работает (кнопка "Кнопка"), при помощи ActiveX не получается реализовать данную возможность. Знаний не хватает как обойти эту проблему. На вопрос почему хочется использовать элемент ActiveX - код прячется внутри кнопки и не нужно создавать 100 макросов отдельных (будет около 100 листов с которых будет переноситься информация на лист "raspil" - не хочется захламлять, а для каждого листа будет задаваться свой диапазон, поэтому использовать один и тот же макрос для каждого листа на представляется возможным.
Автоматическое добавление строк по разным условиям, Определить сколько добавить строк + их заполнение
 
Все отлично работает, огромное спасибо за помощь ! Сэкономили несколько дней работы ! Буду пробовать дальше дополнять своими формулами и пытаться понять как вы это сделали. Еще раз спасибо !
Автоматическое добавление строк по разным условиям, Определить сколько добавить строк + их заполнение
 
Извиняюсь, забыл прикрепить файл
Автоматическое добавление строк по разным условиям, Определить сколько добавить строк + их заполнение
 
Все отлично, спасибо большое за помощь. Немного мыслей в слух чтобы так сказать я перепроверил себя. Лист "mat" привел в правильный вид - работает все отлично. Вставил другой исходный файл вместо листа "list" (надо было другое название дать, а то тавтология получается(((. Сначала была проблема с тем что не все цвета захватывало, но как я понял достаточно было в строке
Код
Arr = Range(.Cells(4, 1), .Cells(.Cells(5, 1).End(xlDown).Row, "k")).Value 
Заменить "k" на "p" - т.е. на последний столбец (просто будут на других листах ширина обивок менять как в большую так и в меньшую сторону), для этого нужно будет менять значение на последний столбец ? верно я все понял ? И еще несколько вопросов, если вам не сложно. 1) лист "price" столбец B (производитель) - значения там будут все одинаковые, можно ли чтобы программа брала значение с листа "list" A2 и растягивала его по лист "price" столбец B ? 2) по аналогии с первым, лист "price" столбец С (назначение) чтобы брало это значение с листа "list" A1 и растягивало на лист "price" столбец С. 3) лист "price" столбец H (количество) - можно ли чтобы по умолчанию ставило там "0" ? - эти все 3 пункта можно конечно вручную, но получается уж очень много строк, если не сложно посмотрите пожалуйста. И еще один момент это лист "price" столбец D (группа) подразумевается что группа будет это первое слово (до пробела) из столбца Е . Т.е. Если в столбце Е (модификация) OFFIX GTP, то в столбце D (группа) должно стоять OFFIX. ну и соответственно растягивается по всем ячейкам. Заранее спасибо
Автоматическое добавление строк по разным условиям, Определить сколько добавить строк + их заполнение
 
|Артикул||производитель||Назначение|
Вносятся вручную в момент во вторую строку, если они создают проблему, то их можно не трогать. А так я их заношу в ячейку A2, B2, C2, D2.
Изменено: gosmark - 06.07.2014 18:23:18
Автоматическое добавление строк по разным условиям, Определить сколько добавить строк + их заполнение
 
На этот лист вручную копируются ячейки из листа "list", собственно он и является рабочим листом, в котором должны производится все действия. Т.е. он после выполнения макроса должен выглядеть как лист "price" (лист "price" я добавил дабы наглядно показать готовый результат)
Автоматическое добавление строк по разным условиям, Определить сколько добавить строк + их заполнение
 
Доброго дня, Поискал по форуму, нашлись похожие темы, однако не подходят для моей задачи. Прошу помочь разобраться (сразу скажу знания VBA минимальные, готовый маркос вставить могу, но вот переделать под себя, бывает проблематично)
Что есть:
1) лист "list" - исходная информация от поставщика
2) лист "mat" - мною созданный лист в котором вручную вбиты все доступные цвета для материалов
3) лист "main" - Столбцы А, В, С - принципе не играют роли (заполняются мной вручную), D - тоже определяется мною в ручную, Столбец Е - копируется мной из листа list со столбца А. Столбец F - копируется из листа list (В4:K4) и вставляется с транспонировать, в столбец L - также из листа list копируется соответствующая строка (B5:K5) и вставляются опять таки с помощью транспонировать. 4) лист "price" собственно то, что хочу видеть в результате (так сказать образец готового). Что хочу: Смысл в том чтобы в ячейку G2 (на листе main) макрос определил материал в данном случае это SP, нашел этот материал на листе "mat" вычислил сколько необходимо для данного материала дополнительных строк, добавил после этого нужное мне количество (всего 11 цветом но т.к. ячейка G2 свободная) то добавил 10 пустых строк и в столбец G вставил эти цвета (имя диапазона SP_). также было бы неплохо чтобы в он скопировал значения B, C, D, E, L и заполнил их в добавленные строки. Далее макрос принимается за следующий материал в столбце F (в данном случае это будет LE) и повторяет процедуру. Сразу скажу, что таких листов как  "list" порядка 10 штук, материалы которые добавлены в лист "list" - это взято для примера - их порядка 40 видов (для этого и думаю что надо как-то пользоваться именованными диапазонами). Надеюсь что доступно объяснил, буду благодарен за помощь.
Страницы: 1
Наверх