Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подстановка значения из одной ячейки в другую - Страница 2 - Мир MS Excel

Старая форма входа
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подстановка значения из одной ячейки в другую (Макросы/Sub)
Подстановка значения из одной ячейки в другую
RAN Дата: Пятница, 25.12.2020, 19:51 | Сообщение № 21
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5378
Репутация: 1075 ±
Замечаний: 0% ±

2010
Не могу понять, что вы хотите?

Странного


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Не могу понять, что вы хотите?

Странного

Автор - RAN
Дата добавления - 25.12.2020 в 19:51
DimaS Дата: Пятница, 25.12.2020, 20:40 | Сообщение № 22
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Не могу с Вами спорить, т.к. в силу своего незнания Прошу помощи...
Попробовал объяснить на примерах на листе Excel приложенного файла
Макрос из сообщения №4 берет данные из С4 и копирует в С2, а мне нужно, чтоб я внес данные в С4, а макрос при этом взял данные из С3 (рассчитанные по формуле) и скопировал в С2 (при этом в С2 не должно быть формулы типа С2=С3).
Возможно будет проще и правильнее написать формулу из вспомогательной ячейки С3 сразу в процедуре VBA при расчете значения С2, тогда прошу помочь с этим.
Хотя, если честно, уже принципиально хочется добить первую задачу до позитивного финиша ))

Формула во вспомогательной ячейке С3 следующая:
Код
=ЕСЛИ(ОКРУГЛВВЕРХ(C4/304,8;0)<4;4;ЕСЛИ(ОКРУГЛВВЕРХ(C4/304,8;0)=10;11;ЕСЛИ(ОКРУГЛВВЕРХ(C4/304,8;0)>12;0;ОКРУГЛВВЕРХ(C4/304,8;0))))
К сообщению приложен файл: 9087505.xls(80.0 Kb)


Сообщение отредактировал DimaS - Пятница, 25.12.2020, 20:42
 
Ответить
СообщениеНе могу с Вами спорить, т.к. в силу своего незнания Прошу помощи...
Попробовал объяснить на примерах на листе Excel приложенного файла
Макрос из сообщения №4 берет данные из С4 и копирует в С2, а мне нужно, чтоб я внес данные в С4, а макрос при этом взял данные из С3 (рассчитанные по формуле) и скопировал в С2 (при этом в С2 не должно быть формулы типа С2=С3).
Возможно будет проще и правильнее написать формулу из вспомогательной ячейки С3 сразу в процедуре VBA при расчете значения С2, тогда прошу помочь с этим.
Хотя, если честно, уже принципиально хочется добить первую задачу до позитивного финиша ))

Формула во вспомогательной ячейке С3 следующая:
Код
=ЕСЛИ(ОКРУГЛВВЕРХ(C4/304,8;0)<4;4;ЕСЛИ(ОКРУГЛВВЕРХ(C4/304,8;0)=10;11;ЕСЛИ(ОКРУГЛВВЕРХ(C4/304,8;0)>12;0;ОКРУГЛВВЕРХ(C4/304,8;0))))

Автор - DimaS
Дата добавления - 25.12.2020 в 20:40
Kuzmich Дата: Пятница, 25.12.2020, 21:16 | Сообщение № 23
Группа: Проверенные
Ранг: Ветеран
Сообщений: 558
Репутация: 111 ±
Замечаний: 0% ±

Excel 2003
Цитата
сразу в процедуре VBA при расчете значения С2

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("C4")) Is Nothing Then
      If WorksheetFunction.RoundUp(Range("C4") / 304.8, 0) < 4 Then
         Range("C2") = 4
      ElseIf WorksheetFunction.RoundUp(Range("C4") / 304.8, 0) = 10 Then
         Range("C2") = 11
      ElseIf WorksheetFunction.RoundUp(Range("C4") / 304.8, 0) > 12 Then
         Range("C2") = 0
      Else
        Range("C2") = WorksheetFunction.RoundUp(Range("C4") / 304.8, 0)
      End If
    End If
End Sub
[/vba]
 
Ответить
Сообщение
Цитата
сразу в процедуре VBA при расчете значения С2

[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Not Intersect(Target, Range("C4")) Is Nothing Then
      If WorksheetFunction.RoundUp(Range("C4") / 304.8, 0) < 4 Then
         Range("C2") = 4
      ElseIf WorksheetFunction.RoundUp(Range("C4") / 304.8, 0) = 10 Then
         Range("C2") = 11
      ElseIf WorksheetFunction.RoundUp(Range("C4") / 304.8, 0) > 12 Then
         Range("C2") = 0
      Else
        Range("C2") = WorksheetFunction.RoundUp(Range("C4") / 304.8, 0)
      End If
    End If
End Sub
[/vba]

Автор - Kuzmich
Дата добавления - 25.12.2020 в 21:16
Pelena Дата: Пятница, 25.12.2020, 21:23 | Сообщение № 24
Группа: Админы
Ранг: Местный житель
Сообщений: 17041
Репутация: 3681 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Может так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Address = "$C$4" Then
        Target.Offset(-2) = Target.Offset(-1)
    End If
End Sub
[/vba]


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеМожет так
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Count > 1 Then Exit Sub
    If Target.Address = "$C$4" Then
        Target.Offset(-2) = Target.Offset(-1)
    End If
End Sub
[/vba]

Автор - Pelena
Дата добавления - 25.12.2020 в 21:23
DimaS Дата: Пятница, 25.12.2020, 21:38 | Сообщение № 25
Группа: Пользователи
Ранг: Новичок
Сообщений: 11
Репутация: 0 ±
Замечаний: 0% ±

Последние два варианта идеально работают!
Большое Спасибо!
 
Ответить
СообщениеПоследние два варианта идеально работают!
Большое Спасибо!

Автор - DimaS
Дата добавления - 25.12.2020 в 21:38
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Подстановка значения из одной ячейки в другую (Макросы/Sub)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Яндекс цитирования Jobsora jooble
© 2010-2021 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!