[英]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.