2014-10-06 5 views
-1

Im полный новичок здесь и пытается выполнить то, что я считал простой задачей с Excel.Как вставить конкретные данные в последовательные ячейки в столбце

Что мне нужно сделать, это вставить текст «Rakennus» в 1-ю доступную ячейку, время и дату до следующих 2 ячеек. У меня уже есть макрос, который копирует данные с листа 1 на лист 2. Эти новые данные необходимо вставлять в лист 2, колонку А последовательным образом.

Application.Sheets("Taul2").Select.LastRow .Range("A" & Rows.Count) = "Rakennus".End(x1up).Row + 1 
    Application.Sheets("Taul2").Select.LastRow .Range("A" & Rows.Count) = Now.End(x1up).Row + 2 
    Application.Sheets("Taul2").Select.LastRow .Range("A" & Rows.Count) = Date.End(x1up).Row + 3 

Мои навыки очень ограничены, и это то, что я собрал и модифицирована, просто не могу заставить его работать

Любой вид проницательности оценили!

ответ

0

После определения последней используемой строки с помощью .End(xlUp) используйте .Offset(1, 0) для перемещения вниз по 1 строке, чтобы вставить текстовое значение. Когда это будет сделано, используйте аналогичный метод, чтобы найти эту ячейку и .Offset(0, 1) справа на дату и .Offset(0, 2) за это время.

With Sheets("Taul2") 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0) = "Rakennus" 
    .Cells(Rows.count, 1).End(xlUp).Offset(0, 1) = Date 
    .Cells(Rows.count, 1).End(xlUp).Offset(0, 2) = Time 
End With 

Если три значения должны быть ориентированы по вертикали, вы просто продолжите исходное смещение.

With Sheets("Taul2") 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0) = "Rakennus" 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0) = Date 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0) = Time 
End With 

Использование .Resize(3, 1) вместе с .Transpose(...) на массив из трех значений будет получить работу в одной строке кода.

With Sheets("Taul2") 
    .Cells(Rows.count, 1).End(xlUp).Offset(1, 0).Resize(3, 1) = Application.Transpose(Array("Rakennus", Date, Time)) 
End With 
+0

Это очень проницательный, спасибо yoU !. Прямо сейчас он добавляет информацию в строку, когда мне хочется, чтобы она следовала вместо столбца «А» вниз. – Jesse

+0

@Jesse - Команда offset - это просто '.Offset (<число строк>, <количество столбцов>)'. Если вы хотите, чтобы три значения располагались вертикально, просто используйте '.Offset (1, 0)' для каждого из них. – Jeeped

Смежные вопросы