Страницы: 1
RSS
Определение активной строки (VBA)
 
Понадобилось в активную строку внести данные.  
Sub xxx()  
Dim namb As Integer  
   activeRow = ActiveCell.Row  
   namb = activeRow  
   MsgBox namb  
End Sub  
 
При отключенной Option Explicit номер строки определяется, при включенной выдает ошибку.  
Почему?  
 
Есть ли другой способ получения номера активной ячейки?
 
Работает:  
Option Explicit  
 
Sub xxx()  
Dim namb As Long  
Dim activeRow As Long  
activeRow = ActiveCell.Row  
namb = activeRow  
MsgBox namb  
End Sub  
 
Лучше Long, Вы же не только по первым 35000 (или сколко там предел) работать будете...
 
Забыл на вопрос ответить - так при включенной все переменные надо определять.
 
А я что-то не пойму - зачем промежуточная переменная?  
Option Explicit  
Sub xxx()  
Dim namb As Long  
namb = ActiveCell.Row  
MsgBox namb  
End Sub
 
Действительно )  
 
MsgBox ActiveCell.Row
 
Не, я не про это: одна переменная, возможно, нужна в качестве глобальной. Или ещё для чего-нибудь. Но в коде ДВЕ переменных, и обе принимают одинаковое значение.
 
{quote}{login=}{date=06.06.2010 11:48}{thema=}{post}Действительно )  
MsgBox ActiveCell.Row{/post}{/quote}  
Приколисты:-) Ща The_Prist построит в одну строку всю процедуру.
Я сам - дурнее всякого примера! ...
 
Prist человек серьёзный - он на такие клубничные имена макросов не реагирует.
 
{quote}{login=Юрий М}{date=06.06.2010 11:58}{thema=}{post}Prist человек серьёзный - он на такие клубничные имена макросов не реагирует.{/post}{/quote}  
Ну да. На имя то я и не глянул. Че-то у меня и капча - 69998. Связался...:-)
Я сам - дурнее всякого примера! ...
 
Hugo:  
<так при включенной все переменные надо определять>  
Юрий М:  
<А я что-то не пойму - зачем промежуточная переменная>  
<Но в коде ДВЕ переменных, и обе принимают одинаковое значение>  
То, что переменные нужно определять, я еще раньше усвоил - нечего наезжать :)  
А то , что не сообразил, что activeRow это переменная - вот тут навались, и по полной - даже отбиваться не стану :)  
Нужна была переменная для корректировки данных в выбранной строке:  
Dim n As Integer  
n = ActiveCell.Row  
 
Всем спасибо, быстренько тему закрываем, пока "The_Prist не пристроил меня в одну процедуру" :)
Страницы: 1
Читают тему
Наверх