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

Вход

Регистрация

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

 

= Мир MS Excel/Макросом, добавить формулу ЕСЛИ, ко всему столбцу, как? - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макросом, добавить формулу ЕСЛИ, ко всему столбцу, как?
Макросом, добавить формулу ЕСЛИ, ко всему столбцу, как?
wwizard Дата: Суббота, 16.07.2016, 01:28 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 128
Репутация: 0 ±
Замечаний: 40% ±

Есть большой прайслист. В нем в отдно колонке долларовая цена. Но вот незадача, долларовая есть не везде, и там где нет долларовой, там в соседней ячейке, стоит гривневая цена. Очень нужен маленький макрос, который возмет гривневую цену умножит на курс доллара указанный в ячейке: 5:1 и вставит во весь столбец под номером 5, НО только там где уже по умолчанию НЕ стоит цена в долларах.
К сообщению приложен файл: PROBA2.xls(36Kb)
 
Ответить
СообщениеЕсть большой прайслист. В нем в отдно колонке долларовая цена. Но вот незадача, долларовая есть не везде, и там где нет долларовой, там в соседней ячейке, стоит гривневая цена. Очень нужен маленький макрос, который возмет гривневую цену умножит на курс доллара указанный в ячейке: 5:1 и вставит во весь столбец под номером 5, НО только там где уже по умолчанию НЕ стоит цена в долларах.

Автор - wwizard
Дата добавления - 16.07.2016 в 01:28
Rioran Дата: Суббота, 16.07.2016, 11:59 | Сообщение № 2
Группа: Авторы
Ранг: Ветеран
Сообщений: 886
Репутация: 281 ±
Замечаний: 0% ±

Excel 2013
wwizard, здравствуйте.

возмет гривневую цену умножит на курс доллара

Насколько мне подсказывает логика, гривна стоит МЕНЬШЕ доллара. Поэтому позволил себе отступить от исходной формулировки. Макрос ниже цену в гривнах ДЕЛИТ на курс доллара.

Код программы:

[vba]
Код
Sub Rio_Prob()
    Dim xRow&, X, rngX As Range, i&, Exchange_Rate#
    xRow = Cells(Cells.Rows.Count, 4).End(xlUp).Row
    Set rngX = Range("E8:F" & xRow)
    X = rngX
    Exchange_Rate = Range("E1").Value
    On Error Resume Next
    For i = 1 To UBound(X, 1)
        If X(i, 1) + 0 = 0 Then
            If X(i, 2) + 0 <> 0 Then
                X(i, 1) = Round(X(i, 2) / Exchange_Rate, 2)
            End If
        End If
    Next i
    rngX.Value = X
End Sub
[/vba]
Во вложении две кнопки. Кнопка "Сброс" вернёт данные на листе в состояние "ДО".

Подходит?
К сообщению приложен файл: Rio_Proba.xls(58Kb)


Роман, Москва, voronov_rv@mail.ru
Яндекс-Деньги: 41001312674279


Сообщение отредактировал Rioran - Суббота, 16.07.2016, 11:59
 
Ответить
Сообщениеwwizard, здравствуйте.

возмет гривневую цену умножит на курс доллара

Насколько мне подсказывает логика, гривна стоит МЕНЬШЕ доллара. Поэтому позволил себе отступить от исходной формулировки. Макрос ниже цену в гривнах ДЕЛИТ на курс доллара.

Код программы:

[vba]
Код
Sub Rio_Prob()
    Dim xRow&, X, rngX As Range, i&, Exchange_Rate#
    xRow = Cells(Cells.Rows.Count, 4).End(xlUp).Row
    Set rngX = Range("E8:F" & xRow)
    X = rngX
    Exchange_Rate = Range("E1").Value
    On Error Resume Next
    For i = 1 To UBound(X, 1)
        If X(i, 1) + 0 = 0 Then
            If X(i, 2) + 0 <> 0 Then
                X(i, 1) = Round(X(i, 2) / Exchange_Rate, 2)
            End If
        End If
    Next i
    rngX.Value = X
End Sub
[/vba]
Во вложении две кнопки. Кнопка "Сброс" вернёт данные на листе в состояние "ДО".

Подходит?

Автор - Rioran
Дата добавления - 16.07.2016 в 11:59
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Макросом, добавить формулу ЕСЛИ, ко всему столбцу, как?
Страница 1 из 11
Поиск:

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