2 / 2 / 0
Регистрация: 12.05.2013
Сообщений: 28
1

Не записывает вычисленные значения a1, a2, a3 в ячейки листа

22.09.2013, 19:16. Показов 1265. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Приветствую всех читающих и программирующих!
Так-как я чайник в vba - поэтому прошу помощи.
Есть значения на листе: s1-s6, s1a1 и т.д. выбираются случайно из 0 и 1.
Почему вычисленные значения a1, a2, a3 не записываются в ячейки b3, b4, b5 листа.
Помогите найти ошибку и по возможности оптимизировать код.
Вложения
Тип файла: xls P2.xls (36.0 Кб, 10 просмотров)
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2013, 19:16
Ответы с готовыми решениями:

Вывести значения в ячейки листа
Подскажите кто сможет, как сделать с помощью vba чтобы значения из формы выводились на следующем...

Замена значения ячейки кодом из другого листа
Добрый день, знатоки! Помогите, пожалуйста. Я совсем не понимаю, что надо сделать. Вроде все...

Поиск ячейки и замена значения в строке листа
Помогите, пожалуйста, с задачкой. Как найти ячейку со значением, например, город, и очистить эту...

Исправить макрос копирования значения ячейки с листа на лист
Господа, честно говоря совсем в предмете не разбираюсь, не могли бы вы посмотреть код макроса под...

6
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
22.09.2013, 19:18 2
Код в студию
0
2 / 2 / 0
Регистрация: 12.05.2013
Сообщений: 28
22.09.2013, 19:19  [ТС] 3
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Sub Задаем_значения_SnAn_ячейкам()
Dim a
    Randomize
    a = Array(0, 1)
    [c3] = a(Int((2 * Rnd) + 1) - 1)
    [d4] = a(Int((2 * Rnd) + 1) - 1)
    [e3] = a(Int((2 * Rnd) + 1) - 1)
    [e4] = a(Int((2 * Rnd) + 1) - 1)
    [f5] = a(Int((2 * Rnd) + 1) - 1)
    [g4] = a(Int((2 * Rnd) + 1) - 1)
    [h4] = a(Int((2 * Rnd) + 1) - 1)
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub Присваиваем_значения_SnAn_из_ячеек()
Dim s1a1 As Integer, s3a1 As Integer, s2a2 As Integer, s3a2 As Integer, s5a2 As Integer, s6a2 As Integer, s4a3 As Integer
s1a1 = Cells(3, 3).Value
s2a2 = Cells(4, 4).Value
s3a1 = Cells(3, 5).Value
s3a2 = Cells(4, 5).Value
s4a3 = Cells(5, 6).Value
s5a2 = Cells(4, 7).Value
s6a2 = Cells(4, 8).Value
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
Sub Присваиваем_значения_S_из_ячеек()
Dim s1 As Integer, s2 As Integer, s3 As Integer, s4 As Integer, s5 As Integer, s6 As Integer
s1 = Cells(2, 3).Value
s2 = Cells(2, 4).Value
s3 = Cells(2, 5).Value
s4 = Cells(2, 6).Value
s5 = Cells(2, 7).Value
s6 = Cells(2, 8).Value
End Sub
Visual Basic
1
2
3
4
5
6
7
8
9
Sub Считаем_a()
Dim a1 As Integer, a2 As Integer, a3 As Integer
a1 = (s1 * s1a1) + (s3 * s3a1)
[b3] = a1
a2 = (s2 * s2a2) + (s3 * s3a2) + (s5 * s5a2) + (s6 * s6a2)
Cells(4, 2).Value = a2
a3 = (s4 * s4a3)
Cells(5, 2).Value = a3
End Sub
Visual Basic
1
2
3
4
5
6
Private Sub CommandButton1_Click()
Задаем_значения_SnAn_ячейкам
Присваиваем_значения_SnAn_из_ячеек
Присваиваем_значения_S_из_ячеек
Считаем_a
End Sub
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
22.09.2013, 19:29 4
О, вложение не увидал.
Дело в том что значения из Sub Присваиваем_значения_S_из_ячеек() существуют только во время работы этой функции, так как объявлены внутри неё. Надо либо передавать эти значения, либо объявлять глобально (в самом верху, вне сабов).
А так если поставить брэйк точку, увидите что к примеру в a1 = (s1 * s1a1) + (s3 * s3a1) все значения = Empty
1
2 / 2 / 0
Регистрация: 12.05.2013
Сообщений: 28
22.09.2013, 19:37  [ТС] 5
а можете показать пример как их передать? или объявить глобально?
0
1261 / 147 / 32
Регистрация: 11.02.2011
Сообщений: 418
22.09.2013, 20:01 6
В файле как глобально (тупо вынести за сабы)

А если передавать при данном раскладе одна морока. А если просто интересно что это такое то простой пример
Visual Basic
1
2
3
4
5
6
7
Sub sum(x,y)
    cells(1,1) = x+y
End Sub
 
Sub test()
    call sum (12, 54) ' тут передаём
End Sub
Вложения
Тип файла: xls P2-1.xls (45.5 Кб, 9 просмотров)
1
2 / 2 / 0
Регистрация: 12.05.2013
Сообщений: 28
22.09.2013, 20:06  [ТС] 7
Большое спасибо за науку.
0
22.09.2013, 20:06
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2013, 20:06
Помогаю со студенческими работами здесь

Выборка значений из другого листа в зависимости от значения ячейки
Доброе утро! Посмотрите пожалуйста файл. А листе 1 база данных товаров. В листе 2 эти товары...

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

Копирование значения ячейки с одного листа и вставка в другой
Здравствуйте! Делаю дз по информатике, VBA. Задание заключается вот в чем: есть два листа в...

Копирование значения ячейки из одного листа в другой при соблюдений условии
Добрый день! Помогите написать макрос для решения следующей проблемы. Имеется таблица Excel,...

Создание кликабельных ссылок на ячейки другого листа с поиском нужного значения
Приветствую, уважаемые форумчане! Требуется помощь. Дано: 2 листа в книге. На листе1 заполнено...

При выборе значения из выпадающего списка заполнить соседние ячейки из другого листа
Здравствуйте, помогите пож сделать так, чтобы при выборе водителя из выпадающего списка на листе...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru