powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Суммирование
13 сообщений из 13, страница 1 из 1
Суммирование
    #36405610
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день! Вопрос такой как можно в ячейке использовать суммирование значение других ячеек?

Попробовала
Код: plaintext
1.
2.
Range("B11").Select
    Selection.FormulaR1C1 = "=СУММ(R[-8]C[-1];R[-5]C[-1];R[-2]C[-1])"
    Selection.Font.Bold = True
Дает ошибку.
...
Рейтинг: 0 / 0
Суммирование
    #36405663
_Boroda_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
hum_i,

А так:

Range("B11").FormulaR1C1 = "=sum(R[-8]C[-1],R[-5]C[-1],R[-2]C[-1])"
Range("B11").Font.Bold = True
...
Рейтинг: 0 / 0
Суммирование
    #36405683
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если надо именно по-русски, то типа
Код: plaintext
ActiveCell.FormulaLocal = "=СЦЕПИТЬ(""пр"";A2)"
Вот как это правильно с R1C1 (FormulaLocalR1C1 или иначе) использовать, попробуйте сами. Я бы эти RC не использовал для ясности....
...
Рейтинг: 0 / 0
Суммирование
    #36415659
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Само суммирование у меня получилось. Только вот не удается его организовать в цикле. В общем я попробовала так
Код: plaintext
1.
2.
Range("Cells(11,i)").Select
    ActiveCell.Formula = "=sum(Cells(3,i):Cells(10,i))"
    Selection.Font.Bold = True
Дает ошибку Method 'Range' of object '_Global' failed. Помогите пожалуйста.
...
Рейтинг: 0 / 0
Суммирование
    #36415793
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Так получается:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Sub tt()
i =  2 
Cells( 11 , i).Select
    ActiveCell.FormulaR1C1 = "=SUM(R[-8]C[0]:R[-1]C[0])"
    Selection.Font.Bold = True
End Sub

Если делать через R1C1, то там адреса задаются относительно активной ячейки. Т.к. в данном случае активная задаётся в цикле, то в самой формуле переменная не нужна.
...
Рейтинг: 0 / 0
Суммирование
    #36415903
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это вы так обозначили R[-8]C[0] 3 строку? А как вообще обозначать строки по системе R1C1? Какая тут методика?
...
Рейтинг: 0 / 0
Суммирование
    #36416089
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Теорию не читал, но судя по практике, если активная строка 11, то -8 будет 3 :)
Какая тут методика - R1C1 это ячейка на один ниже и на один правее.
А R[-8]C[0]:R[-1]C[0] вот как раз и получается от 8 до 1 выше в этом же столбце.
...
Рейтинг: 0 / 0
Суммирование
    #36417200
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо большое
...
Рейтинг: 0 / 0
Суммирование
    #36417297
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вообще тут тоже можно обойтись без Selection:
Код: plaintext
1.
2.
3.
4.
Sub tt()
i =  2 
Cells( 11 , i).FormulaR1C1 = "=SUM(R[-8]C[0]:R[-1]C[0])"
Cells( 11 , i).Font.Bold = True
End Sub
...
Рейтинг: 0 / 0
Суммирование
    #36418095
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понятно. А вот если я хочу чтобы эти ячейки выделялись тоже в цикле как например
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Range("A1:A108").Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
если в том случае при суммировании можно взять Cells(11, i), то здесь нужно брать от и до типа Cells(1, i):Cells(108, i)?
...
Рейтинг: 0 / 0
Суммирование
    #36418189
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Зачем циклом, можно сразу область указать. То что закомментировано, похоже на 2000 не проддерживается:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
Sub tt()
x =  1 
y =  108 
Set rng = Range(Cells(x,  1 ), Cells(y,  3 ))

    rng.Borders(xlDiagonalDown).LineStyle = xlNone
    rng.Borders(xlDiagonalUp).LineStyle = xlNone
    With rng.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
'        .TintAndShade = 0
        .Weight = xlThin
    End With
    With rng.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
'        .TintAndShade = 0
        .Weight = xlThin
    End With
    With rng.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
'        .TintAndShade = 0
        .Weight = xlThin
    End With
    With rng.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
'        .TintAndShade = 0
        .Weight = xlThin
    End With
    With rng.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
'        .TintAndShade = 0
        .Weight = xlThin
    End With
    With rng.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
'        .TintAndShade = 0
        .Weight = xlThin
    End With
End Sub
Только вот пример был некорректен, Borders(xlInsideVertical) и Borders(xlInsideHorizontal) в одном столбце не работает, я сделал А1:С108
...
Рейтинг: 0 / 0
Суммирование
    #36419473
hum_i
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В общем в цикле все нормально работает, выглядит это так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
Range(Cells( 1 ,i), Cells( 108 ,i)).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex =  0 
        .TintAndShade =  0 
        .Weight = xlThin
    End With
Спасибо за помощь
...
Рейтинг: 0 / 0
Суммирование
    #36419534
Hugo121
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я бы лучше без Select делал, тем более тут это легко в коде заменить.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Суммирование
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]