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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.06.2010, 11:51   #1
sergantikus
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 37
По умолчанию Макрос в excel

Здравствуйте.Нужно написать макрос для след.действий-
1.-пользователь выбирает ячейку допустим №1.
2.В ячейку №2 в зависимости от наличия вносится + или -
3.Здесь должен запускаться макрос допустим от горячей клавиши - он выполняет.-
3.1. если ячейка №2 - "+" в ячейку № 4 вносится текущая дата, а в ячейку №5 вносится фамилия указанная предварительно в ячейку №10.
3.2 если ячейка №2 - "-" ячейка №4 очищается , в ячейку №3 вносится текущая дата, в ячейку №5 вносится фамилия указанная предварительно в ячейку №10. Прилагаю файл с таблицей

Буду благодарен за любую помощь!
Вложения
Тип файла: rar Книга1.rar (1.5 Кб, 16 просмотров)
sergantikus вне форума Ответить с цитированием
Старый 01.07.2010, 13:53   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Клавиши Ctrl +я
Вложения
Тип файла: rar Книга1.rar (9.0 Кб, 29 просмотров)
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 02.07.2010, 19:51   #3
sergantikus
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 37
По умолчанию

doober спасибо большое! Именно то что я хотел!Почти.... Можо ли чтобы фамилия вставлялась с определенной ячейки допустим A30 , а у вас задано что фамилия берется через шесть ячеек вправо. Я пытался сам вставить в код "a30"-не работает. Подскажите пожалуйста!
sergantikus вне форума Ответить с цитированием
Старый 02.07.2010, 19:58   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Что заказали-то и получили.Давайте оригинал таблицы

cell.Offset(0, -1) = cell.Offset(0, 6) если надо вставить в столбец А
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 02.07.2010 в 20:01.
doober вне форума Ответить с цитированием
Старый 02.07.2010, 20:20   #5
sergantikus
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 37
По умолчанию

doober вы не совсем поняли .В ячейке a30 у меня будет фамилия , а макрос должен из этой ячейки ее вставлять, ваш вариант правильный но я буду из разных ячеек макрос выполнять то-есть надо чтобы был прописан адрес именно a30 я программирование не знаю но думаю примерно так должно выглядеть - cell.Offset(0, 3) = cell.Offset(a30)-но так не срабатывает. И заодно если можно можно переделать код чтобы я сначала вставлял - или + в определенную ячейку допустим a31, а после этого выбирал ячейку(600 ячеек - номера пивных кег) запускал макрос , и исходя из статуса - или + в ячейке a31 он уже выполнял макрос , т-есть формула исходила бы не из активной ячейки а из конкретной ячейки a31. сейчас скину таблицу (все описал в примечаниях).извиняюсь что неточно описал задание
sergantikus вне форума Ответить с цитированием
Старый 02.07.2010, 20:23   #6
sergantikus
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 37
По умолчанию Таблица №2

вот таблица №2.doober пожалуйста посмотрите[ATTACH]Книга2.rar[/ATTACH]
sergantikus вне форума Ответить с цитированием
Старый 02.07.2010, 20:51   #7
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Сделаю как надо.
уточнения.
Макрос будет работать при внесении данных в одну строку.
Макрос будет работать например заполнили 10 строк,он пробежался по этим 10 сторокам и заполнил как надо
Анализ,обработка данных Недорого

Последний раз редактировалось doober; 02.07.2010 в 20:54.
doober вне форума Ответить с цитированием
Старый 02.07.2010, 21:01   #8
sergantikus
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 37
По умолчанию

нет только в одну строку(но делаю это много раз большой список из 800 номеров). Вообще по простому это так выглядит , я в поиске ctr+f ввожу номер например 645 он находит его я делаю ячейку(646) активной ...после запускаю макрос а он вставляет уже что мне надо(а до этого я в ячейку а30 и а31 проставляю условия на основании которых работает макрос)....Потом меняю фамилию и статус и делаю уже для другой фамилии.... Чтобы бы я без вас делал!
sergantikus вне форума Ответить с цитированием
Старый 02.07.2010, 21:17   #9
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Проще:
cell.Offset(0, 3) = [a30]
как в книжках:
cell.Offset(0, 3) = Range("a30")
или
cell.Offset(0, 3) = Range("a30").Value
как часто:
cell.Offset(0, 3) = Cells(30, 1).Value

А Offset - это сдвиг с указанной/активной ячейки.
(1, 0) - вниз
(0, 1) - вправо
Можно (0, -1) - влево, но если из первой колонки - будет ошибка.
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 02.07.2010 в 21:21.
Hugo121 вне форума Ответить с цитированием
Старый 02.07.2010, 21:30   #10
sergantikus
Пользователь
 
Регистрация: 29.06.2010
Сообщений: 37
По умолчанию

Всем спасибо! С вашей помощью я все доделал!
sergantikus вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос из Excel в Access kipish_lp Microsoft Office Access 3 23.04.2010 21:05
Макрос для Excel W0LF Microsoft Office Excel 1 30.10.2009 15:07
Макрос Excel поиска и вставки igorok Microsoft Office Excel 2 08.07.2009 18:49
Макрос в Excel Dartchuwak Microsoft Office Excel 1 11.01.2009 21:50
макрос VBA Excel Bor Microsoft Office Excel 5 25.01.2008 12:20