고퀄리티 강의 항상 잘 듣고 있습니다! j = toWS.Cells(toWS.Rows.Count, 1).End(xlUp).Row 이 부분을 j = toWS.Cells(toWS.Rows.Count, 1).End(xlUp).Row + 1 이렇게 해야 할 거 같아요~! 안 그러면 예시파일 [시트병합] 에서 4월분 병합한 마지막 데이터가 씹히더라구요
각시트별로 파일병합하는 강좌도 부탁드려요 가,나,다... 란 파일에 각각 a,b,c...란 시트가 있을때 가,나,다 파일의 a시트는 a끼리. b시트는 b시트끼리 . c시트는 c시트끼리 병합 하는 법 강좌 부탁드립니다. 시트는 항상 일정한 갯수가 아니고 가 파일에는 b시트가 빠져있을 수도 있고 나 파일에는 a 시트가 없을수도~ 매일매일 시튼갯수는 유동적 이예요
안녕하세요 :) 오늘 하루종일 오빠두만 보고 있네요 ㅎㅎㅎㅎ 파일 합칠때 모든 파일은 동일한 형식으로 업데이트 되어야 하나요? 합치고 싶은 파일에 셀 병합 등이 있으면 데이터 정규화로 다 풀고 나서 파일 합치기를 해야 하는 거겠죠? 항상 정말 정말 감사한 마음으로 보고 있습니다 ㅎㅎㅎ 특히 업무에 사용할수 있는 내용들 보내주셔서 정말 감사드려요~!
이전 파일 취합하는 강의에서는 Sub Mutilple_FileDialog() 쭉쭉 적다가 With FDG .Title,.Filters.add ··· 써나갔는데 지금 마스터키로 준 코드는 Public Function Multiple_FileDialog(Optional Title As String = "파일을 선택하세요", Optional FilterName As String = "엑셀파일", _ Optional FilterExt As String = "*.xls; *.xlsx; *.xlsm", Optional InitialFolder As String = "", _ Optional InitialView As MsoFileDialogView = msoFileDialogViewList, Optional MultiSelection As Boolean = True) As String 이런식으로 주셨더라구요 Sub *()에서 괄호안에 뭘 써줄때랑 안써줄때는 어떤 경우에 안에쓰고 어떤 경우에 바깥에 쓰는 건가요?
Sub 괄호안에 적는 내용은 함수에 들어가는 '인수' 입니다. 자주 사용해야 하는 프로시져일 경우 인수를 추가해서 사용하면 편리합니다.^^ Sub 운동루틴 ( 종류 as String) 종류 * 10회 End Sub 와 같이 사용한다고 보시면 됩니다. 답변이 도움이 되셨길 바랍니다.
안녕하세요? 오빠두엑셀입니다.^_^* 안내메세지창을 3개 나눠서 띄워야하는 이유가 있으신가요? 9:05 초 내용은 3개 파일을 보여드리기 위한 단계이고, 실제 코드에서는 안내메세지 없이 동작하는게 정상입니다.^_^ 만약 안내메세지를 띄우고 싶으시다면, Set WB = Application.Workbooks.Open(Me.lstWB.List(i)) 뒤에 Msgbox WB.Name
Sub 입고수량입력() Dim 물량 As Long Dim rIni As Range Dim addIndex As Range Set ws = Worksheets("입고용") Set wsI = Worksheets("입고내역") Set rIndex = ActiveSheet.Range("b2", Cells(Rows.Count, 2).End(3)) '입고용시트의 바코드 If Range("b2").Value = "" Then Exit Sub End If For Each r In rIndex 바코드 = r.Value 물량 = r.Offset(0, 4).Value Set rIni = wsI.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0) '입고내역 시트에서 바코드 입력할 곳 rIni.Offset(0, -1).Resize(, 7) = r.Offset(0, -1).Resize(, 7).Value '입출고 내용을 입고내역 시트에 입력 rIni.Offset(0, 4).Value = 물량 rIni.Offset(0, 6).Value = Date rIni.Offset(0, 7).Value = r.Offset(0, 6).Value '거래처명 Set c = Cfind(바코드) If c Is Nothing Then Set addIndex = Worksheets(r.Offset(0, -1).Value).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Else c.Offset(0, 4).Value = c.Offset(0, 4).Value + 물량 '재고 시트에 변동물량 반영 End If Next r MsgBox ("입고 입력 완료") End Sub 죄송한데 여기에 문의 드려도 될지 모르겠는데요 급해서 댓글 남깁니다.ㅜㅜ 위 메크로에서 재고 입력을 하는데 소숫점을 저희가 사용을 해야 하는데 소수점은 안먹히더라구요..ㅠㅠ 소수점도 될수 있게 어떻게 해야 할까요?ㅜㅜ
안녕하세요. 적어주신 내용만으로는 정확한 문제 확인이 어렵습니다. 지역창이나 직접실행 창으로 j 변수가 올바르게 반환되는지 한번 확인해보시겠어요? (j 가 0으로 반환될 확률이 큽니다) VBA 디버깅 방법은 아래 포스트를 확인해보세요. www.oppadu.com/%EC%97%91%EC%85%80-vba-%EB%94%94%EB%B2%84%EA%B9%85/
현재 코드로 매크로 실행 시 '파일 병합' 버튼을 누르게 되면 기존 데이터 마지막 행이 덮어 씌워지는 문제가 발생합니다. 따라서 아래와 같이 코드를 약간 수정해주시면 문제 없이 작동됩니다. With WS endCol = .Cells(1, .Columns.Count).End(xlToLeft).Column endRow = .Cells(.Rows.Count, 1).End(xlUp).Row Set rng = .Range(.Cells(2, 1), .Cells(endRow, endCol)) rng.Copy toWS.Cells(j, 1) → 이 부분을 rng.Copy toWS.Cells(j + 1, 1)로 수정해주시면 됩니다. j = j + rng.Rows.Count End With
02:30 강의시작
04:30 파일병합 유저폼 만들기
06:14 파일선택 명령문 작성
11:23 파일병합 명령문 작성
22:14 파일 합치키 매크로 만들기 완료
세상 가장 친절한 엑셀강의 | 오빠두엑셀❤️
오빠두엑셀 l 엑셀 강의 대표채널
선생님. 파일을 합친 후 필터링해서 20개의 셀을 드래그 복사 하는데 쉬운 방법이 없을까요?
정말 장난아니네요... 대한민국에서 제일 실무랑 연관된 VBA강의가 아닌가 싶습니다.
진짜 새로운 프로그램을 하나 만드셨네요 !!! Vba 입문시켜주셔서 감사합니다
아... 깔끔하고 아름답다... User Unfriendly하게 만드는 저와는 완전 반대시네요... 하나하나 신경쓰는 세심함까지...
오늘도 한수 잘 배우고 갑니다.
과찬의 말씀이세요! :) PPT VBA를 다루고 계시네요! 종종 들려서 좋은 내용 배우겠습니다!❤️
오빠두엑셀 l 엑셀 강의 대표채널 저야말로 많이 배웁니다. ^^
기다리던 강의입니다 감사합니다!
출근할때 한개씩 봄 새로운 기능 발견하기 좋음
대단하신 분 입니다. 정말 논리적이고 체계적으로 가르쳐 주시네요!!
세상에서 가장 쉬운 VBA 실무 강의로 자주 인사드릴께요! ❤️
와 기다렸던 자료네요. 드디어~
먼저 정말 감사드립니다. ^^
오빠두님 강의를 보고 있으면 여기서 그치지 않고 따로 VBA를 공부하고 싶어지게 만드네요.
시간될 때 하나하나 따라하면서 업무에 잘 적용하도록 하겠습니다.
다음 강의도 기대하고 있겠습니다.
감사합니다. ^^
왛다!!!! 왛다!! 드디어 왛다!! .이겁니다 이게 원하던 그것입니다. 9월부터 부서별 구매는 이걸로 끝내겠습니다
실무에서 정말유용합니다. 꼭 필요한 정말 끌팁입니다.
정말 정말 감사합니다~!
와 진정한 홍익인간의 실천이네요.. 침흘리면서 봤습니다 ㅜㅜ 감사합니다!!
고퀄리티 강의 항상 잘 듣고 있습니다!
j = toWS.Cells(toWS.Rows.Count, 1).End(xlUp).Row 이 부분을
j = toWS.Cells(toWS.Rows.Count, 1).End(xlUp).Row + 1 이렇게 해야 할 거 같아요~!
안 그러면 예시파일 [시트병합] 에서
4월분 병합한 마지막 데이터가 씹히더라구요
헉 감사합니다... 무슨 말인가 했는데 데이터를 추가하면 추가된 데이터가 기존 데이터의 마지막 행 바로 밑에 붙는 게 아니라... 마지맥 행을 없애버리고 그 자리부터 시작을 하더라구요 ㅎㅎ 덕분에 잘 해결하였습니다
와우!
정말최고네요 ㅎㅎㅎ
어떤파일의 자료인지를 병합자료에 같이넣고싶운데 ... 어떻게해야하나요
해당파일명 추가하는방법도 ㅠㅠ도와쥬세요
아싸~ 1등~ 행님... 오늘도 감솨요~ 화이팅~
우와 이런 강의를 무료로.... 우와
각시트별로 파일병합하는 강좌도 부탁드려요
가,나,다... 란 파일에 각각 a,b,c...란 시트가 있을때 가,나,다 파일의 a시트는 a끼리. b시트는 b시트끼리 . c시트는 c시트끼리 병합 하는 법 강좌 부탁드립니다. 시트는 항상 일정한 갯수가 아니고 가 파일에는 b시트가 빠져있을 수도 있고 나 파일에는 a 시트가 없을수도~ 매일매일 시튼갯수는 유동적 이예요
시트나 파일 합칠 때 불일치하는 컬럼을 빼고 일치하는 컬럼만 가져오는 내용으로 볼수있는 강좌나 QnA가 있을까요? 아무리 찾아도 나오질 않아서요..
파일 병합하면 용량 엄청 커져서 안켜지는 불상사가 일어날 수 있음...
안녕하세요 :) 오늘 하루종일 오빠두만 보고 있네요 ㅎㅎㅎㅎ 파일 합칠때 모든 파일은 동일한 형식으로 업데이트 되어야 하나요? 합치고 싶은 파일에 셀 병합 등이 있으면 데이터 정규화로 다 풀고 나서 파일 합치기를 해야 하는 거겠죠? 항상 정말 정말 감사한 마음으로 보고 있습니다 ㅎㅎㅎ 특히 업무에 사용할수 있는 내용들 보내주셔서 정말 감사드려요~!
해당 강의는 복사-붙여넣기 형식으로 작성했기 때문에 복사할 범위에 셀 병합을 해제한 뒤 내용을 병합하는 것이 좋습니다. :) 상황에 따라 여러 방법으로 코드를 작성하시면 다양한 상황에 적용하실 수 있습니다.
업체관리 업체별 품목관리 시스템같은거 부탁해요ㅠ 일이너무많아요 ㅠ
안녕하세요?:) 오빠두엑셀입니다. ❤️
재고번호관리 강의는 올해안에 업로드할 예정이에염! :) 좋은 의견 감사합니다앙 ❤️
반대로 여러개의 데이터별로 분리 저장을 쉽게 하는 방법이 있을까요??😮
원하는 시트 한파일만들고싶어요
재생목록에 퀵VBA가 따로 있는데 엑셀 VBA 강의에 있는 있어서 퀵VBA는 따로 안봐도 되는건가요? 아님 재생목록에서 따로 분리가 되어야 되는 건가요?
이전 파일 취합하는 강의에서는 Sub Mutilple_FileDialog() 쭉쭉 적다가 With FDG .Title,.Filters.add ··· 써나갔는데 지금 마스터키로 준 코드는 Public Function Multiple_FileDialog(Optional Title As String = "파일을 선택하세요", Optional FilterName As String = "엑셀파일", _
Optional FilterExt As String = "*.xls; *.xlsx; *.xlsm", Optional InitialFolder As String = "", _
Optional InitialView As MsoFileDialogView = msoFileDialogViewList, Optional MultiSelection As Boolean = True) As String
이런식으로 주셨더라구요
Sub *()에서 괄호안에 뭘 써줄때랑 안써줄때는 어떤 경우에 안에쓰고 어떤 경우에 바깥에 쓰는 건가요?
Sub 괄호안에 적는 내용은 함수에 들어가는 '인수' 입니다.
자주 사용해야 하는 프로시져일 경우 인수를 추가해서 사용하면 편리합니다.^^
Sub 운동루틴 ( 종류 as String)
종류 * 10회
End Sub
와 같이 사용한다고 보시면 됩니다. 답변이 도움이 되셨길 바랍니다.
여러 개의 파일을 여러 개의 시트로 병합은 어떻게 해야할까요?
여러 개의 파일을 한 파일을 여러 개의 시트로요!
안녕하세요? 오빠두엑셀입니다.
여러개의 파일을 한파일의 여러 시트로 병합하시려면,
Sheet.Copy 속성을 사용해보세요.
시트.Copy Before:=통합문서.Worksheets(1)
감사합니다.
안녕하세요. 탭에 상품명하고 수량을 복사 붙여넣기 하면 다른 탭에 자동으로 입력 될 수 있는 엑셀을 만들려고 하면 어떤 오빠두엑셀 강의 동영상을 보면 도움이 될까요? 추천 부탁 드립니다. ^^
내장함수만으로는 구현이 불가능합니다. :) 피벗테이블 + 동적범위로 적용해보는건 어떠세요? 동적범위 강의는 아래 링크를 참고하세요.
th-cam.com/video/NSJ67i3YtRQ/w-d-xo.html
너무너무 감사드려요 ^^
마스터님 안녕하세요 !! 보고 잘 만들었습니다 감사합니다 ㅜ 그런데 시트에 수식으로 이루어진 시트들은 아예 안되더라구요 혹시 그런경우는 어떻게 해야 할까요?
어디서 파일을 합쳐야 한다는건지...ㅜㅜ
홈페이지가 안열리네요. 저만 그런가요? "ERR_CONNECTION_TIMED_OUT"이라는 메시지가 계속나오네요.
안녕하세요? 오빠두엑셀입니다.
홈페이지에는 이상 없는것 같습니다. 사용중인 인터넷환경을 확인해주시겠어요?
감사합니다.
@@Oppadu 감사합니다.
@@Oppadu 혹시 크롬에서 열어보셨나요
이번 강의 사용해서 , 같은양식에 다른 지역별로 숫자들이 있는데 이걸 한 양식에 서울 경기 충청 경상 전라 강원 지역별로 채워넣는것도 가능한가요!? 외우듯봐서 응용이 안대네여ㅜㅜ
가장 간단한 방법은 지역정보가 들어가는 열을 새로 추가하신 뒤 선병합한 다음, 지역명을 기준으로 정렬을하시면 되겠네요 ! :)
안녕하세요 많이 배우고있습니다.
열이 I열까지만 병합되고 J부터는 잘리는 데 어떻게해야하나요 ㅜㅜㅜ
안녕하세요? :)
명령문의 .Cells(행번호, 열번호) 값을 바꿔보시겠어요?^^
.Cells(x, 9) 를 .Cells(x,10) 으로 한칸 늘려서 작성해보시기 바랍니다.
폴더안에있는 파일들을 하나의 엑셀파일로 합치고 중복되는 시트는 없에고 시트필요한 시트 별로 생성되게는 못하는건가요??
안녕하세요.
물론, 가능합니다. 단 코드는 직접 작성하셔야 합니다!
원하는 Sheet만 병합할 때 쉼표 같은거나 여러 쉬트를 선택해서 취합할 수 있는 방법 있나요?
네 물론 가능합니다.
본 강의에서 다룬 리스트박스와 이전강의인 시트병합하기 강의를 참고해보시겠어요? :)
화이팅이니다!(ง •̀_•́)ง
만약 strFilePath 경로 자체에 ", " 가 포함되어 있는 경우에는 에러가 나나요?
예를들면 파일이 포함된 폴더명이 "민식, 수민의 공통과제" 뭐 이런 경우요.
안녕하세요! 오빠두엑셀입니다. 아주 좋은 포인트입니다!
만약 파일명에 콤마(,)를 넣어서 작성해야 할 경우, 파일선택창 코드에서 콤마(,)를 세로바(|)로 대체해서 코드를 작성하시면 됩니다!❤️
예제파일 어떻게 받는건가요? 무료라고 되어있는데.. 받을수가 없네요
안녕하세요? 오빠두엑셀입니다. 영상하단 링크로 이동하신 뒤 엑셀모양 아이콘을 클릭해보시겠어요?^_^*
기존 파일의 마지막 행을 가져온 파일이 잡아먹어요.. 어떻게 해결해야하나요?
j = j + rng.Rows.Count + 1
취합하려면 지점명을 일일이 다 입력해야 가능할까요 ? 만약 a지점만 하나 써놓고 여러 직원을 써놓으면 취합할때 다 섞이게 될까요ㅠㅠ
선생님, 선생님이 알려준 방식 그대로 적용을 하면서 했는데 왜 실행하는데 폼이 안 나타나고 바로 파일을 선택하는 것이 뜰까요? 왜 그런 지 알려주시면 감사합니다
9:05 초에 파일이 처음여는것처럼 한번에 창에떠요 오조오억번 봐도 수식 틀린게없는데 왜그럴까요 3개를 병합해서 선택하려면 3창이 안드고 한창에 다뜨네요
안녕하세요? 오빠두엑셀입니다.^_^*
안내메세지창을 3개 나눠서 띄워야하는 이유가 있으신가요?
9:05 초 내용은 3개 파일을 보여드리기 위한 단계이고, 실제 코드에서는 안내메세지 없이 동작하는게 정상입니다.^_^
만약 안내메세지를 띄우고 싶으시다면,
Set WB = Application.Workbooks.Open(Me.lstWB.List(i)) 뒤에
Msgbox WB.Name
해당 영상관련 질문할게있는데 어떻게 드려야할까요 ㅠㅠ 저는 시트통합은 필요가없고 각엑셀 통합만하려고 시트통합부분은 제외하고 명령문을 기입했는데 통합이안되네요...ㅠㅠ
적어주신 내용만으로는 답변을 드리기가 어렵습니다 ^^
사용하신 전체 명령문과 오류가 발생한 지점, 오류 번호에 대해 적어주시면 확인 후 답변 드리겠습니다.
이 강의는 너무 난이도가 높아서 중간에 포기. 상상상급자용인듯..
Ctrl+shift+B를 실행하면 파일선택창이 왼쪽 상단 구석에서 열립니다. 크기도 열 때마다 달라지네요.
sheet 한 가운데에서 적절한 사이즈로 고정되어서 열릴 수는 없을까요? 그리고 caption의 사이즈는 크게 할 수 없을까요?
안녕하세요 !
유저폼의 설정(F4)에서 StartupPosition 을 화면가운데로 변경해보시겠어요?
캡션 사이즈가 유저폼 캡션이라면.. 사이즈 변경이 불가능합니다. 만약 레이블 캡션을 말씀하시는거라면 Font에서 글꼴크기를 조절해보세요~:)
Sub 입고수량입력()
Dim 물량 As Long
Dim rIni As Range
Dim addIndex As Range
Set ws = Worksheets("입고용")
Set wsI = Worksheets("입고내역")
Set rIndex = ActiveSheet.Range("b2", Cells(Rows.Count, 2).End(3)) '입고용시트의 바코드
If Range("b2").Value = "" Then
Exit Sub
End If
For Each r In rIndex
바코드 = r.Value
물량 = r.Offset(0, 4).Value
Set rIni = wsI.Cells(Rows.Count, 2).End(xlUp).Offset(1, 0)
'입고내역 시트에서 바코드 입력할 곳
rIni.Offset(0, -1).Resize(, 7) = r.Offset(0, -1).Resize(, 7).Value
'입출고 내용을 입고내역 시트에 입력
rIni.Offset(0, 4).Value = 물량
rIni.Offset(0, 6).Value = Date
rIni.Offset(0, 7).Value = r.Offset(0, 6).Value '거래처명
Set c = Cfind(바코드)
If c Is Nothing Then
Set addIndex = Worksheets(r.Offset(0, -1).Value).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
addIndex.Resize(, 8) = r.Offset(0, -1).Resize(, 8).Value
Else
c.Offset(0, 4).Value = c.Offset(0, 4).Value + 물량 '재고 시트에 변동물량 반영
End If
Next r
MsgBox ("입고 입력 완료")
End Sub
죄송한데 여기에 문의 드려도 될지 모르겠는데요
급해서 댓글 남깁니다.ㅜㅜ
위 메크로에서 재고 입력을 하는데 소숫점을 저희가 사용을 해야 하는데 소수점은 안먹히더라구요..ㅠㅠ
소수점도 될수 있게 어떻게 해야 할까요?ㅜㅜ
안녕하세요? 오빠두엑셀입니다. :)
Format 함수를 사용해보세요.
범위.Value = Format(범위.Value, "#,##0.0")
@@Oppadu 답변 정말 감사드립니다. 알려주신 함수 어디에다가 입력을 해야 좋을지 전혀 모르겠네요ㅠㅠ...어디에 기입 해야 하나요?ㅜㅜ
예를 들자면,
c.Offset(0, 4).Value = format(c.Offset(0, 4).Value, "#,##0.0") + 물량 '재고 시트에 변동물량 반영
등으로 입력하시면 됩니다.
strFilePath = Multiple_FileDialog 에서 Multiple_FileDialog 부분이 "컴파일 오류입니다: 이름이 분명하지 않습니다." 로 오류 뜨는데 해결방법이 어떤 것일까요?
시트병합할 때 '1004' Range copy 에러가 납니다. 디버그를 눌러보면 변수설정 밑에 With WS에 있는 rng copy toWS Cells(j,1)에 highlight가 생깁니다. 뭐가 문제일까요?
안녕하세요.
적어주신 내용만으로는 정확한 문제 확인이 어렵습니다.
지역창이나 직접실행 창으로 j 변수가 올바르게 반환되는지 한번 확인해보시겠어요? (j 가 0으로 반환될 확률이 큽니다)
VBA 디버깅 방법은 아래 포스트를 확인해보세요.
www.oppadu.com/%EC%97%91%EC%85%80-vba-%EB%94%94%EB%B2%84%EA%B9%85/
@@Oppadu 감사합니다. 수정했습니다. ^^
현재 코드로 매크로 실행 시 '파일 병합' 버튼을 누르게 되면 기존 데이터 마지막 행이 덮어 씌워지는 문제가 발생합니다.
따라서 아래와 같이 코드를 약간 수정해주시면 문제 없이 작동됩니다.
With WS
endCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
endRow = .Cells(.Rows.Count, 1).End(xlUp).Row
Set rng = .Range(.Cells(2, 1), .Cells(endRow, endCol))
rng.Copy toWS.Cells(j, 1) → 이 부분을 rng.Copy toWS.Cells(j + 1, 1)로 수정해주시면 됩니다.
j = j + rng.Rows.Count
End With
시트 병합을 하려면 시트 형식이 모두 동일하게 되어 있아야 하나요 ? 아니면 다른형식 시트도 병합하면 가능한가요 ???