2016-11-11 1 views
0

VBA를 사용하여 작업 시트 중 하나에서 사용자 정의 날짜에 해당하는 행 값을 조회하려고합니다. 해당 행의 모든 ​​데이터를 편집하십시오. 문맥의 약간으로 VBA : 사용자 정의 값 (날짜)을 조회하여 행 번호 찾기

:

내가 여러 시계열 데이터가 모두가 중간에 중복의 좋은 부분과 다른 시작과 끝 날짜가 있음을 설정합니다. 필자는 사용자 정의 날짜 매개 변수를 사용하여 차트를 만들고 싶지만 시작일이 일정하지 않기 때문에 차트를 동적으로 리베이스 할 수 없습니다.

매크로를 사용하여 한 시트의 데이터를 복제하고 사용자가 정의한 시작 날짜에 해당하는 값의 줄을 덮어 쓰고 백분율 변경 수치를 기반으로 반환 값을 계산하기를 바랬습니다 (이미 다른 시트).

날짜 범위의 UD 시작 날짜에 해당하는 행을 동적으로 o/w 할 수 있다면이를 하나의 것으로 대체 할 수 있으며 모든 계산이 효과적으로 리베이스됩니다.

모든 의견은 훌륭합니다!

편집

루카스, 나는 두 가지 문제를 데

; 첫째로, 내가 시트를 보호 할 때 (내가 극복 할 수없는 것이 아니라면) 내가 함께 진흙으로 자갈을 맺은 것은 효과가 없다. 둘째, 작동하지 않습니다 :).

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

여기에 내가 의지됩니다 지속적으로 필터링을 다시 한 장에 인용 번호를 기반으로 항목의 행을 찾기 위해 사용하는 일부 코드입니다 : 여기 내 작품이다. 내가 그 행의 범위를 사용하여 뭔가를 할 때

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 

은 당신이 당신의 시트를 복제 부분 도움이 필요 했 quoteRow.Row

Private Sub FindQuote(partNum as String) 
Dim quoteRow as Range 
Set quoteRow = Range("A:A").SpecialCells(xlCellTypeVisible).Find(partNum) 

은 내가 사용할 수 있습니까?

+0

루카스, 답변 해 주셔서 감사합니다. 복제는 내가 괜찮다고 생각합니다. 나는 속여서 그 부분을 녹음했다. 내 일반적인 학식을위한 것입니다. .SpecialCells (xlCellTypeVisible) 부분이 필요합니까? – CMWells

+0

Lucas, 나는 위의 내용을 편집했다. – CMWells