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

Вход

Регистрация

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

 

= Мир MS Excel/Значение в ячейке как значение умножить на К формула - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
Страница 1 из 11
Модератор форума: _Boroda_, Pelena, Manyasha, SLAVICK 
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Значение в ячейке как значение умножить на К формула (Макросы/Sub)
Значение в ячейке как значение умножить на К формула
dilius Дата: Среда, 29.11.2017, 15:28 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Проблема следующая: есть необходимость, чтобы в ячейке значение присваивалось как формула:
=Текущее значение * на нецелый коэффициент какой-то вычисляемый в коде.

[vba]
Код


Sub L_s()
    kpark_g = Лист1.Cells(1, 5)
    kpark_g = "*" & Round(kpark_g, 5)
            
            With Лист1.Cells(1, 1)
                .Formula = "=" & .Formula & "*(R[2]C/24)" & kpark_g    '
            End With
End Sub

[/vba]

Код логически выглядит правильно, однако выдает ошибку
К сообщению приложен файл: 5779346.xlsm(15Kb)


Nothing personal
 
Ответить
СообщениеДобрый день!
Проблема следующая: есть необходимость, чтобы в ячейке значение присваивалось как формула:
=Текущее значение * на нецелый коэффициент какой-то вычисляемый в коде.

[vba]
Код


Sub L_s()
    kpark_g = Лист1.Cells(1, 5)
    kpark_g = "*" & Round(kpark_g, 5)
            
            With Лист1.Cells(1, 1)
                .Formula = "=" & .Formula & "*(R[2]C/24)" & kpark_g    '
            End With
End Sub

[/vba]

Код логически выглядит правильно, однако выдает ошибку

Автор - dilius
Дата добавления - 29.11.2017 в 15:28
nilem Дата: Среда, 29.11.2017, 15:46 | Сообщение № 2
Группа: Авторы
Ранг: Старожил
Сообщений: 1344
Репутация: 477 ±
Замечаний: 0% ±

Excel 2013
dilius, привет
попробуйте
[vba]
Код
Sub L_s()
Dim kpark_g As String

kpark_g = "*" & Round(Лист1.Cells(1, 5), 5)
With Лист1.Cells(1, 1)
    .Formula = .Formula & Replace(kpark_g, ",", ".")
End With
End Sub
[/vba]
upd
или даже вот так:
[vba]
Код
Sub L_s()
Dim kpark_g As String

kpark_g = "*" & Round(Лист1.Cells(1, 5), 5)
With Лист1.Cells(1, 1)
    If .HasFormula Then
        .Formula = .Formula & Replace(kpark_g, ",", ".")
    Else
        .Formula = "=" & .Formula & Replace(kpark_g, ",", ".")
    End If
End With
End Sub
[/vba]


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Среда, 29.11.2017, 15:50
 
Ответить
Сообщениеdilius, привет
попробуйте
[vba]
Код
Sub L_s()
Dim kpark_g As String

kpark_g = "*" & Round(Лист1.Cells(1, 5), 5)
With Лист1.Cells(1, 1)
    .Formula = .Formula & Replace(kpark_g, ",", ".")
End With
End Sub
[/vba]
upd
или даже вот так:
[vba]
Код
Sub L_s()
Dim kpark_g As String

kpark_g = "*" & Round(Лист1.Cells(1, 5), 5)
With Лист1.Cells(1, 1)
    If .HasFormula Then
        .Formula = .Formula & Replace(kpark_g, ",", ".")
    Else
        .Formula = "=" & .Formula & Replace(kpark_g, ",", ".")
    End If
End With
End Sub
[/vba]

Автор - nilem
Дата добавления - 29.11.2017 в 15:46
_Boroda_ Дата: Среда, 29.11.2017, 15:48 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 11852
Репутация: 4911 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Так нужно?
[vba]
Код
Sub L_s()
    With Лист1
        kpark_g = "*" & Replace(Round(.Cells(1, 5), 5), ",", ".")
        With .Cells(1, 1)
            .FormulaR1C1 = "=" & .Value & "*R[2]C/24" & kpark_g    '
        End With
    End With
End Sub
[/vba]


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
[vba]
Код
Sub L_s()
    With Лист1
        kpark_g = "*" & Replace(Round(.Cells(1, 5), 5), ",", ".")
        With .Cells(1, 1)
            .FormulaR1C1 = "=" & .Value & "*R[2]C/24" & kpark_g    '
        End With
    End With
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 29.11.2017 в 15:48
dilius Дата: Среда, 29.11.2017, 16:28 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 27
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, nilem, спасибо!

Взял это вариант за основу!
[vba]
Код

Sub L_s()
Dim kpark_g As String
kpark_g = "*" & Round(Лист1.Cells(1, 5), 5)
With Лист1.Cells(1, 1)
    If .HasFormula Then
        .Formula = .Formula & Replace(kpark_g, ",", ".")
    Else
        .Formula = "=" & .Formula & Replace(kpark_g, ",", ".")
    End If
End With
End Sub

[/vba]


Nothing personal
 
Ответить
Сообщение_Boroda_, nilem, спасибо!

Взял это вариант за основу!
[vba]
Код

Sub L_s()
Dim kpark_g As String
kpark_g = "*" & Round(Лист1.Cells(1, 5), 5)
With Лист1.Cells(1, 1)
    If .HasFormula Then
        .Formula = .Formula & Replace(kpark_g, ",", ".")
    Else
        .Formula = "=" & .Formula & Replace(kpark_g, ",", ".")
    End If
End With
End Sub

[/vba]

Автор - dilius
Дата добавления - 29.11.2017 в 16:28
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Значение в ячейке как значение умножить на К формула (Макросы/Sub)
Страница 1 из 11
Поиск:

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