Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Заполнить столбец в зависимости от его названия - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнить столбец в зависимости от его названия (Макросы Sub)
Заполнить столбец в зависимости от его названия
fsb Дата: Воскресенье, 03.11.2013, 16:43 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
В данном примере это будет столбец с названием: "Цена, USD" или "Цена, EUR" в пустых строчках необходимо проставить "0"
никак не могу пробить тему. Естественно столбец может сдвигаться.
Был бы признателен за помощь.
К сообщению приложен файл: _usd.xlsx (30.1 Kb)
 
Ответить
СообщениеВ данном примере это будет столбец с названием: "Цена, USD" или "Цена, EUR" в пустых строчках необходимо проставить "0"
никак не могу пробить тему. Естественно столбец может сдвигаться.
Был бы признателен за помощь.

Автор - fsb
Дата добавления - 03.11.2013 в 16:43
RAN Дата: Воскресенье, 03.11.2013, 17:23 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Выделить в столбце Цена, USD пару ячеек, начиная с заголовка, фильтр, пустые, в первую поставить 0, протянуть до конца, снять фильтр.
Если нужен макрос - записать эти действия рекордером.
Непонятно только, зачем оно надо? :o


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВыделить в столбце Цена, USD пару ячеек, начиная с заголовка, фильтр, пустые, в первую поставить 0, протянуть до конца, снять фильтр.
Если нужен макрос - записать эти действия рекордером.
Непонятно только, зачем оно надо? :o

Автор - RAN
Дата добавления - 03.11.2013 в 17:23
fsb Дата: Воскресенье, 03.11.2013, 20:18 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
RAN, если файлов например штук 15-20 и делать нужно после основной работы.. эти пляски шамана возле костра мне не нужны: мне нужно переводить инвойсы в электронный вид, для этого у некоторых магазинов таможня требует особого порядка перевода в электронику...
рекордером как определить название столбца, если у парфюма тот столбец в другом месте окажется???, а у сигарет в третьем??? для каждого вида инвойса свои рекордер??? так я лутче ручками сделаю нолики поставлю чем иметь кучу непонятных файлов)) а как их называть вы может тоже подскажеите рекордером, чтобы не запутаться в них))?
-спасибо за совет- я бы честно не догадался бы без вас)))
 
Ответить
СообщениеRAN, если файлов например штук 15-20 и делать нужно после основной работы.. эти пляски шамана возле костра мне не нужны: мне нужно переводить инвойсы в электронный вид, для этого у некоторых магазинов таможня требует особого порядка перевода в электронику...
рекордером как определить название столбца, если у парфюма тот столбец в другом месте окажется???, а у сигарет в третьем??? для каждого вида инвойса свои рекордер??? так я лутче ручками сделаю нолики поставлю чем иметь кучу непонятных файлов)) а как их называть вы может тоже подскажеите рекордером, чтобы не запутаться в них))?
-спасибо за совет- я бы честно не догадался бы без вас)))

Автор - fsb
Дата добавления - 03.11.2013 в 20:18
RAN Дата: Воскресенье, 03.11.2013, 20:48 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
как определить название столбца, если у парфюма тот столбец в другом месте окажется???, а у сигарет в третьем

А мне откуда знать? Считать где-то? нет?


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
как определить название столбца, если у парфюма тот столбец в другом месте окажется???, а у сигарет в третьем

А мне откуда знать? Считать где-то? нет?

Автор - RAN
Дата добавления - 03.11.2013 в 20:48
Hugo Дата: Воскресенье, 03.11.2013, 21:07 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Найти используя find ячейку "Цена, USD"
Найти последнюю строку таблицы (например по столбцу левее, или по столбцу "Код PLU")
Циклом пройтись по определившемуся диапазону, поставить нули (ну или можно использовать specialcells)
Вот только непонятно, зачем им нули в строках-заголовках?


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНайти используя find ячейку "Цена, USD"
Найти последнюю строку таблицы (например по столбцу левее, или по столбцу "Код PLU")
Циклом пройтись по определившемуся диапазону, поставить нули (ну или можно использовать specialcells)
Вот только непонятно, зачем им нули в строках-заголовках?

Автор - Hugo
Дата добавления - 03.11.2013 в 21:07
fsb Дата: Воскресенье, 03.11.2013, 21:12 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
нули стоят в пустых строках, а они соответствуют названию группы товаров, при переводе в электронный вид, в инвойсе будет стоять название только и где стоимость нули, ибо не заполненые графы не допускаются....
Hugo, я не могу собрать тот код, есть у меня похожий ничего не получается...
-даже могу инсерт сделать в коде и не мучатся - выйдет тот столбец на допустим столбец "P" и все дела, что там искать по форумам..- мне на будущее необходимо... да, и просто для красоты...


Сообщение отредактировал fsb - Воскресенье, 03.11.2013, 21:21
 
Ответить
Сообщениенули стоят в пустых строках, а они соответствуют названию группы товаров, при переводе в электронный вид, в инвойсе будет стоять название только и где стоимость нули, ибо не заполненые графы не допускаются....
Hugo, я не могу собрать тот код, есть у меня похожий ничего не получается...
-даже могу инсерт сделать в коде и не мучатся - выйдет тот столбец на допустим столбец "P" и все дела, что там искать по форумам..- мне на будущее необходимо... да, и просто для красоты...

Автор - fsb
Дата добавления - 03.11.2013 в 21:12
Hugo Дата: Воскресенье, 03.11.2013, 21:40 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
Например так:
[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
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеНапример так:
[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
[/vba]

Автор - Hugo
Дата добавления - 03.11.2013 в 21:40
fsb Дата: Воскресенье, 03.11.2013, 21:56 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
[vba]
Код
Set Наименованиетовара = .Find("Наименование ", , , xlPart)
If Наименованиетовара Is Nothing Then MsgBox "Не найден столбец " & vbCrLf & _
"нету))", vbCritical, "Ошибка": Exit Sub
'первая строка
iFirstRow = Наименованиетовара.Row

'ищем последнюю строку
lColor = Cells(iFirstRow, 1).Interior.ColorIndex: iLastRow = iFirstRow + 1
Do While Cells(iLastRow, 1).Interior.ColorIndex <> lColor
iLastRow = iLastRow + 1
Loop
End With
[/vba]
дальше не знаю что делать
[admin]
Оформлять коды тегами[/admin]
 
Ответить
Сообщение[vba]
Код
Set Наименованиетовара = .Find("Наименование ", , , xlPart)
If Наименованиетовара Is Nothing Then MsgBox "Не найден столбец " & vbCrLf & _
"нету))", vbCritical, "Ошибка": Exit Sub
'первая строка
iFirstRow = Наименованиетовара.Row

'ищем последнюю строку
lColor = Cells(iFirstRow, 1).Interior.ColorIndex: iLastRow = iFirstRow + 1
Do While Cells(iLastRow, 1).Interior.ColorIndex <> lColor
iLastRow = iLastRow + 1
Loop
End With
[/vba]
дальше не знаю что делать
[admin]
Оформлять коды тегами[/admin]

Автор - fsb
Дата добавления - 03.11.2013 в 21:56
fsb Дата: Воскресенье, 03.11.2013, 22:01 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Hugo, я бы если что, проставился в пивбаре за помощь))) спасибо- работает чотко))
 
Ответить
СообщениеHugo, я бы если что, проставился в пивбаре за помощь))) спасибо- работает чотко))

Автор - fsb
Дата добавления - 03.11.2013 в 22:01
Hugo Дата: Воскресенье, 03.11.2013, 22:37 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3252
Репутация: 707 ±
Замечаний: 0% ±

2019
С пивбаром нет проблем - они у нас есть :)
Ну и код можно дорабатывать - можно искать по части ячейки "Цена,", далее используя findnext искать все остальные цены.
Ну или создать массив наименований и искать в цикле все эти определённые наименования, если что-то не нашлось - писать в лог или сообщать, искать следующее.

P.S. Что-то я там немного лишнего написал - можно чуть сократить:
[vba]
Код
        If Not r Is Nothing Then
             .Range(r, .Cells(il, r.Column)).SpecialCells(xlCellTypeBlanks).Value = 0
[/vba]


excel@nxt.ru
webmoney: E265281470651 Z422237915069
 
Ответить
СообщениеС пивбаром нет проблем - они у нас есть :)
Ну и код можно дорабатывать - можно искать по части ячейки "Цена,", далее используя findnext искать все остальные цены.
Ну или создать массив наименований и искать в цикле все эти определённые наименования, если что-то не нашлось - писать в лог или сообщать, искать следующее.

P.S. Что-то я там немного лишнего написал - можно чуть сократить:
[vba]
Код
        If Not r Is Nothing Then
             .Range(r, .Cells(il, r.Column)).SpecialCells(xlCellTypeBlanks).Value = 0
[/vba]

Автор - Hugo
Дата добавления - 03.11.2013 в 22:37
fsb Дата: Воскресенье, 03.11.2013, 23:07 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Кстати.... вот часть другого кода, где нужно ЯВНО указывать валюту, иначе не видит,(например: 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
Дата добавления - 03.11.2013 в 23:07
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Заполнить столбец в зависимости от его названия (Макросы Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!