我正在尝试使用VBA在我的某个工作表上查找与用户定义日期对应的行值,以便我能够编辑该行上的所有数据。
作为一点背景:
我有几个时间序列数据集,它们都有不同的开始和结束日期,中间有很多重叠。我想使用用户定义的日期参数来绘制这些参数,但是,由于开始日期不均匀,图表无法动态变基。
我希望使用宏来克隆一张纸上的数据,覆盖与用户定义的开始日期对应的值行,然后根据百分比变化数据计算返回值(我已经在另一张表中)。
如果我可以动态地删除与日期范围的UD开始日期对应的行,我可以用一个替换它,并且我的所有计算都将有效地重新定位。
任何反馈都很棒!
修改
卢卡斯
我有两个问题;首先,当我保护床单时(不是不可克服的),我不熟悉的拼凑在一起是行不通的;其次,它不起作用:)。这是我的工作:
Sub Rebase()
Dim UDStartVal
Dim UDStartLoc As Range
Dim UDRow As Integer
'
' Rebase Macro
' A macro to rebase the chart to the user defined start date.
'
'
Sheets("Cumulative Monthly Returns").Select
Cells.Select
Selection.Copy
Sheets("Chart Numbers").Select
Range("A1").Select
ActiveSheet.Paste
' Lookup to change the value of the cells corresponding to the user defined start date to 0, effectivley rebasing the portfolo.
Worksheets("Cumulative Period Returns").Activate
UDStartVal = Cells(4, 2).Value
Set UDStartLoc = Range("A:A").SpecialCells(xlCellTypeVisible).Find(UDStartVal)
Set UDRow = UDStartLoc.Row
Stop
End Sub
答案 0 :(得分:0)
以下是一些代码,用于根据工作表中的报价编号查找条目行,该工作表会不断使用和重新过滤。
Private Sub FindQuote(partNum as String)
Dim quoteRow as Range
Set quoteRow = Range("A:A").SpecialCells(xlCellTypeVisible).Find(partNum)
然后当我想做一些使用该行范围的事情时,我使用quoteRow.Row
If Not quoteRow Is Nothing Then
quoteNum = Cells(quoteRow.Row, "P").Value
Cells(quoteRow.Row, "Q").Value = "Found"
Else
MsgBox "No quote was found"
End If
End Sub
您在克隆表单的部分需要帮助吗?