Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/14: Рейтинг темы: голосов - 14, средняя оценка - 4.64
0 / 0 / 0
Регистрация: 07.02.2011
Сообщений: 30

Записать в ячейки третьего листа сумму значений соответствующих ячеек первого и второго

13.03.2011, 17:05. Показов 2851. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В ячейки первых двух рабочих листов запмсаны произвольные числовые значения. Записать в ячейки третьего листа сумму значений соотиетствующих ячеек (ячеек с одинаковым адресом) первого и второго листа. Закрасить ячейки результата в следующие цвета: если имеется ненулевое слагаемое только на первом листе - красный, только на втором листе - синий, на обоих листах - желтый.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.03.2011, 17:05
Ответы с готовыми решениями:

В ячейке B2 второго листа вывести значение ячейки A1 первого листа
Необходимо чтобы, например, в ячейке B2 второго листа автомотически вводилось значение ячейки A1 первого листа.

Перенос значений определенных ячеек активной строки одного листа в определенные ячейки другого листа
Добрый день! Создаю простенькую программу для регистрации посетителей. Состоит из трех листов - список посетителей, "форма" для...

Перенос значений с одного листа в разные ячейки второго листа
прошу помощи, форумчане. Перед нами была поставлена задача оптимизировать наши расчеты. Суть оптимизации - на листе "данные"...

9
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
13.03.2011, 17:36
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
Sub P1()
Worksheets(3).Range("A1") = Worksheets(1).Range("A1") + Worksheets(2).Range("A1")
If Worksheets(1).Range("A1").Value <> 0 And _
        Worksheets(2).Range("A1").Value <> 0 Then
    Worksheets(3).Range("A1").Interior.Color = vbYellow
ElseIf Worksheets(1).Range("A1").Value <> 0 Then
    Worksheets(3).Range("A1").Interior.Color = vbRed
ElseIf Worksheets(2).Range("A1").Value <> 0 Then
    Worksheets(3).Range("A1").Interior.Color = vbBlue
End If
End Sub
0
0 / 0 / 0
Регистрация: 07.02.2011
Сообщений: 30
13.03.2011, 19:06  [ТС]
А как сделать чтобы была не только ячейка A1, а любые?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
13.03.2011, 19:08
Novichel,
а какие мысли есть? Выложите свой код, как вы это видите. Видимо нужно адрес указывать выделенных ячеек из одного листа в другом.
0
0 / 0 / 0
Регистрация: 07.02.2011
Сообщений: 30
14.03.2011, 17:37  [ТС]
Просто я не могу вообще понять как это можно реализовать! Возможно по выделенному участку, или по по определенному заранее участку...
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
14.03.2011, 17:47
Цитата Сообщение от Novichel Посмотреть сообщение
Просто я не могу вообще понять как это можно реализовать! Возможно по выделенному участку, или по по определенному заранее участку...
как можете, так и сделайте и выложите сюда код.
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
14.03.2011, 18:11
Busine2009,
Сделать циклом до крайних границ UsedRange в двух листах?
0
2309 / 1541 / 115
Регистрация: 13.06.2009
Сообщений: 5,575
14.03.2011, 18:12
Цитата Сообщение от mc-black Посмотреть сообщение
Busine2009,
Сделать циклом до крайних границ UsedRange в двух листах?
не знаю, я не пробовал.
0
 Аватар для mc-black
2786 / 718 / 106
Регистрация: 04.02.2011
Сообщений: 1,443
14.03.2011, 18:35
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Visual Basic
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
Sub Test()
    Dim s01 As Worksheet, s02 As Worksheet, s03 As Worksheet
    Dim i As Long, j As Long, m As Long, n As Long
    
    Set s01 = ThisWorkbook.Worksheets(1)
    Set s02 = ThisWorkbook.Worksheets(2)
    Set s03 = ThisWorkbook.Worksheets(3)
    
    'm = IIf(s01.UsedRange.Row + s01.UsedRange.Rows.Count > s02.UsedRange.Row + s02.UsedRange.Rows.Count, s01.UsedRange.Row + s01.UsedRange.Rows.Count, s02.UsedRange.Row + s02.UsedRange.Rows.Count) - 1
    If s01.UsedRange.Row + s01.UsedRange.Rows.Count > s02.UsedRange.Row + s02.UsedRange.Rows.Count Then
        m = s01.UsedRange.Row + s01.UsedRange.Rows.Count - 1
    Else
        m = s02.UsedRange.Row + s02.UsedRange.Rows.Count - 1
    End If
    
    'n = IIf(s01.UsedRange.Column + s01.UsedRange.Columns.Count > s02.UsedRange.Column + s02.UsedRange.Columns.Count, s01.UsedRange.Column + s01.UsedRange.Columns.Count, s02.UsedRange.Column + s02.UsedRange.Columns.Count) - 1
    If s01.UsedRange.Column + s01.UsedRange.Columns.Count > s02.UsedRange.Column + s02.UsedRange.Columns.Count Then
        n = s01.UsedRange.Column + s01.UsedRange.Columns.Count - 1
    Else
        n = s02.UsedRange.Column + s02.UsedRange.Columns.Count - 1
    End If
    
    For i = 1 To m
        For j = 1 To n
            If s01.Cells(i, j) <> 0 And s02.Cells(i, j) = 0 Then
                s03.Cells(i, j) = s01.Cells(i, j)
                s03.Cells(i, j).Interior.Color = vbRed
            ElseIf s01.Cells(i, j) = 0 And s02.Cells(i, j) <> 0 Then
                s03.Cells(i, j) = s02.Cells(i, j)
                s03.Cells(i, j).Interior.Color = vbBlue
            ElseIf s01.Cells(i, j) <> 0 And s02.Cells(i, j) <> 0 Then
                s03.Cells(i, j) = s01.Cells(i, j) + s02.Cells(i, j)
                s03.Cells(i, j).Interior.Color = vbYellow
            End If
        Next j
    Next i
    
    Set s01 = Nothing
    Set s02 = Nothing
    Set s03 = Nothing
End Sub
Вот так
1
0 / 0 / 0
Регистрация: 07.02.2011
Сообщений: 30
15.03.2011, 08:09  [ТС]
Огромное спасибо, Выручил!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.03.2011, 08:09
Помогаю со студенческими работами здесь

Записать в список разность соответствующих элементов первого и второго
Доброго вечера дорогие форумчане и гуру . Нужна помощь с заданием Есть у нас 3 листбокса и 3 бутона 1-й лист бокс это А, 2-й...

В элементы третьего массива записать сумму соответствующих элементов первых двух массивов
Объявить три массива. Первые два заполнить случайными значениями от 10 до 30. В элементы третьего массива записать сумму соответствующих...

В элементы третьего массива записать сумму соответствующих элементов первых двух массивов
Добрый вечер. Даны три массива размерности 17. Первые два заполнить случайными значениями от 10 до 30. Вывести массивы на экран. В...

В элементы третьего массива записать сумму соответствующих элементов первых двух массивов
Объявить три массива. Первые два заполнить случайными значениями от 10 до 30. В элементы третьего массива записать сумму соответствующих...

Можно ли переделать макрос подстановки значений из ячеек одного листа в шаблон(бланк) другого листа, заменив сам бланк ш
Доброго времени суток! Интересует следующий вопрос, есть печатный шаблон (бланк) на листе в excel, в него макросом подтягиваются значения...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru