В данном примере это будет столбец с названием: "Цена, USD" или "Цена, EUR" в пустых строчках необходимо проставить "0" никак не могу пробить тему. Естественно столбец может сдвигаться. Был бы признателен за помощь.
В данном примере это будет столбец с названием: "Цена, USD" или "Цена, EUR" в пустых строчках необходимо проставить "0" никак не могу пробить тему. Естественно столбец может сдвигаться. Был бы признателен за помощь.fsb
Выделить в столбце Цена, USD пару ячеек, начиная с заголовка, фильтр, пустые, в первую поставить 0, протянуть до конца, снять фильтр. Если нужен макрос - записать эти действия рекордером. Непонятно только, зачем оно надо?
Выделить в столбце Цена, USD пару ячеек, начиная с заголовка, фильтр, пустые, в первую поставить 0, протянуть до конца, снять фильтр. Если нужен макрос - записать эти действия рекордером. Непонятно только, зачем оно надо? RAN
RAN, если файлов например штук 15-20 и делать нужно после основной работы.. эти пляски шамана возле костра мне не нужны: мне нужно переводить инвойсы в электронный вид, для этого у некоторых магазинов таможня требует особого порядка перевода в электронику... рекордером как определить название столбца, если у парфюма тот столбец в другом месте окажется???, а у сигарет в третьем??? для каждого вида инвойса свои рекордер??? так я лутче ручками сделаю нолики поставлю чем иметь кучу непонятных файлов)) а как их называть вы может тоже подскажеите рекордером, чтобы не запутаться в них))? -спасибо за совет- я бы честно не догадался бы без вас)))
RAN, если файлов например штук 15-20 и делать нужно после основной работы.. эти пляски шамана возле костра мне не нужны: мне нужно переводить инвойсы в электронный вид, для этого у некоторых магазинов таможня требует особого порядка перевода в электронику... рекордером как определить название столбца, если у парфюма тот столбец в другом месте окажется???, а у сигарет в третьем??? для каждого вида инвойса свои рекордер??? так я лутче ручками сделаю нолики поставлю чем иметь кучу непонятных файлов)) а как их называть вы может тоже подскажеите рекордером, чтобы не запутаться в них))? -спасибо за совет- я бы честно не догадался бы без вас)))fsb
Найти используя find ячейку "Цена, USD" Найти последнюю строку таблицы (например по столбцу левее, или по столбцу "Код PLU") Циклом пройтись по определившемуся диапазону, поставить нули (ну или можно использовать specialcells) Вот только непонятно, зачем им нули в строках-заголовках?
Найти используя find ячейку "Цена, USD" Найти последнюю строку таблицы (например по столбцу левее, или по столбцу "Код PLU") Циклом пройтись по определившемуся диапазону, поставить нули (ну или можно использовать specialcells) Вот только непонятно, зачем им нули в строках-заголовках?Hugo
нули стоят в пустых строках, а они соответствуют названию группы товаров, при переводе в электронный вид, в инвойсе будет стоять название только и где стоимость нули, ибо не заполненые графы не допускаются.... Hugo, я не могу собрать тот код, есть у меня похожий ничего не получается... -даже могу инсерт сделать в коде и не мучатся - выйдет тот столбец на допустим столбец "P" и все дела, что там искать по форумам..- мне на будущее необходимо... да, и просто для красоты...
нули стоят в пустых строках, а они соответствуют названию группы товаров, при переводе в электронный вид, в инвойсе будет стоять название только и где стоимость нули, ибо не заполненые графы не допускаются.... Hugo, я не могу собрать тот код, есть у меня похожий ничего не получается... -даже могу инсерт сделать в коде и не мучатся - выйдет тот столбец на допустим столбец "P" и все дела, что там искать по форумам..- мне на будущее необходимо... да, и просто для красоты...fsb
Сообщение отредактировал fsb - Воскресенье, 03.11.2013, 21:21
On Error Resume Next With ActiveSheet Set r = .UsedRange.Find("Код PLU") If Not r Is Nothing Then il = .Cells(.Rows.Count, r.Column).End(xlUp).Row Else Exit Sub End If Set r = .UsedRange.Find("Цена, USD") If Not r Is Nothing Then .Range(.Cells(r.Row, r.Column), .Cells(il, r.Column)).SpecialCells(xlCellTypeBlanks).Value = 0 Else Exit Sub End If End With End Sub
[/vba]
Например так: [vba]
Код
Sub tt() Dim r As Range, il&
On Error Resume Next With ActiveSheet Set r = .UsedRange.Find("Код PLU") If Not r Is Nothing Then il = .Cells(.Rows.Count, r.Column).End(xlUp).Row Else Exit Sub End If Set r = .UsedRange.Find("Цена, USD") If Not r Is Nothing Then .Range(.Cells(r.Row, r.Column), .Cells(il, r.Column)).SpecialCells(xlCellTypeBlanks).Value = 0 Else Exit Sub End If End With End Sub
С пивбаром нет проблем - они у нас есть Ну и код можно дорабатывать - можно искать по части ячейки "Цена,", далее используя findnext искать все остальные цены. Ну или создать массив наименований и искать в цикле все эти определённые наименования, если что-то не нашлось - писать в лог или сообщать, искать следующее.
P.S. Что-то я там немного лишнего написал - можно чуть сократить: [vba]
Код
If Not r Is Nothing Then .Range(r, .Cells(il, r.Column)).SpecialCells(xlCellTypeBlanks).Value = 0
[/vba]
С пивбаром нет проблем - они у нас есть Ну и код можно дорабатывать - можно искать по части ячейки "Цена,", далее используя findnext искать все остальные цены. Ну или создать массив наименований и искать в цикле все эти определённые наименования, если что-то не нашлось - писать в лог или сообщать, искать следующее.
P.S. Что-то я там немного лишнего написал - можно чуть сократить: [vba]
Код
If Not r Is Nothing Then .Range(r, .Cells(il, r.Column)).SpecialCells(xlCellTypeBlanks).Value = 0
Кстати.... вот часть другого кода, где нужно ЯВНО указывать валюту, иначе не видит,(например: EUR) сколько раз пытался....ничего не получается: If Err Then Err.Clear: Set HeaderRow = sh.UsedRange.Find("Общая стоимость, USD", , xlValues, xlWhole).EntireRow -я кстати большое тех.задание на почту вам высылал- ни ответа ни привета)))) - на неделе текст уже четко сделаю чтобы и мне было понятно))- не желаете посмотреть ещё разок??
Кстати.... вот часть другого кода, где нужно ЯВНО указывать валюту, иначе не видит,(например: EUR) сколько раз пытался....ничего не получается: If Err Then Err.Clear: Set HeaderRow = sh.UsedRange.Find("Общая стоимость, USD", , xlValues, xlWhole).EntireRow -я кстати большое тех.задание на почту вам высылал- ни ответа ни привета)))) - на неделе текст уже четко сделаю чтобы и мне было понятно))- не желаете посмотреть ещё разок??fsb