如何将特定数据插入列中的连续单元格

时间:2014-10-06 08:17:58

标签: excel vba text insert

我是这里的新手,并尝试用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

我的技能非常有限,这是我收集和修改的,只是无法让它工作

任何有识之士都赞赏!

1 个答案:

答案 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