如果该日期不是今天,我有一个宏插入数据上方的数据行。然后它在日期栏中添加今天的日期。这是通过30个工作表完成的,但只有第一个工作表正确地在正确的位置添加一行并在右侧的单元格中添加日期。这行应该插在A3“之上,但其余的插入一行上面的”A4“。下面是我正在使用的当前代码,我认为这可能是一个范围问题,但没有运气时,测试。Excel VBA宏插入行只能在第一张工作表上正常工作
Sub UpdatePrices()
Dim ws As Worksheet, Ldate As String, DateRng As Range
Set DateRng = Sheets("AXP").Range("A3") 'date range is last date
Ldate = DateRng.Value 'defines ldate as most recent date
For Each ws In ThisWorkbook.Worksheets
ws.Select
'Inserts a new row with containing today's Date and exclude sheets
If Ldate <> Date And UCase(ws.Name) <> "DATA" And UCase(ws.Name) <> "UPDATE" Then
ws.Rows(DateRng.Row).EntireRow.Insert
ws.Cells(DateRng.Row, DateRng.Column).Offset(-1, 0) = Date
End If
Next
End Sub
你的解释困惑在这里..“行应插入A3以上”,但其余的插入一行上方“A4”“。你的意思是该行应插入上面的A3上第一张工作表和A4以上的所有其他纸张? – Jaycal
对不起,我的意思是所有的纸张应该有一排插入A3以上,但只有第一张是AXP这样做,其余的纸张插入他们的行上面A4 – Nrandazzo
仍然不是让我们来做一个例子....如果你的工作簿有3张纸,那么这3张纸上应该插入哪一行...? – Jaycal