VBA를 짜 보았다. 새 책에 저장하는 권

VBA를 짜 보았다.



시도한 것



제작한 데이터를 복사 및 붙여넣기하여 새 책에 저장하기

사전 준비



C 드라이브 바로 아래에 [test 폴더] 만들기



이 안에 만든 파일이 들어 있습니다.


VBA를 수행하는 시트의 이름을 '견본'으로 변경



다른 시트 이름으로 편집하는 사람은
VBA 코드에있는 "견본"을 지정한 시트 이름으로 바꾸어 생각해보십시오.

VBA 표준 모듈 열기



표준 모듈이란?
VBA를 작성하는 시트와 같은 것을 VBE라고합니다.
표준 모듈은 정상적으로 사용되는 VBE입니다. 자세한 내용은 나중에 ...

VBE를 여는 방법



알고 계신 분은 쓰러주세요.
먼저 Excel 메인 탭에 '개발'이 있는지 확인합니다.

그렇지 않은 경우 Excel 옵션에서 열 수 있습니다.
먼저 메인 탭에서 파일을 선택합니다.
그런 다음 옵션을 열면 아래 그림의 Excel 옵션이 열립니다.
'리본 사용자 설정'의 '개발' 입력란을 선택하고 OK를 누릅니다.

Excel 메인 탭의 개발에서 Vlsual Basic을 엽니다.
그런 다음 삽입 탭에서 표준 모듈을 선택합니다.

이제 열 수 있었습니다
앞으로 VBA를 작성할 것입니다.


  

VBA 코드



방금 열었던 표준 모듈에 코드를 작성합니다.

Sub test1()
'①作成したデータをコピーして新しいworkbookにすべての形式を含めて張り付ける。
ThisWorkbook.Worksheets("見本").Range("A:F").Copy
Workbooks.Add 'sheetを追加する
Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme

'②さら同じものをコピーして値貼り付けをする
ActiveSheet.Range("A1:F70").Copy
Selection.PasteSpecial Paste:=xlPasteValues

'③新しいworkbookのSheet名を変更する
Dim sheetname As String
sheetname = Year(Now) & "年" & Month(Now) & "月分"
ActiveWorkbook.Sheets("Sheet1").Name = nam 'Sheetの名前を変更する

'④新しいworkbookを保存する
Dim filname As String
filname =  Year(Now) & "年分"

Dim pass As String
pass = "C:\ test" & filname & ".xlsx"

ActiveWorkbook.SaveAs Filename:=pass
ActiveWorkbook.Close savechanges:=True

'⑤保存したことを通知する
MsgBox "保存しました。"

End Sub


사용한 함수



이번은 Dim, copy, Selection.PasteSpecial의 3개에 짜서 소개합니다

Dim 변수 넣기



`Dim ** * * As String
 *** =

***에는 스스로 넣고 싶은 변수의 이름을 넣습니다
위의 String 부분을 아래 표와 같이 변경합니다.



의미
비고


1
문자열
문자열
파일 경로를 만들 때 등에 사용

2
Integer
정수
조건부 서식을 사용할 때 사용

3
Currecy
통화
수치만 원할 때 사용

4
date
날짜
기원 1900년 1월 1일 이후를 넣을 수 있다

5
variant
모든 데이터
무엇을 사용할지 고민했을 때 사용


Copy 복사


ThisWorkbook.Worksheets("見本").Range("A:F").Copy이 경우 「이 Workbook의 시트명 견본의 A로부터 F열을 선택해 카피를 한다」
수 있습니다

Copy 해제


Application.CutCopyMode = False이제 복사를 취소할 수 있습니다.

Selection.PasteSpecial 붙여넣기


Selection.PasteSpecial Paste:=xlPasteAllPaste는 생략 가능
다만, Paste의 부분을 변경하면 어떻게 붙이는지를 지정할 수 있습니다
paste 외에 operation,skipBlanks 등이 있습니다
이번에는 paste의 일부를 소개합니다.



Paste
의미


1
xlPasteAll
모두 붙여넣기

2
xlPasteFormats
서식을 유지하고 붙여 넣기

3
xlPasteAllExceptBorders
괘선 이외의 모든 것을 붙이기

4
xlPasteValues
값 붙여넣기

5
xlPasteFormulas
수식 붙여넣기

6
xlPasteAllUsingSourceTheme
원래 서식을 포함한 모든 붙여넣기


요약



서식은 남겨두고 수식은 지워서 저장하는 번거로움이 번거롭고 이 VBA를 짜 보았습니다
우선은 가변적인 부분은 적게 원거리인 코드에서도 마음대로 그린대로 움직이는 코드를 작성할 수 있으면 좋겠습니다

참고



엑셀의 신수
어떤 함수를 어떻게 사용하면 생각대로 움직이는지 매우 알기 쉽게 참고했습니다.

고마워요

좋은 웹페이지 즐겨찾기