簡體   English   中英

使用VBA在表格中的特定值上方插入一行

[英]Using VBA to insert a row above specific values in a table

我有一個類似於以下內容的表格:

   Open Date    MaturityDate    ZeroRate
    5-May-15    5-May-15    0.006999933
    5-May-15    6-May-15    0.0069999329
    5-May-15    5-Jun-15    1
    5-May-15    6-Jul-15    0.008993128
    5-May-15    5-Aug-15    0.006744264
    5-May-15    5-Nov-15    0.006912941
    5-May-15    5-May-16    0.007104633
    5-May-15    5-May-17    0.006910929
    5-May-15    6-Nov-17    0.007017292
    5-May-15    7-May-18    0.00712202
    5-May-15    5-Nov-18    1
    5-May-15    6-May-19    0.008551509
    5-May-15    5-Nov-19    0.009734602
    5-May-15    5-May-20    0.010916848
    5-May-15    5-Nov-20    0.011779622
    5-May-15    5-May-21    0.012632521
    5-May-15    5-Nov-21    1
    5-May-15    5-May-22    0.014366506
    5-May-15    7-Nov-22    0.014935518
    5-May-15    5-May-23    0.0154865

我正在嘗試編寫一個VBA腳本,以便在第三列的每個“ 1”值實例上方的表中插入一行。 到目前為止,這是我寫的內容:

Sub RowInserter()
Dim d As Integer
d = Range("C:C").End(xlDown).Row
Dim c As Range
  For i = d To 2 Step -1
    If Cells(i, 1).Value = "1" Then
      Rows(Cells(i, 1).Row).Insert shift:=xlDown
    End If
  Next
End Sub

但這似乎沒有任何效果。 我究竟做錯了什么?

您編碼正確,但只有一個錯誤。 您應該在行中鍵入3而不是1

If Cells(i, 1).Value = "1" Then  

更改3 ,例如:

If Cells(i, 3).Value = "1" Then  

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM