我的其他宏从网上抓取共同基金规模并返回Worksheets("Updater").Cells(xx,4)
中的值(因此列C)。宏还在晨星上更新了基金的更新日期,并在同一张纸上的F栏中返回。我在A栏中获得了83个基金名称。
在名为" Tracker"我已经转换了基金名称。它们从细胞(1,4)开始,然后转到(1,86)。在B栏中,我在C栏中获得了日期的DATEVALUE。日期格式存在一些问题,因此我稍后会隐藏B列。
下面的宏按原样工作,但是当您取消注释第11行和第22行时,它不再按预期工作。想法是查看表格上的基金规模"更新程序"并将基金规模返回到表格中的相应日期" Tracker"。如上所述,这是有效的。
但是,使用嵌套的if语句,我想修改宏,以便保留包含" - "以外的所有单元格。不变。通过这种方式,我会在每天执行宏时开始累积基金规模数据,并且不会用" - "来覆盖旧的基金规模。
现在宏翻转知道在哪里的资金,我根本无法解决这个嵌套的if语句问题。这甚至是获得我想要的地方的正确/最佳方式吗?
Sub fundSizeTracker()
Dim f As Integer
Dim numRows As Integer
numRows = 86
f = 2 'Sheet fund names & sizes
For m = 2 To 4 'Sheet row number, starting at rowNo 2
For i = 4 To numRows 'Sheet column number (set to include all 83 funds)
' If Worksheets("Tracker").Cells(m, i) = "-" Then
' Are Datevalues same? 'Tracker datevalue 'Updater datevalue
If StrComp(Worksheets("Tracker").Cells(m, 2).Value, Worksheets("Updater").Cells(f, 13).Value) = 0 Then
Worksheets("Tracker").Cells(m, i) = Worksheets("Updater").Cells(f, 4).Value
Else
Worksheets("Tracker").Cells(m, i) = "-"
End If
If f = numRows - 1 Then
f = 2
End If
f = f + 1
' End If
Next i
Next m
End Sub