2014-10-06 74 views
-1

我在這裏總共有一個新手,試圖用Excel完成我認爲是一項簡單的任務。如何將特定數據插入到列中的連續單元格

我需要做的是將文本「Rakennus」插入到第一個可用單元格中,並將時間和日期插入到下一個2單元格中。我已經有了一個將數據從表格1複製到表格2的宏。這個新數據需要以連續的方式插入表格2,A列。

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 

.Transpose(...)三個值的陣列配合使用.Resize(3, 1)將獲得在一個單一的代碼行完成這項工作。

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 !.現在它將信息添加到行中,當我希望它沿着列「A」向下時。 – Jesse 2014-10-06 08:46:55

+0

@Jesse - offset命令簡單地是'.Offset(<行數>,<列數>)'。如果你想要垂直堆疊三個值,只需使用'.Offset(1,0)'作爲它們的每一個。 – Jeeped 2014-10-06 09:01:24

相關問題