>source

엑셀에서 스크립트를 만들어 시트를 복제하고 활성 시트의 셀 값으로 이름을 바꾼 다음 수식 값을 '마스터 작업'이라는 레이블이 붙은 기본 시트의 아래 행 값으로 바꾸려고 합니다. 마지막 부분은 매크로로 기록된 아래 code를 '19'를 '20'으로 수정하여 수식의 기존 숫자가 N이 되고 N+1로 대체되도록 수정하려고 합니다. 범위의 각 셀에 대한 수식은 기본 탭에서 아래와 같이 간단한 조회입니다.

='마스터 작업'!B19

Range("D5:D8").Select
Selection.Replace What:="19", Replacement:="20", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False
Range("B14:M14").Select
Selection.Replace What:="19", Replacement:="20", LookAt:=xlPart, _
    SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
    ReplaceFormat:=False

이상적이지 않은 빠른 솔루션은 변수 dim n as long: n= 19를 추가하고 필요에 따라 Replace()에 주입하는 것입니다. 더 적절한 솔루션은 대체 범위를 알고 대체에서 다른 옵션으로 방법을 변경하는 것입니다.

Cyril2021-12-22 04:42:09

Excel VBA에서 선택을 사용하지 않는 방법을 읽으면 도움이 될 수 있습니다.

Pᴇʜ2021-12-22 04:42:09

내 루프의 시작 부분에 전체 복사본, 이름 바꾸기, 스크립트 시작 시 입력된 숫자 변수 값 바꾸기를 포함하여 항상 n= 19에서 최대 n +에 대해 동일한 셀 범위를 바꾸도록 했습니다. m 여기서 m은 반복할 수동 입력 횟수입니다. 그것이 스크립트에 큰 차이를 만드는지 확실하지 않습니다.

JSlocombe952021-12-22 04:42:09
  • 이전 Django -한 줄에 for 루프
  • 다음 c# : 새 워크시트를 만들지 않고 셀을 워크시트로 업데이트하는 방법