Q8. 워크시트를 복사하는 방법?
마지막으로 사용한 다음 이미지를 참조하십시오.
이 이미지에는 다나카, 다카하시, 야마다라는 개인 데이터를 처리하는 시트가 있습니다.
여기에 새롭게 다른 사람의 시트를 추가한다는 매크로를 만들어 갑시다.
추가의 원본이 되는 데이터는 다나카의 시트가 됩니다.
다나카의 시트를 복사하여 데이터를 다시 씁니다.
■ 포인트
포인트가 되는 것은, 워크시트를 카피하기에는 어떤 기술을 하는 것인가? 라는 곳입니다.
이번에는 다음 방법을 사용합니다.
Worksheets("다나카").Copy After:=Worksheets(Worksheets.Count)
이것은 다나카라는 시트를 끝에 복사한다는 의미입니다.
Worksheets.Count는 워크시트 수를 나타냅니다.
After에 이것을 지정하면 끝에 지정한 시트를 복사할 수 있습니다.
■답변
Sub Q8_Answer()
Dim i As Integer
For i = 1 To 10
Worksheets("田中").Copy After:=Worksheets(Worksheets.Count) ' 末尾に追加
ActiveSheet.Name = "サンプル" & i
ActiveSheet.Range("B3").Value = "サンプル" & i
Randomize
ActiveSheet.Range("C3").Value = Int(100 * Rnd + 1)
ActiveSheet.Range("D3").Value = Int(100 * Rnd + 1)
ActiveSheet.Range("E3").Value = Int(100 * Rnd + 1)
Next i
End Sub
■해설
이번에는 for문을 이용하여 10개의 시트를 작성하고 있습니다.
ActiveSheet.Range("C3").Value = Int(100 * Rnd + 1)
ActiveSheet.Range("D3").Value = Int(100 * Rnd + 1)
ActiveSheet.Range("E3").Value = Int(100 * Rnd + 1)
이 3행은 무엇을 하고 있는가 하면, 난수로 득점이 되는 데이터를 취득하고 있습니다.
이것은 1과 100 사이의 정수를 지정된 셀에 저장하는 것을 의미합니다.
이제 샘플 1 ~ 샘플 10까지 10 인분의 더미 데이터를 만들었습니다.
확실히 점수까지 들어가 있습니다.
다만, 이 매크로, 1개만 주의가 있어, 같은 것을 2회 할 수 없는 것입니다.
즉, 이 매크로는 2번째로 실행했을 때에는 에러가 됩니다.
왜냐하면 이미 샘플 1~10이라는 시트가 존재하기 때문입니다.
엑셀은 같은 이름의 시트는 공존할 수 없습니다.
고유한 이름이어야 합니다.
마지막 매크로를 실행한 후 엑셀의 이미지를 올려 놓습니다.
이미지는 끊어졌지만 단단히 샘플 10까지 만들어졌습니다.
국어 1점이라든지 영어 6점이라든지 조금 끔찍한 유사군요・・・
수학 바보 같은 데이터가 만들어졌습니다 (웃음)
Reference
이 문제에 관하여(Q8. 워크시트를 복사하는 방법?), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/guren111/items/b38fffee0fcde10011a4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)