powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос в Excel
13 сообщений из 13, страница 1 из 1
Макрос в Excel
    #39384814
Добрый вечер!
Ребят, я раньше не сталкивалась вообще с такими задачами. Не могу понять где наделала ошибок.
Изначально нужно было сделать в Excel: Даны три переменные вещественного типа: A, B, C. Если их значения упорядочены по возрастанию, то удвоить их; в противном случае заменить значение каждой переменной на противоположное. Вывести новые значения переменных A, B, C в ячейки.

Вот это я смогла "наваять":
Sub Макрос1()
'
' Макрос1 Макрос
'
' Сочетание клавиш: Ctrl+1
'
If ((A1 < A2) And (A2 < A3)) Then
Let B1 = A1 * 2
Let B2 = A2 * 2
Let B3 = A3 * 2
Else
Let B1 = A1 * (-1)
Let B2 = A2 * (-1)
Let B3 = A3 * (-1)
End If

End Sub

В итоге макрос не срабатывает((((
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384817
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталия БезфамильнаяВ итоге макрос не срабатывает((((
я не вижу, где переменным а1,а2,а3 присвоены значения
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384818
ПЕНСИОНЕРКА,

А разве не в ячейках уже вводятся значения? Это еще и в коде должно быть указано?
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384820
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталия Безфамильная,

Код: vbnet
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.
sub пускач_функции()
 Макрос1 5,7,12
Макрос1 5,17,12

end sub

Sub Макрос1(a1,a2,a3)
'
' Макрос1 Макрос
'
' Сочетание клавиш: Ctrl+1

debug.print "a1=",a1,"a2=",a2,"a3=",a3
If ((A1 < A2) And (A2 < A3)) Then
Let B1 = A1 * 2
Let B2 = A2 * 2
Let B3 = A3 * 2
debug.print " данные упорядочены"
Else
Let B1 = A1 * (-1)
Let B2 = A2 * (-1)
Let B3 = A3 * (-1)
debug.print " данные неупорядочены"
End If

End Sub
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384822
ПЕНСИОНЕРКА,

Спасибо огромное! Я тормоз)))))
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384823
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталия БезфамильнаяПЕНСИОНЕРКА,

А разве не в ячейках уже вводятся значения? Это еще и в коде должно быть указано?

тогда , где у вас обращение к ячейкам --тоже не вижу
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384837
ПЕНСИОНЕРКА,

Как в макросе прописать обращение к ячейке? Чем больше я читаю методичку и копаюсь на сайтах, тем меньше понимаю, что мне нужно сделать
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384841
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наталия Безфамильная,

Как мне оформить свое сообщение?
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384848
Sub Ìàêðîñ5()
'
' Ìàêðîñ5 Ìàêðîñ
'
' Ñî÷åòàíèå êëàâèø: Ctrl+g
'
Range("B1").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(RC[-1]<R[1]C[-1],R[1]C[-1]<R[2]C[-1]),(RC[-1]*2),(RC[-1]*(-1)))"
Range("B1").Select
Selection.AutoFill Destination:=Range("B1:B3"), Type:=xlFillDefault
Range("B1:B3").Select
Range("B2").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(R[-1]C[-1]<RC[-1],RC[-1]<R[1]C[-1]),(RC[-1]*2),(RC[-1]*(-1)))"
Range("B3").Select
ActiveCell.FormulaR1C1 = _
"=IF(AND(R[-2]C[-1]<R[-1]C[-1],R[-2]C[-1]<R[-1]C[-1]),(RC[-1]*2),(RC[-1]*(-1)))"
Range("B4").Select
End Sub
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384849
Этот вариант правильный?
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384854
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Наталия Безфамильная, тогда уж так :)
Код: vbnet
1.
2.
3.
4.
5.
6.
Sub Na()
With Range("B1:B3")
  .FormulaArray = "=IF(AND(A2:A3>=A1:A2),A1:A3*2,-A1:A3)"
  .Value = .Value
End With
End Sub
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384855
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
более короткие варианты формулы
Код: vbnet
1.
2.
  .FormulaArray = "=A1:A3*IF(AND(A2:A3>=A1:A2),2,-1)"
  .FormulaArray = "=A1:A3*(AND(A2:A3>=A1:A2)*3-1)"
...
Рейтинг: 0 / 0
Макрос в Excel
    #39384887
Казанский, спасибо огромное!
Следующую аналогичную задачу уже нормально решу.
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Макрос в Excel
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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