2016-05-20 3 views
0

Я хочу, чтобы получить количество следующих пустых строк, вычисленный из объявленной ячейки: Как вы можете видеть, что это проблема: get N° 7 declared cell is "A4" Получить количество следующих пустых строк

я это сделать, но я дон «т получить правильный ответ: VBA Code1

Sub sup_rapp1() 
'*variables 
Dim CELDEB As Range, LIGNEFIN As Long, COLONEFIN As Long, WS As Worksheet 
'set objet : affecter les objets 
Set WS = Sheets("TAB1") 
Set CELDEB = Range("A4") 
'derniere ligne at colonne of data 
LIGNEFIN = WS.Cells(WS.Rows.Count, CELDEB.Column).End(xlUp).Row 
MsgBox LIGNEFIN 

wronge reponse Code 1

Code2

Sub sup_rapp1() 
'*variables 
Dim CELDEB As Range, LIGNEFIN As Long, COLONEFIN As Long, WS As Worksheet 
'set objet : affecter les objets 
Set WS = Sheets("TAB1") 
Set CELDEB = Range("A4") 
'derniere ligne at colonne of data 
LIGNEFIN = WS.Cells(WS.Rows.Count, CELDEB.Column).End(xlDown).Row 
MsgBox LIGNEFIN 

wrong reponse code 2

+0

Возможный дубликат [Выбрать первую пустую ячейку в столбце F, начиная с строки 1. (без использования смещения)] (http://stackoverflow.com/questions/14957994/select-first-empty-cell-in-column- f-start-from-row-1-without-using-offset) – blckbird

ответ

1

Я думаю, что это то, что вы ищете:.

Set WS = Sheets("TAB1") 
Set CELDEB = WS.Range("A4") 

LIGNEFIN = CELDEB.CurrentRegion.Row + CELDEB.CurrentRegion.Rows.Count 

MsgBox CStr(LIGNEFIN) 

CurrentRegion дает границу области вашей клетка находится в

Причины вы сделали не получить правильный результат с вашим кодом, так это то, что вы выбрали последнюю строку на листе и затем поднялись, что дало вам 11 или когда вниз (то есть вы остались на последнем строка), которая дала вам другое значение.

+0

спасибо, что он работает правильно; я не понял последнюю строку вашего кода: «CStr (« LIGNEFIN »). –

+1

@ H.hisoka, CSTR - это не что иное, как преобразование значения в строку –

+0

cool thanks a gaine –