시트병합 할때의 시트이름
VBA
작성자
ber217an
작성일
2021-03-26 14:39
조회
55
안녕하세요 ?
시트 합치기 할때 "시트병합"이란 시트가 있을 경우에는 그대로 "시트병합"이란 시트에 덮어 쓰기 하려면
어떻게 바꿔줘야 하는지 문의 드립니다.
감사 합니다.
For Each WS In WB.Worksheets If WS.Name = "시트병합" Then MsgBox "시트병합 시트가 존재합니다. 시트병합 시트의 이름을 변경하시거나 삭제하신 뒤 다시 실행해주세요.": Exit Sub Next Set newWS = WB.Worksheets.Add(before:=WB.Worksheets(1)) newWS.Name = "시트병합"
전체 2,821
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
2810 | 함수/공식 |
New 코드가 달라지는 경우 sumif로 끌어오는 방법이 있을까요?
![]() ![]() |
![]() |
22:00 | 0 | 3 |
2809 | 파워쿼리/피벗 |
New 이전 버젼 웹쿼리 이용
![]() |
![]() |
21:31 | 0 | 5 |
2808 | 함수/공식 |
New 재고정리 관련 여러가지 조건 만족하는 데이터 찾기
![]() ![]() |
![]() |
20:37 | 0 | 6 |
2807 | 함수/공식 |
New sumif 함수 사용할 때 인접 범위(병합된 셀)가 동시에 선택됩니다
![]() ![]() |
![]() |
16:54 | 0 | 26 |
2806 | 함수/공식 |
New 대소문자 구분하여 매칭에 날짜 비교조건 넣는 방법
![]() |
![]() |
16:39 | 0 | 16 |
2805 | 기능/도구 |
New 텍스트 변환 문제가 있어서 질문드립니다.
![]() ![]() |
![]() |
15:53 | 1 | 19 |
2804 | 차트/그래프 |
New 간트차트 상 해당일 표시 관련 문의드려요
(1)
![]() |
![]() |
10:35 | 0 | 27 |
2803 | 함수/공식 |
New 한셀 동적범위에 대해서 질문드립니다~!
(1)
![]() |
![]() |
2021.04.20 | 0 | 27 |
2802 | 함수/공식 |
New 도와주세요......"조건이 맞으면 특정행에서 값을 찾아서 일치한값을 돌려주는 함수"
![]() ![]() |
![]() |
2021.04.20 | 0 | 49 |
2801 | VBA |
New 답변이 부정확한 것 같습니다.
![]() ![]() |
![]() |
2021.04.20 | 0 | 62 |
2800 | VBA |
New 속도개선 구문 사용시 자동계산 문제
(7)
![]() |
![]() |
2021.04.20 | 0 | 40 |
2799 | VBA |
New 크롤링 시 브라우저 확인창 닫기
(4)
![]() |
![]() |
2021.04.20 | 0 | 30 |
2798 | VBA |
New vba로 지도 컨트롤하는법
(6)
![]() |
![]() |
2021.04.20 | 1 | 49 |
2797 | 차트/그래프 |
New 원형그래프 문제 해결 방법 부탁합니다
![]() ![]() |
![]() |
2021.04.20 | 0 | 37 |
2796 | 차트/그래프 |
New 안녕하세요 원형 그래프 관련 질문입니다
![]() ![]() |
![]() |
2021.04.20 | 0 | 23 |
2795 | 문서서식 |
New 엑셀 찾기 질문있습니다.
![]() ![]() |
![]() |
2021.04.20 | 0 | 46 |
2794 | 함수/공식 |
New 구글 시트+엑셀 관련 질문을 올려도 될까요?
![]() ![]() |
![]() |
2021.04.20 | 0 | 31 |
2793 | VBA |
New 셀 바이트에 따라 글자 자르기
(4)
답변완료
![]() |
![]() |
2021.04.19 | 0 | 35 |
2792 | VBA |
New vba에서 inputbox로 범위를 선택하기
![]() ![]() |
![]() |
2021.04.19 | 0 | 22 |
2791 | 함수/공식 |
New 여러 쇼핑몰의 판매를 합산하려는데 함수를 모르겠습니다
![]() ![]() |
![]() |
2021.04.19 | 1 | 51 |
2790 | 함수/공식 |
New 다중유효성으로 조건 별 선택 시, 동적범위가 설정되어 합계를 구하고 싶습니다.
![]() ![]() |
![]() |
2021.04.19 | 1 | 32 |
2789 | 대시보드 |
New 월별 매출 실적 대시보드 해결방법
![]() ![]() |
![]() |
2021.04.19 | 0 | 54 |
2788 | 함수/공식 |
New 다수의 함수 사용으로 인한 속도저하 문제시 단계검토 문의
(1)
![]() |
![]() |
2021.04.19 | 0 | 28 |
2787 | 함수/공식 |
New 다른 시트 정보 불러오고, 표는 늘리고 줄이고 하는 방법 있을까요?
![]() ![]() |
![]() |
2021.04.19 | 0 | 42 |
2786 | 기능/도구 |
New 필터 조건값 표시 관련
(2)
![]() |
![]() |
2021.04.18 | 0 | 57 |
2785 | VBA |
1000개의 입력값이 셀당 일치값이 있는지 확인 검색시 FOR문은 느려서 빠른방법이 있을까요?
(5)
답변완료
![]() |
![]() |
2021.04.18 | 0 | 48 |
2784 | VBA |
VBA로 SQL 형식의 관계형 데이터베이스 구축
(2)
![]() |
![]() |
2021.04.17 | 0 | 55 |
2783 | 함수/공식 |
엑셀 버튼(?)만들기 관련 질문드려요!
(3)
답변완료
![]() |
![]() |
2021.04.17 | 1 | 79 |
2782 | 기능/도구 |
이중유효성목록상자의 콤보박스 활용 관련 질문입니다.
(1)
![]() |
![]() |
2021.04.17 | 1 | 32 |
2781 | 함수/공식 |
텍스트 나누기
(4)
![]() |
![]() |
2021.04.17 | 1 | 59 |
이렇게 입력해보세요
위의 내용대로 수정해서 했더니,
'9' 런탕임 오류가 발생하였습니다:
아래의 첨자 사용이 잘못 되었습니다.
라는 문구가 나와서 디버그를 누르니까
줄을 가리키고 있습니다.
수정할 방법을 알려 주셨으면 좋겠습니다.
감사 합니다
코드 전체가 나오지 않아 어떤의도인지는 정확하게 모르겠지만, 다음코드를 참조하세요. 시트병합시트가 있는 경우 어떤 것도 실행하지 않고, 없으면 시트가 생성됨.
Sub ddd()
Dim WB As Workbook
Dim WS As Worksheet, newWS As Worksheet
Set WB = ThisWorkbook
Dim ShtBoolean As Boolean
ShtBoolean = False
For Each WS In WB.Worksheets
If WS.Name = "시트병합" Then
ShtBoolean = True '시트병합이 있을 경우 true로 변환
End If
Next
If ShtBoolean = False Then '시트통합이 없으면 시트병합시트를 추가
Set newWS = WB.Worksheets.Add(before:=WB.Worksheets(1))
newWS.Name = "시트병합"
End If
End Sub
Option Explicit
Private Sub btnSubmit_Click()
Dim WB As Workbook
Dim WS As Worksheet: Dim newWS As Worksheet
Dim Rng As Range
Dim i As Long: Dim j As Long: j = 2
Dim endCol As Long: Dim endRow As Long
Set WB = ThisWorkbook
If isListBoxSelected(Me.lstSheet) = False Then MsgBox “시트를 선택하세요”: Exit Sub
For Each WS In WB.Worksheets
If WS.Name = “”시트병합 Then
MsgBox "시트병합 시트가 존재합니다. 시트병합 시트의 이름을 변경하시거나 삭제하신 뒤 다시 '실행해주세요.": Exit Sub
Next
Set newWS = WB.Worksheets.Add(before:=WB.Worksheets(1))
newWS.Name = “시트병합”
With newWS
.Cells(1, 1) = “No1”
.Cells(1, 2) = “No2”
.Cells(1, 3) = “No3”
.Cells(1, 21) = “No21”
End With
For i = 0 To Me.lstSheet.ListCount - 1
If Me.lstSheet.Selected(i) = True Then
MsgBox Me.lstSheet.List(i)
Set WS = WB.Worksheets(Me.lstSheet.List(i))
With WS
endRow = .Cells(.Rows.Count, 1).End(xlUp).Row
endCol = 21
Set Rng = .Range(.Cells(5, 1), .Cells(endRow, endCol))
Rng.Copy newWS.Cells(j, 1)
j = j + Rng.Rows.Count
End With
End If
Next
MsgBox “시트가 병합 되었습니다”
Unload Me
End Sub
위와 같은 내용으로 5개의 시트를 병합해서 하나의 시트로 만든후에
피벗테이블을 이용해서 취합된 데이터를 분석 하려고 하는데
항상 새로운 병합 시트가 만들어지다기 보다 덮어 쓰기가 되면
많은 도움이 될것 같아 도움을 요청 드립니다.