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

Вход

Регистрация

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

 

= Мир MS Excel/Вставить 2 форумулы в готовый макрос. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставить 2 форумулы в готовый макрос. (Макросы/Sub)
Вставить 2 форумулы в готовый макрос.
vanka515 Дата: Пятница, 08.04.2016, 10:44 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Формулы на листе USER. В макрос9 нужно дописать 2 формулы, у меня совсем никак не получается((
В результате должна заполняться таблица на 2 столбика больше.
 
Ответить
СообщениеФормулы на листе USER. В макрос9 нужно дописать 2 формулы, у меня совсем никак не получается((
В результате должна заполняться таблица на 2 столбика больше.

Автор - vanka515
Дата добавления - 08.04.2016 в 10:44
akobir Дата: Пятница, 08.04.2016, 11:05 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 201
Репутация: 9 ±
Замечаний: 0% ±

Excel 2010
vanka515, приложите пример с тем самым листом User.


e-mail: akobir.ismailov@gmail.com
 
Ответить
Сообщениеvanka515, приложите пример с тем самым листом User.

Автор - akobir
Дата добавления - 08.04.2016 в 11:05
vanka515 Дата: Пятница, 08.04.2016, 11:28 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 13
Репутация: 0 ±
Замечаний: 20% ±

Excel 2010
Размер был слишком большой, я не заметил
К сообщению приложен файл: examp.xlsm (99.1 Kb)
 
Ответить
СообщениеРазмер был слишком большой, я не заметил

Автор - vanka515
Дата добавления - 08.04.2016 в 11:28
_Boroda_ Дата: Пятница, 08.04.2016, 12:04 | Сообщение № 4
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Добавил Вам в макрос куски, обозначенные
'====================
[vba]
Код
Application.ScreenUpdating = 0
[/vba]
и
[vba]
Код
    userWs.Range("X30").Resize(j - 30).FormulaR1C1 = _
        "=IF(R4C14=""GU"",SQRT(RC[-4]^2+RC[-3]^2),IF(R4C14=""GL"",SQRT(RC[-4]^2+RC[-2]^2),IF(R4C14=""UL"",SQRT(RC[-3]^2+RC[-2]^2))))"
    userWs.Range("Y30").Resize(j - 30).FormulaR1C1 = _
        "=IF(R4C14=""G"",RC[-5],IF(R4C14=""U"",RC[-4],IF(R4C14=""L"",RC[-3])))"
[/vba]
Можно потом добавить вставку полученного значениями
[vba]
Код
userWs.Range("X30").Resize(j - 30,2)=userWs.Range("X30").Resize(j - 30,2).Value
[/vba]
К сообщению приложен файл: examp_2.xlsm (94.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеДобавил Вам в макрос куски, обозначенные
'====================
[vba]
Код
Application.ScreenUpdating = 0
[/vba]
и
[vba]
Код
    userWs.Range("X30").Resize(j - 30).FormulaR1C1 = _
        "=IF(R4C14=""GU"",SQRT(RC[-4]^2+RC[-3]^2),IF(R4C14=""GL"",SQRT(RC[-4]^2+RC[-2]^2),IF(R4C14=""UL"",SQRT(RC[-3]^2+RC[-2]^2))))"
    userWs.Range("Y30").Resize(j - 30).FormulaR1C1 = _
        "=IF(R4C14=""G"",RC[-5],IF(R4C14=""U"",RC[-4],IF(R4C14=""L"",RC[-3])))"
[/vba]
Можно потом добавить вставку полученного значениями
[vba]
Код
userWs.Range("X30").Resize(j - 30,2)=userWs.Range("X30").Resize(j - 30,2).Value
[/vba]

Автор - _Boroda_
Дата добавления - 08.04.2016 в 12:04
KuklP Дата: Пятница, 08.04.2016, 12:04 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Так?
[vba]
Код
    [x30:x31].Formula = "=IF(R4C14=""GU"",SQRT(RC[-4]^2+RC[-3]^2),IF(R4C14=""GL"",SQRT(RC[-4]^2+RC[-2]^2),IF(R4C14=""UL"",SQRT(RC[-3]^2+RC[-2]^2))))"
    [y30:y31].Formula = "=IF(R4C14=""G"",RC[-5],IF(R4C14=""U"",RC[-4],IF(R4C14=""L"",RC[-3])))"
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеТак?
[vba]
Код
    [x30:x31].Formula = "=IF(R4C14=""GU"",SQRT(RC[-4]^2+RC[-3]^2),IF(R4C14=""GL"",SQRT(RC[-4]^2+RC[-2]^2),IF(R4C14=""UL"",SQRT(RC[-3]^2+RC[-2]^2))))"
    [y30:y31].Formula = "=IF(R4C14=""G"",RC[-5],IF(R4C14=""U"",RC[-4],IF(R4C14=""L"",RC[-3])))"
[/vba]

Автор - KuklP
Дата добавления - 08.04.2016 в 12:04
devilkurs Дата: Пятница, 08.04.2016, 12:29 | Сообщение № 6
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 167
Репутация: 43 ±
Замечаний: 0% ±

Excel 2007, 2010
[vba]
Код
    If trx1 >= trx And ce1 >= ce And rrc1 >= rrc And q1 = qmin Then
    
        bpnWs.Range(bpnWs.Cells(i, 2), bpnWs.Cells(i, 9)).Copy
        userWs.Cells(j, 16).PasteSpecial xlPasteValues
        With userWs
        Select Case .Range("N4") 'ФОРМУЛА 1 БОЛЬШАЯ =ЕСЛИ($N$4="GU";КОРЕНЬ(T30^2+U30^2);ЕСЛИ($N$4="GL";КОРЕНЬ(T30^2+V30^2);ЕСЛИ($N$4="UL";КОРЕНЬ(U30^2+V30^2))))
            Case "GU", "gU", "Gu": .Cells(j, 24) = Sqr(.Cells(j, 20) ^ 2 + .Cells(j, 21) ^ 2)
            Case "GL", "gL", "Gl": .Cells(j, 24) = Sqr(.Cells(j, 20) ^ 2 + .Cells(j, 22) ^ 2)
            Case "UL", "uL", "Ul": .Cells(j, 24) = Sqr(.Cells(j, 21) ^ 2 + .Cells(j, 22) ^ 2)
            Case Else: .Cells(j, 24) = False
        End Select
        Select Case .Range("N4") 'ФОРМУЛА 2 Маленькая ЕСЛИ($N$4="G";T30;ЕСЛИ($N$4="U";U30;ЕСЛИ($N$4="L";V30)))
            Case "G", "g": .Cells(j, 25) = .Cells(j, 20)
            Case "U", "u": .Cells(j, 25) = .Cells(j, 21)
            Case "L", "l": .Cells(j, 25) = .Cells(j, 22)
            Case Else: .Cells(j, 25) = False
        End Select
        End With
        j = j + 1
    End If
[/vba]

Или короче




Сообщение отредактировал devilkurs - Пятница, 08.04.2016, 12:44
 
Ответить
Сообщение[vba]
Код
    If trx1 >= trx And ce1 >= ce And rrc1 >= rrc And q1 = qmin Then
    
        bpnWs.Range(bpnWs.Cells(i, 2), bpnWs.Cells(i, 9)).Copy
        userWs.Cells(j, 16).PasteSpecial xlPasteValues
        With userWs
        Select Case .Range("N4") 'ФОРМУЛА 1 БОЛЬШАЯ =ЕСЛИ($N$4="GU";КОРЕНЬ(T30^2+U30^2);ЕСЛИ($N$4="GL";КОРЕНЬ(T30^2+V30^2);ЕСЛИ($N$4="UL";КОРЕНЬ(U30^2+V30^2))))
            Case "GU", "gU", "Gu": .Cells(j, 24) = Sqr(.Cells(j, 20) ^ 2 + .Cells(j, 21) ^ 2)
            Case "GL", "gL", "Gl": .Cells(j, 24) = Sqr(.Cells(j, 20) ^ 2 + .Cells(j, 22) ^ 2)
            Case "UL", "uL", "Ul": .Cells(j, 24) = Sqr(.Cells(j, 21) ^ 2 + .Cells(j, 22) ^ 2)
            Case Else: .Cells(j, 24) = False
        End Select
        Select Case .Range("N4") 'ФОРМУЛА 2 Маленькая ЕСЛИ($N$4="G";T30;ЕСЛИ($N$4="U";U30;ЕСЛИ($N$4="L";V30)))
            Case "G", "g": .Cells(j, 25) = .Cells(j, 20)
            Case "U", "u": .Cells(j, 25) = .Cells(j, 21)
            Case "L", "l": .Cells(j, 25) = .Cells(j, 22)
            Case Else: .Cells(j, 25) = False
        End Select
        End With
        j = j + 1
    End If
[/vba]

Или короче

Автор - devilkurs
Дата добавления - 08.04.2016 в 12:29
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Вставить 2 форумулы в готовый макрос. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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