2015-04-01 3 views
0
colname = Split(Cells(, i).Address, "$")(1) 
Lastrow = .Cells(.Rows.Count, colname).End(xlUp).Row 
ws.("?" & Lastrow).Copy ws1.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0) 

i - это номер, который преобразуется в название столбца. Мне нужен диапазон, начиная с номера 4, например, если i = 1, мне нужно Диапазон («A4» & Lastrow). У меня есть lastrow и я могу получить, но, как я делаю это A4Письмо диапазон в excel.

+1

'Range ("A4" и Lastrow)' вы имеете в виду 'Range ("A4: A" & Lastrow)' –

ответ

1
Dim ws as Worksheet 
Dim Row as integer 
Dim Col as integer 
Row = 4 
Col = 1 
Range(Cells(Row, Col), cells(LastRow, Col)) 
ws.Range(Cells(Row, Col), Cells(LastRow, Col)) 
+0

WS. Range (Ячейки (4, i) и Lastrow) .Copy ws1.Cells (Rows.Count, «A»). End (xlUp) .Offset (1, 0). Это не работает – Jain

+0

Нет, не ожидал. Это не то, что я вложил в мой ответ. Если вы собираетесь использовать его таким образом, вам понадобится Range (** Cells **(), ** Cells **()). Вам нужно указать как верхний левый, так и нижний правый угол вашего диапазона, используя ссылку «Ячейки()» для каждого. Устранение '& Lastrow' там, скорее всего, просто вызовет ошибку. – FreeMan

+0

Извините, но у меня есть еще одна вещь, чтобы спросить. Почему ws.Range с использованием этого fromat не работает, пока он не работает, означает, что он рассматривает активный лист. – Jain