Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.12.2021, 18:39   #1
Вадим199
Новичок
Джуниор
 
Регистрация: 05.12.2021
Сообщений: 3
По умолчанию Объясните пожалуйста, как правильно составить код маркроса

Добрый вечер!
Подскажите, пожалуйста, как правильно составить код макроса:
Я составил макрос(условно):
1. Выбирает ячейку а1
2. копирует ее содержимое
3. Выбирает ячейку а2
4. Вставляет в а2 содержимое а1
5. Удаляет то, что было в а1.

Как мне сделать так, что бы когда я следующий раз использовал этот макрос, то что будет в ячейке а1 переместилось в ячейку а3, так как определило, что а2 уже занята (и так же с а3, а...)?
То есть а1 всегда по исходу остаётся пустой, а под ней формируется список того, что раньше было в а1.

Спасибо большое!

Последний раз редактировалось Вадим199; 05.12.2021 в 22:15.
Вадим199 вне форума Ответить с цитированием
Старый 06.12.2021, 01:38   #2
Elixi
Форумчанин
 
Регистрация: 10.05.2019
Сообщений: 163
По умолчанию

Цитата:
Сообщение от Вадим199 Посмотреть сообщение
как правильно составить код макроса
как правилно не знаю
сделать то что вы описали можно например так
Код:
Sub Copy_A1_To_Ax()
    Dim Rw&
    
    '   если ячейка A1 пустая процедуру заканчиваем
    If Cells(1, 1) = "" Then Exit Sub
    '   определяем последную ячейку в первом столбце для записи
    Rw = Cells(Rows.Count, 1).End(xlUp).Row + 1
    '   не надо ничего выбирать а можно сразу копировать
    Cells(Rw, 1) = Cells(1, 1)
    '   удаляем содержимое ячейки A1
    Cells(1, 1).ClearContents  ' или Cells(1, 1) = ""
    '   если надо, выбираем ячейку A1
    'Cells(1, 1).Activate

End Sub
а когда и как запускать это уже другой вопрос
Elixi вне форума Ответить с цитированием
Старый 06.12.2021, 02:22   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub CopyA1ToDown()
  Cells(1).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1)
  Cells(1) = Empty
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.12.2021, 10:13   #4
Вадим199
Новичок
Джуниор
 
Регистрация: 05.12.2021
Сообщений: 3
По умолчанию

Elixi, спасибо большое)
Цитата:
Сообщение от Вадим199 Посмотреть сообщение
Добрый вечер!
Подскажите, пожалуйста, как правильно составить код макроса:
Я составил макрос(условно):
1. Выбирает ячейку а1
2. копирует ее содержимое
3. Выбирает ячейку а2
4. Вставляет в а2 содержимое а1
5. Удаляет то, что было в а1.

Как мне сделать так, что бы когда я следующий раз использовал этот макрос, то что будет в ячейке а1 переместилось в ячейку а3, так как определило, что а2 уже занята (и так же с а3, а...)?
То есть а1 всегда по исходу остаётся пустой, а под ней формируется список того, что раньше было в а1.

Спасибо большое!
Вадим199 вне форума Ответить с цитированием
Старый 07.12.2021, 10:14   #5
Вадим199
Новичок
Джуниор
 
Регистрация: 05.12.2021
Сообщений: 3
По умолчанию

Спасибо большое)

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Код:
Sub CopyA1ToDown()
  Cells(1).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1)
  Cells(1) = Empty
End Sub
Вадим199 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пожалуйста объясните код Anton2281 Общие вопросы C/C++ 4 26.04.2021 06:29
объясните, пожалуйста код Екатерина_________ Помощь студентам 1 05.06.2020 13:28
Объясните пожалуйста код DellXT Общие вопросы C/C++ 4 22.09.2018 12:18
Объясните пожалуйста как работает код Maja Помощь студентам 1 29.11.2015 13:50
Уважаемые программисты объясните пожалуйста как мне составить программу.Microsoft Visual Studio 2010 Мартен Помощь студентам 4 26.03.2015 09:15