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

Вход

Регистрация

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

 

= Мир MS Excel/Есть два столбца A и B с диапазоном ячеек - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Есть два столбца A и B с диапазоном ячеек (Макросы/Sub)
Есть два столбца A и B с диапазоном ячеек
Igorka001 Дата: Понедельник, 27.11.2023, 14:31 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Есть два столбца A и B с диапазоном ячеек A1:A30 и B1:B30, значения записываются только в столбец A, допустим A5 = 10, тогда при нажатии кнопки значение попадает в ячейку B5, потом значение в ячейке A5 может быть изменено к примеру A5 = 15, тогда в ячейке B5 уже происходит такая запись 10+15 то есть сумма, при этом сумма записывается в B5, а значение в ячейке A5 обнуляется, вот такая метаморфоза)
Буду раз вашей поддержке
 
Ответить
СообщениеЕсть два столбца A и B с диапазоном ячеек A1:A30 и B1:B30, значения записываются только в столбец A, допустим A5 = 10, тогда при нажатии кнопки значение попадает в ячейку B5, потом значение в ячейке A5 может быть изменено к примеру A5 = 15, тогда в ячейке B5 уже происходит такая запись 10+15 то есть сумма, при этом сумма записывается в B5, а значение в ячейке A5 обнуляется, вот такая метаморфоза)
Буду раз вашей поддержке

Автор - Igorka001
Дата добавления - 27.11.2023 в 14:31
msi2102 Дата: Понедельник, 27.11.2023, 14:54 | Сообщение № 2
Группа: Проверенные
Ранг: Обитатель
Сообщений: 413
Репутация: 129 ±
Замечаний: 0% ±

Excel 2007
Попробуйте так, в модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If IsNumeric(Target) Then Target.Offset(0, 1) = Target.Offset(0, 1) + Target: Target = ""
    Application.EnableEvents = True
End Sub
[/vba]
К сообщению приложен файл: a_b.xlsm (13.9 Kb)
 
Ответить
СообщениеПопробуйте так, в модуль листа
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Intersect(Target, Range("A:A")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    If IsNumeric(Target) Then Target.Offset(0, 1) = Target.Offset(0, 1) + Target: Target = ""
    Application.EnableEvents = True
End Sub
[/vba]

Автор - msi2102
Дата добавления - 27.11.2023 в 14:54
Igorka001 Дата: Вторник, 28.11.2023, 08:08 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Не работает такая конструкция(


Сообщение отредактировал Serge_007 - Вторник, 28.11.2023, 13:48
 
Ответить
СообщениеНе работает такая конструкция(

Автор - Igorka001
Дата добавления - 28.11.2023 в 08:08
mgt Дата: Вторник, 28.11.2023, 08:27 | Сообщение № 4
Группа: Пользователи
Ранг: Участник
Сообщений: 98
Репутация: 25 ±
Замечаний: 0% ±

Excel 2010
Попробуйте так. Работает с любым количеством строк в столбцах А и В
К сообщению приложен файл: 5383887.xlsm (19.4 Kb)
 
Ответить
СообщениеПопробуйте так. Работает с любым количеством строк в столбцах А и В

Автор - mgt
Дата добавления - 28.11.2023 в 08:27
Igorka001 Дата: Вторник, 28.11.2023, 11:29 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

Отлично!!! Благодарствую!


Сообщение отредактировал Igorka001 - Вторник, 28.11.2023, 12:49
 
Ответить
СообщениеОтлично!!! Благодарствую!

Автор - Igorka001
Дата добавления - 28.11.2023 в 11:29
Igorka001 Дата: Вторник, 28.11.2023, 13:40 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

а как всё то же самое, но в диапазоне допустим c a3
 
Ответить
Сообщениеа как всё то же самое, но в диапазоне допустим c a3

Автор - Igorka001
Дата добавления - 28.11.2023 в 13:40
msi2102 Дата: Вторник, 28.11.2023, 14:14 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 413
Репутация: 129 ±
Замечаний: 0% ±

Excel 2007
Не работает такая конструкция(
А что именно у Вас не работает?
 
Ответить
Сообщение
Не работает такая конструкция(
А что именно у Вас не работает?

Автор - msi2102
Дата добавления - 28.11.2023 в 14:14
Igorka001 Дата: Вторник, 28.11.2023, 14:31 | Сообщение № 8
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

У меня почему то ошибка, конечно я могу что-то делать неверно, не исключаю


Сообщение отредактировал Igorka001 - Вторник, 28.11.2023, 14:43
 
Ответить
СообщениеУ меня почему то ошибка, конечно я могу что-то делать неверно, не исключаю

Автор - Igorka001
Дата добавления - 28.11.2023 в 14:31
msi2102 Дата: Вторник, 28.11.2023, 14:43 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 413
Репутация: 129 ±
Замечаний: 0% ±

Excel 2007
а значение в ячейке A5 обнуляется

сами же писали
Измените диапазон в этой строке, например на
[vba]
Код
    If Intersect(Target, Range("A3:A10")) Is Nothing Then Exit Sub
[/vba]
 
Ответить
Сообщение
а значение в ячейке A5 обнуляется

сами же писали
Измените диапазон в этой строке, например на
[vba]
Код
    If Intersect(Target, Range("A3:A10")) Is Nothing Then Exit Sub
[/vba]

Автор - msi2102
Дата добавления - 28.11.2023 в 14:43
Igorka001 Дата: Вторник, 28.11.2023, 14:45 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±

в этой строке и выдает ошибку
 
Ответить
Сообщениев этой строке и выдает ошибку

Автор - Igorka001
Дата добавления - 28.11.2023 в 14:45
mgt Дата: Среда, 29.11.2023, 09:21 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 98
Репутация: 25 ±
Замечаний: 0% ±

Excel 2010
а как всё то же самое, но в диапазоне допустим c a3


Строку
[vba]
Код
For i = 1 To Range("a65536").End(xlUp).Row
[/vba]
замените на
[vba]
Код
For i = 3 To Range("a65536").End(xlUp).Row
[/vba]

Если хотите до определенной строки, то вставьте ее номер вместо Range в этой же строке. Например:
[vba]
Код
For i = 1 To 30
[/vba]
 
Ответить
Сообщение
а как всё то же самое, но в диапазоне допустим c a3


Строку
[vba]
Код
For i = 1 To Range("a65536").End(xlUp).Row
[/vba]
замените на
[vba]
Код
For i = 3 To Range("a65536").End(xlUp).Row
[/vba]

Если хотите до определенной строки, то вставьте ее номер вместо Range в этой же строке. Например:
[vba]
Код
For i = 1 To 30
[/vba]

Автор - mgt
Дата добавления - 29.11.2023 в 09:21
Igorka001 Дата: Среда, 29.11.2023, 10:55 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 20% ±


Спасибо вам! Мне мне стыдно( и ведь при чем я попробовал, только 1 заменил везде))
 
Ответить
Сообщение
Спасибо вам! Мне мне стыдно( и ведь при чем я попробовал, только 1 заменил везде))

Автор - Igorka001
Дата добавления - 29.11.2023 в 10:55
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Есть два столбца A и B с диапазоном ячеек (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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