Помогите переделать макрос.

Программирование на Visual Basic for Applications
Rubinus
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 04.07.2004 (Вс) 21:28

Помогите переделать макрос.

Сообщение Rubinus » 30.10.2004 (Сб) 10:26

Текст макроса:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)

'***********************************************
' help urllink-doggie-yandex.ru
'***********************************************

On Error GoTo Err

iClm = Target.Column: iRow = Target.Row

iDate = Target.Value

If iClm = 1 And iRow >19 And iRow < 301 Then

Select Case iDate
Case "1"
iDate = "Рога и копыта"
Case "2"
iDate = "Кидалов и сыновья"
Case "3"
iDate = "ООО Торговый Дом Шелупонь"
Case "4"
Rem : И так далее ...
End Select

Application.EnableEvents = False

Application.Undo

Target.Value = iDate

Application.EnableEvents = True

End If

Err: End Sub


Вопрос1
А можно этот макрос как нибудь расширить он делает автоподмену только в столбце А а мне нужно чтобы он делал подмену на одном листе но в нескольких столбцах к примеру в А, С, H.

Вопрос2
И можно ли в iDate = "" писать не текст а номер ячейки из которой нужно брать значение?
Bona mente...

Vitaly1
Брехман
Брехман
 
Сообщения: 1578
Зарегистрирован: 30.12.2002 (Пн) 16:35
Откуда: Russia, Mosсow

Сообщение Vitaly1 » 30.10.2004 (Сб) 14:15

Вопрос2
И можно ли в iDate = "" писать не текст а номер ячейки из которой нужно брать значение?


Target.Column - колонка ячейки
Target.Row - строка ячейки

Rubinus
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 04.07.2004 (Вс) 21:28

Сообщение Rubinus » 30.10.2004 (Сб) 15:51

Vitaly1 писал(а):
Вопрос2
И можно ли в iDate = "" писать не текст а номер ячейки из которой нужно брать значение?


Target.Column - колонка ячейки
Target.Row - строка ячейки


А можно показать на примере данного макроса?
Bona mente...

Rubinus
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 04.07.2004 (Вс) 21:28

Сообщение Rubinus » 30.10.2004 (Сб) 15:54

Помогите пожалуйста с этим вопросом:
Можно этот макрос как нибудь расширить он делает автоподмену только в столбце А а мне нужно чтобы он делал подмену на одном листе но в нескольких столбцах к примеру в А, С, H.
Bona mente...

Rubinus
Начинающий
Начинающий
 
Сообщения: 17
Зарегистрирован: 04.07.2004 (Вс) 21:28

Сообщение Rubinus » 31.10.2004 (Вс) 16:59

1.Можно сделать так чтобы в колонке A при вводе цифры 1 подставлялась одна информация,
в колонке B при вводе цифры 1 другая и т.д.
Что-то типа:
Часть кода, как это правильно оформить:
-------------------------------------------------------
If iClm = 1 And iRow > 19 And iRow < 301 Then

Select Case iDate
Case "1"
iDate = Параметры.Cells(1,2)
Case "2"
iDate = "ООО Торговый Дом Шелупонь"
Case "3"
iDate = "ООО Торговый Дом Шелупонь"
Case "4"
Rem : И так далее ...
End Select

If iClm = 2 And iRow > 19 And iRow < 301 Then

Select Case iDate
Case "1"
iDate = Параметры.Cells(1,2)
Case "2"
iDate = "ООО Торговый Дом Шелупонь"
Case "3"
iDate = "ООО Торговый Дом Шелупонь"
Case "4"
Rem : И так далее ...
End Select
-----------------------------------------------------
Bona mente...

Igor_123
Осторожный Баянист
Осторожный Баянист
Аватара пользователя
 
Сообщения: 1325
Зарегистрирован: 21.07.2004 (Ср) 13:00
Откуда: Днепропетровск

Сообщение Igor_123 » 12.11.2004 (Пт) 12:31

Rubinus писал(а):If iClm = 1 And iRow > 19 And iRow < 301 Then


Это читается как:
Если НомерСтолбца равен 1 и НомерСтроки больше 19 и НомерСтроки меньше 301 Тогда
Выполняем какие-то действия

Rubinus писал(а):If iClm = 2 And iRow > 19 And iRow < 301 Then

К тому-же ты и сам разобрался!

Удачи!


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2

    TopList