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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.11.2012, 13:09   #1
b7music
 
Регистрация: 07.11.2012
Сообщений: 6
По умолчанию Макрос переименовывающий строку

Здравствуйте уважаемые форумчане!
Помогите, пожалуйста.
Имеется таблица с 3-листами.

Необходимо сделать макрос который, при нажатии на кнопку изменял бы значение в другой ячейке, другого листа.

Например, есть ячейка Тип ремонта - "Гарантийный"
Нажимаем на кнопку, и в нужной строке название меняется с "Платный" на "Гарантийный", и наоборот при нажатии ещё раз на эту кнопку.


Сам в vba вообще ничего не соображаю.
b7music вне форума Ответить с цитированием
Старый 07.11.2012, 15:51   #2
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
Сам в vba вообще ничего не соображаю.
Тогда тебе вряд ли это поможет. Но работает, поверь
Код:
Sub Щелкнуть()
Dim RNG As Range
Set RNG = Sheets("Лист2").Range("Тип_ремонта")
With RNG
If .Value = "" Or .Value = "Платный" Then
    .Value = "Гарантийный"
    Sheets("Лист1").CommandButton1.Caption = "Гарантийный"
Else
    .Value = "Платный"
    Sheets("Лист1").CommandButton1.Caption = "Платный"
End If
End With
End Sub
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 07.11.2012, 16:46   #3
b7music
 
Регистрация: 07.11.2012
Сообщений: 6
По умолчанию

Изменил содержание под свои имена страниц.

Код:
Sub Щелкнуть()
Dim RNG As Range
Set RNG = Sheets("Новая квитанция").Range("F3:G3")
With RNG
If .Value = "" Or .Value = "платный" Then
    .Value = "гарантийный"
    Sheets("Оборудование").CommandButton1.Caption = "гарантийный"
Else
    .Value = "платный"
    Sheets("Оборудование").CommandButton1.Caption = "платный"
End If
End With
End Sub
Добавил новый модуль в документ.
Сделал кнопку и повесил на неё выполнение макроса.

И не работает

"Оборудование" - это первый лист на котором должна находиться кнопка.
"Новая квитанция" это второй лист, (F3) это ячейка в которой должна изменяться надпись.

Что я сделал не так?

Последний раз редактировалось b7music; 07.11.2012 в 17:14.
b7music вне форума Ответить с цитированием
Старый 07.11.2012, 18:14   #4
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

а не работает - это как?
1) Вы уверены, что этот макрос выполняется
2) выдает ошибку, номер ошибки, в какой строке?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.11.2012, 18:17   #5
b7music
 
Регистрация: 07.11.2012
Сообщений: 6
Радость



Как то так
проект.zip
Вот исходник.
Хочу чтобы при нажатии на кнопку "Платный" на листе "Оборудование", менялось значение на "платный" на листе "Новая квитанция", и наоборот.
Соответственно, если выбран платный тип ремонта, то надпись на кнопке хочется видеть "гарантийный".

Последний раз редактировалось b7music; 07.11.2012 в 18:30.
b7music вне форума Ответить с цитированием
Старый 07.11.2012, 18:58   #6
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

я еще небольшую кнопку добавил (детскую), щелкайте по ней.
Вложения
Тип файла: rar проект.rar (28.8 Кб, 21 просмотров)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 07.11.2012, 20:04   #7
b7music
 
Регистрация: 07.11.2012
Сообщений: 6
По умолчанию

alex77755,IgorGO, огромное Вам человеческое спасибо!

Последний вопрос

Подскажите, наглядно, если можно, каким макаром при выделении всей строки, при нажатии на кнопку (опять же макрос), в 18 столбец, в этой строке, подставлялась текущая дата?

Хочу сделать кнопку "Выдано". Если в ячейке уже стоит дата, то кнопка становится не активной, но это уже мелочи

Работаю в сервисном центре, весь поток с 3-х точек идет к нам, хотелось бы упростить жизнь, и отмечать, что ушло, а что осталось.
b7music вне форума Ответить с цитированием
Старый 07.11.2012, 20:27   #8
b7music
 
Регистрация: 07.11.2012
Сообщений: 6
По умолчанию

Там в квитанции, соседняя ячейка ("N3") отображалась по правилу что она равна ("F3"). После срабатывания макроса она не изменяется Как исправить?
b7music вне форума Ответить с цитированием
Старый 08.11.2012, 01:30   #9
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
Там в квитанции, соседняя ячейка ("N3")
не пробовал сам найти ячейку "N3"?
Может я не совсем понимаю ТАМ?
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Старый 08.11.2012, 01:46   #10
alex77755
Форумчанин
 
Аватар для alex77755
 
Регистрация: 14.02.2009
Сообщений: 753
По умолчанию

Цитата:
каким макаром при выделении всей строки,
Опять же: на каком листе?
Цитата:
при нажатии на кнопку (опять же макрос), в 18 столбец, в этой строке, подставлялась текущая дата?
где-то так:
Код:
Cells(ActiveCell.Row, 18) = Date
помогу решить контрольные VB6, VBA (недорого)
Alex77755@mail.ru
alex77755 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Макрос: открыть книгу, перейти на лист, найти строку и скопировать MaxxVer Microsoft Office Excel 19 04.09.2012 11:42
Двунаправленный линейный список строк. Вставить строку, удалить строку и заменить строку tarasman11 Паскаль, Turbo Pascal, PascalABC.NET 4 05.07.2012 20:27
Макрос в Word - копировать определенную строку в другой файл Yanita Microsoft Office Word 5 24.02.2012 17:18
Копировать строку фильтрованного списка в другую книгу, на последнюю пустую строку Gvaridos Microsoft Office Excel 11 24.11.2010 00:48
Как при нажатии на строку в Listbox передавать нажатую строку в переменную Михаил Юрьевич Общие вопросы Delphi 5 16.03.2009 12:59