_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]
Добавил Вам в макрос куски, обозначенные '==================== [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_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: 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]
Так? [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
Ну с НДС и мы чего-то ст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] Или короче
[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") 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 "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, 24) = False: .Cells(j, 25) = False End Select End With j = j + 1 End If
[/vba]
[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] Или короче
[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") 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 "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, 24) = False: .Cells(j, 25) = False End Select End With j = j + 1 End If
[/vba]
devilkurs
Сообщение отредактировал 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] Или короче
[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") 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 "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, 24) = False: .Cells(j, 25) = False End Select End With j = j + 1 End If
[/vba]
Автор - devilkurs Дата добавления - 08.04.2016 в 12:29