2014-09-17 2 views
-1

주 단위로 변경할 수있는 셀 B32의 값이 있습니다. 새 주 동안 데이터를 복사하여 파일에 붙여 넣는 매크로가 있지만 매주 복사/붙여 넣기 위치가 바뀝니다.행에서 일치하는 셀의 셀 주소

관련 코드의 일부는 여기에 있습니다 : 그것은 Selection.Find(What:=Week

밖으로 erroring되는

Dim Week As String 
Dim FiscalPeriod As String 

Windows("Personal.xls").Activate 
Sheets("Store Info").Select 
Week = Range("B32").Value 

Windows("Budget Load Check.xls").Activate 
Sheets("Fcst PT").Select 
Rows("4:4").Select 
Selection.Find(What:=Week, After:=ActiveCell, LookIn:=xlFormulas, _ 
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ 
    MatchCase:=False, SearchFormat:=False).Activate 
FiscalPeriod = ActiveCell.Address 

가 어떻게 알아낼 다음, 행 4의 값을 검색하도록 지시 않는 활성 셀 및 레이블의 주소는 'FiscalPeriod'입니다. 일단 그렇게하면 일련의 셀 오프셋을 수행하여 모든 것을 올바른 위치에 붙여 넣을 수 있습니다.

+0

(1) 오류 세부 정보를 제공하시기 바랍니다 (_ "의사, 뭔가 나와 함께 잘못,하지만 난 당신이 밖으로 것을 알 정도로 똑똑 확신한다."_). (2) 선택에 의존하는 것보다 적절한 셀 (들)에 대한'Range' 참조를 만드는 것이 낫습니다. 사용자가 매크로 중간에서 선택 영역을 이동하면 어떻게됩니까? –

+0

안녕하세요. 오류 메시지는 "런타임 오류 '91': 개체 변수 또는 블록 변수가 설정되지 않았습니다. 감사합니다. – Cannabiz

답변

0

숫자 주와 정확히 일치하는 것을 찾으려고하고 있으며 LookAt:=xlPart은 이전 검색에서 남겨 두었을 것입니다.

Dim Week As String, FiscalPeriod As String 
Week = Workbooks("Personal.xls").Sheets("Store Info").Range("B32").Value 
Windows("Personal.xls").Activate 
With ActiveWorkbook.Sheets("Fcst PT") 
    If Not IsError(Application.Match(Week, .Rows(4), 0)) Then 
     FiscalPeriod = .Cells(4, Application.Match(Week, .Rows(4), 0)).Address 
    Else 
     FiscalPeriod = "not found" 
    End If 
End With 
+0

감사합니다. – Cannabiz

관련 문제