GetObject로 엑셀파일을 가져와서 사용후 .Close로 닫으면 파일이 안열립니다...
GetObject로 다른폴더나 같은폴더에 엑셀파일의 데이터를 가져와서
해당 매크로파일에서 그 데이터들을 이리저리 옴기면서 최종값을 만들고
그 값들을 다시 GetObject로 데이터를 가져온 파일에 입력후
.Close로 닫으면 GetObject로 데이터를 가져온 파일이 안열립니다.. 복구를해야 열리구요.
그렇다고 .Close로 안닫으면 해당 파일을 열 때 현재 편집중이라고 열게 되면 옴겨둔 데이터들이 저장이 안되어있구요..
혹시 방법이 없을까요?
당장은 데이터 가져오기만하면 저런 문제들이 없어서 마지막 데이터 입력은 수동으로 하고있습니다.
아래는 수식입니다.
데이터 가져오는 수식
Dim excelFile1 As Workbook
Dim excelFile2 As Workbook
Dim val
Dim i As Integer
Set excelFile1 = GetObject("C:\Users\관리자\Desktop\파일1.xlsx")
Set excelFile2 = GetObject("C:\ProgramData\VBA\파일2.xlsx")
For i = 1 To 100
val = excelFile1.Sheets("Sheet3").Range("G" & i).Value
Sheets("Sheet3").Range("F" & i) = val
Next i
For i = 1 To 200
val = excelFile2.Sheets("Sheets10").Range("G" & i).Value
Sheets("Sheet3").Range("K" & i) = val
Next i
excelFile1.Close
excelFile2.Close
데이터를 가져온 엑셀파일에 최종값을 입력하는 수식
Dim excelFile1 As Workbook
Dim excelFile2 As Workbook
Dim val
Dim i As Integer
Set excelFile1 = GetObject("C:\Users\관리자\Desktop\파일1.xlsx")
Set excelFile2 = GetObject("C:\ProgramData\VBA\파일2).xlsx")
For i = 1 To 100
val = Sheets("Sheet3").Range("H" & i)
If IsNumeric(val) Then
If val >= 1 Then
excelFile2.Sheets("Sheet10").Range("AA" & i).Value = val
End If
End If
Next i
excelFile1.Close
excelFile2.Close
번호 | 카테고리 | 제목 | 작성자 | 작성일 | 추천 | 조회 |
[🏆 진짜쓰는 실무엑셀 스터디] 1기 - 우수 졸업생 및 후기, 축하합니다! (8)
![]() ![]() |
![]() ![]() |
2022.04.30 | 9 | 1142 | ||
공지사항 | 함수/공식 |
⭐ [더 나은 커뮤니티 문화를 위한 Q&A 글 작성 규칙] ⭐
(63)
오빠두엑셀
|
2021.10.28
|
추천 80
|
조회 4450
|
![]() ![]() |
2021.10.28 | 80 | 4450 |
34249 | 문서서식 |
New 조건부 서식에서 행 색상 교차 응용?(동일 데이터가 아니라면 색상변경)
![]() ![]() |
![]() |
04:06 | 0 | 10 |
34248 | VBA |
New 셀 선택 영역 이미지 저장 매크로 수정 부탁 드립니다.
![]() ![]() |
![]() |
2022.05.20 | 0 | 18 |
34247 | 함수/공식 |
New 행번호 자동으로 부여하기
![]() ![]() |
![]() |
2022.05.20 | 0 | 26 |
34243 | 기능/도구 |
New 수식걸려있는데이터_오름차순,내림차순 정렬 안됨 문의
![]() ![]() |
![]() |
2022.05.20 | 0 | 28 |
34241 | 함수/공식 |
New 열 전체에 기준 값을 두어서 팝업 띄우는 법
(1)
![]() |
![]() |
2022.05.20 | 0 | 25 |
34240 | 함수/공식 |
New 연령대별 인원수를 구할때
![]() ![]() |
![]() |
2022.05.20 | 0 | 23 |
34238 | 기능/도구 |
New 시스템 리소스사 부족하여 완전...
(1)
![]() |
![]() |
2022.05.20 | 0 | 29 |
34237 | 피벗테이블 |
New 피벗과 슬라이서 데이터 표시 서식 문제
![]() ![]() |
![]() |
2022.05.20 | 0 | 33 |
34236 | 차트/그래프 |
New 기준과 데이터칸이 동시에 움직일 수 있는 방법
![]() ![]() |
![]() |
2022.05.20 | 0 | 29 |
34233 | 함수/공식 |
New 값입력 후 조건을 만족하면 카운트 될 수있게 하고싶은데 어케해야되나요?ㅜ
![]() ![]() |
![]() |
2022.05.20 | 0 | 34 |
34231 | VBA |
New 데이터 집계표를 더블클릭시 그 조건으로 고급필터가 가능할까요?
![]() ![]() |
![]() |
2022.05.20 | 0 | 28 |
34230 | 문서서식 |
New 카드명세서를 다운받았는데.. 금액의 합계가 안되네요( 이용금액의 셀서식이 일반으로 되어있습니다)
![]() ![]() |
![]() |
2022.05.20 | 0 | 23 |
34226 | 함수/공식 |
New 엑셀 자동 일련번호 생성 시 필터를 걸었을 때도 일련번호가 순번대로 나타나게 하고 싶어요.
![]() ![]() |
![]() |
2022.05.20 | 1 | 50 |
34223 | 함수/공식 |
New 같은값 자동으로 지정위치에 뿌려지는 함수
![]() ![]() |
![]() |
2022.05.20 | -1 | 40 |
34219 | 기능/도구 |
New 주말 날짜가 적힌 셀의 행 일부분이 자동으로 색 채우기가 되는 방법 있나요?
![]() ![]() |
![]() |
2022.05.20 | 0 | 34 |
34218 | 함수/공식 |
New VLOOKUP 함수 여러개 값 가져오기에서 빈셀은 빼고 데이터가 작성된 것만 가져오기 문제 관련
![]() ![]() |
![]() |
2022.05.20 | 0 | 37 |
34213 | 함수/공식 |
New [vlookup] 다른 엑셀파일 출력값의 ture 값 색변경하기
![]() ![]() |
![]() |
2022.05.19 | 0 | 18 |
34205 | VBA |
New [택배송장만들기] 수량만큼 행추가하고 복사하기
![]() ![]() |
![]() |
2022.05.19 | 0 | 44 |
34204 | 파워쿼리/피벗 |
New 쿼리 평수값에서 m2 제거하고 숫자만 남길 수 있는 방법 있을까요?
(1)
![]() |
![]() |
2022.05.19 | 0 | 30 |
34202 | 파워쿼리/피벗 |
New 쿼리파일에서 한 칸만 삭제하기
(1)
![]() |
![]() |
2022.05.19 | -1 | 34 |
34199 | 함수/공식 |
New 시간대별 여러 시트 값 합치기
![]() ![]() |
![]() |
2022.05.19 | 0 | 46 |
34197 | 함수/공식 |
New 일수를 개월 일로 나타나는 방법을 알려주세요
(2)
답변완료
![]() |
![]() |
2022.05.19 | 0 | 34 |
34196 | 함수/공식 |
New 합계 구하기 _ 도와주세요... ㅠㅠ
![]() ![]() |
![]() |
2022.05.19 | 0 | 37 |
34191 | 파워쿼리/피벗 |
New 하나의 열의 내용 중 중복되는 내용을 각각 다른 열에 배치할 수 있을까요?
(2)
![]() |
![]() |
2022.05.19 | 0 | 33 |
34190 | 파워쿼리/피벗 |
New 쿼리 실행 중 몇개의 행만 첫 행을 머릿글로 사용하기
(2)
![]() |
![]() |
2022.05.19 | 0 | 28 |
34186 | 문서서식 |
New 문서 서식 글자 바뀌는것 질문
![]() ![]() |
![]() |
2022.05.19 | 0 | 22 |
34185 | 문서서식 |
New 카드내역 다운받아 사용금액 합계를 했는데.. 합계가 안되네요
(1)
![]() |
![]() |
2022.05.19 | 0 | 28 |
34180 | 구글시트 |
New REGEXEXTRACT
![]() ![]() |
![]() |
2022.05.19 | 0 | 37 |
34179 | 대시보드 |
New 엑셀 하단에 시트이름 나온곳 넓게 쓰고 싶은데 고정안될까요?
![]() ![]() |
![]() |
2022.05.19 | 0 | 34 |
34175 | 문서서식 |
New 빈칸 셀위에 색상표시?
![]() ![]() |
![]() |
2022.05.19 | 0 | 30 |
보통 파일을 열지 않고 불러와 참조할 때 주로 사용하는 패턴인데요. 지금 참조하려고 하는 해당 파일의 IsAddin 값이 어떻게 설정되어 있는지, 그리고 그 파일을 저장하고 닫을지 여부를 한 번 검토해 보시면 좋을 것 같습니다. IsAddin이 True 상태면 파일을 불러와도 실제로 파일은 열리지만 눈에 보이지 않아서 열리지 않았다고 생각할 수 있습니다. 그리고 그 파일을 또 열려고 시도하면 이미 열려있는 파일이기 때문에 에러가 뜰 테구요. 그리고 데이터를 가져온 엑셀파일에 최종값을 입력하는 수식의 코드를 보면 excelFile2.Sheets("Sheet10").Range("AA" & i).Value = val 이렇게 내용 변경을 하셨는데 저장하는 명령 없이 그냥 닫는 명령만 있습니다. 적어주신 구문 외에 다른 구문이 더 있는지 확인할 바가 없어 추측성 답변밖에 드릴 수가 없겠습니다.
@나는나 님 감사합니다!
혹시 마지막에 말씀해주신 저장하는 명령 없이 그냥 닫는 명령만 있다는게 무슨뜻인가요?
위에 적은게 끝입니다. 더 없습니다.
@이두형 님
위 구문 중에 하나는 쓰셔야 하는데 현재는 .Close 만 쓰셔서 그럼 '저장은?' 하는 의문이 생기겠지요.
@나는나 님 아하 따로 저장한다는걸 써준게 없어서 그런거군요....
친절한 답변 감사합니다!
@나는나 님 IsAddin 사용해서 해결되었습니다!!
정말 감사합니다!