Тема: VBA в excel помогите написать код для полосы прокрутки

Люди Help, плиzzzzzz!!!!!!!!!! Вот написала код для полосы прокрутки, а мне препод сказал, что неверно :(
Задача:
Создать таблицу для отображения заработка трех сотрудников по месяцам(4 столбца,13 строк). Используя полосу прокрутки, добейтесь того, чтобы при нахождении ее движка напротив ячейки с соответствующим названием месяца, эта ячейка была бы активизирована.
Во-первых, препод сказал, что когда движок доходит до конца полосы прокрутки, последняя ячейка должна оставаться активизированной (выделенной), а у меня выделение исчезает куда-то :(
Во-вторых, этот код надо еще как-то изменить, чтоб он занимал не более 3-х строк 8(

Private Sub ScrollBar1_Change()
Dim N_MES As Integer
‘N_MES -вспомогательная переменная, позволяющая избежать
‘излишне длинной записи при проверке условных операторов
Sheets("Лист3").Range("A1").Value = ScrollBar1.Value
‘Рамещаем на Лист3 в ячейку А1 значение св-ва Value прокрутки
‘ это св-во должно соответствовать номеру месяца от 1 до 12
N_MES = Sheets(2).Range("A1").Value
‘Присваиваем переменной N_MES значение, равное числу из ячейки «А1»,
‘с рабочего листа Лист3 (т.е. номер месяца)
Sheets("Лист3").Select ‘Явно указываем на лист
If N_MES = 1 Then ‘если это 1-й месяц
Range("A3").Select ‘активизируем ячейку «А3»
ElseIf N_MES = 2 Then Range("A4").Select: ElseIf N_MES = 3 Then Range("A5").Select
ElseIf N_MES = 4 Then Range("A6").Select: ElseIf N_MES = 5 Then Range("A7").Select
ElseIf N_MES = 6 Then Range("A8").Select: ElseIf N_MES = 7 Then Range("A9").Select
ElseIf N_MES = 8 Then Range("A10").Select: ElseIf N_MES = 9 Then Range("A11").Select
ElseIf N_MES = 10 Then Range("A12").Select: ElseIf N_MES = 11 Then Range("A13").Select
ElseIf N_MES = 12 Then Range("A14").Select
End If
End Sub

И такая же проблема с двумя полосами прокрутки:
Написать процедуру для обработки соответствующих событий таким образом, чтобы можно было активизировать любую ячейку таблицы, пользуясь горизонтальной и вертикальной полосами прокрутки.
Текст процедуры не более 3-х строк
Добейтесь такой работы программы, чтобы одна ячейка таблицы при любых положениях движков была активна.

Private Sub ScrollBar1_Change()
Dim N_MES As String
ScrollBar2.Value = 2
Sheets("Лист3").Select
N_MES = "B" & ScrollBar1.Value
Range(N_MES).Select
Range(N_MES).Activate
End Sub
Private Sub ScrollBar2_Change()
Sheets("Лист3").Select
Cells(ScrollBar1.Value, ScrollBar2.Value).Select
Cells(ScrollBar1.Value, ScrollBar2.Value).Activate
End Sub

Re: VBA в excel помогите написать код для полосы прокрутки

> Mypppka
Для первой так будет покороче?

Private Sub ScrollBar1_Change()
Dim N_MES As Integer
Sheets("Лист3").Range("A1").Value = ScrollBar1.Value
N_MES = Sheets(2).Range("A1").Value
Sheets("Лист3").Select Range("A" + CStr(N_MES + 2)).Select
End Sub

~'J'~

Re: VBA в excel помогите написать код для полосы прокрутки

> Олег(jr.)
Спасиб за помощь :)
А в строке
Sheets("Лист3").Select Range("A" + CStr(N_MES + 2)).Select
точно "+", а не "&"?

Re: VBA в excel помогите написать код для полосы прокрутки

> Mypppka
Плюс точно (сложение чисел, а не конкатенация строк)
~'J'~

Re: VBA в excel помогите написать код для полосы прокрутки

> Олег(jr.)
(2006-05-24 20:01:41
я про это:
Sheets("Лист3").Select Range("A" & CStr(N_MES + 2)).Select
A- это же столбец, а CStr(N_MES + 2)-номер строки, как я понимаю