我是这里的新手,并尝试用Excel完成我认为的简单任务。
我需要做的是插入文字" Rakennus"到第一个可用单元格,下一个单元格的时间和日期。我已经有一个将数据从表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 :(得分: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