2014-10-06 27 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

相关问题