1. FAQ
  2. 엑셀(Excel)
  3. AfterEffects
  4. Premiere
  5. Photoshop
  6. ETC

이 게시판은 아별닷컴 회원만 질문을 올릴 수 있습니다. 회원에게 주어지는 특권인셈이지요. 회원이 아닌 분들은 열람만 가능합니다.

엑셀 매크로 작성입니다.

조회 수 7618 추천 수 0 2009.12.07 18:29:18

파일2의 특정값을 파일1의 특정셀로 이동복사해주는 프로그램을 만들려고 하는데요;

 

엑셀파일2의 특정시트1에 있는 값(B4,B5,C25)과 특정시트2에 있는 값(C31,F31)을

엑셀파일1의 특성시트[sheet1]의 A8 ~ E8까지 공란에 채워주면 되는데요;;

간단하게 여기까지는 했는데 다음파일도 불러서 그다음행에 채워야하는데 이건 아닐것 같네요;;

 

암튼 이게 끝나면 다음파일을 열어 마찬가지로 다음행(A9 ~ E9)까지 채우고 이런식으로

반복동작하게끔 프로그램을 만들고 싶습니다.

 

 ChDir "C:\Documents and Settings\a\바탕 화면\LRB해석"
    Workbooks.Open Filename:="C:\Documents and Settings\a\바탕 화면\LRB해석\LRB성적서 9L0518.xls"
    Workbooks.Open Filename:="C:\Documents and Settings\a\바탕 화면\LRB해석\정리표.xls"
    Windows("정리표.xls").Activate
    ActiveCell.Select
    ActiveCell.FormulaR1C1 = "='[LRB성적서 9L0518.xls]수직성적서'!R5C2:R5C3"
    ActiveCell.Select
    ActiveCell.FormulaR1C1 = "='[LRB성적서 9L0518.xls]수직성적서'!R5C2"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "='[LRB성적서 9L0518.xls]수직성적서'!R4C2:R4C3"
    ActiveCell.Select
    ActiveCell.FormulaR1C1 = "='[LRB성적서 9L0518.xls]수직성적서'!R4C2"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "='[LRB성적서 9L0518.xls]수직성적서'!R25C3"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "='[LRB성적서 9L0518.xls]전단성적서'!R31C3"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "='[LRB성적서 9L0518.xls]전단성적서'!R31C6"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub


댓글 '1'

profile

[레벨:30]아별

2009.12.08 10:20:48
*.166.197.43

안녕하세요?

일단 사과의 말씀 드립니다.

요즘 제가 아별툴 알파버전 배포 준비와 책 집필때문에
질문&답변에 많은 시간을 투자할 수 없음을 양해해주시기 바랍니다.

 

--------------------------------------------------------------------------------------------------------------------'

 

질문하신 의도가 여러파일을 대상으로 하는 것 같고,

현재로서는 파일 이름의 연관성등을 알 수 없기에 아래의 강좌를 참조하시도록 조언드립니다.

 

여러파일을 하나로 통합하는 아래 강좌를 참고하시고
http://www.iexceller.com/MyXls/Lectures/VisualBasic/VB0177.zip
(참고..강좌 목록 : http://www.iexceller.com/Contents(VBPart4).asp)

아래 부분의 코드에서 rngTarget을 "엑셀파일1의 특성시트[sheet1]의 A8 ~ E8"이 되도록 수정하시고,
"wrkBook.Worksheets(1).UsedRange.Copy rngTarget" 부분을 "특정시트1에 있는 값(B4,B5,C25)과 특정시트2에 있는 값(C31,F31)"가 되도록 수정해서 사용하시면 될 것 같습니다.

값을 갖고 오는게 아니라 참조하게 하고 싶다면,

copy rngTarget이 아니라 연결하여 붙여넣기(ActiveSheet.Paste Link:=True) 등으로 처리하시면 될 것 같네요.

 

 

    For Each varTemp In varFileName
        Set wrkBook = Workbooks.Open(varTemp)
        Set rngTarget = wrkNewBook.Sheets(1).Cells(65536, 1).End(xlUp).Offset(1, 0)
       
        wrkBook.Worksheets(1).UsedRange.Copy rngTarget
        Application.CutCopyMode = False
        wrkBook.Close savechanges:=False
        i = i + 1
    Next varTemp

 

감사합니다.

문서 첨부 제한 : 0Byte/ 2.00MB
파일 제한 크기 : 2.00MB (허용 확장자 : *.*)
List of Articles
번호 제목 글쓴이 날짜 조회 수sort
공지 공지 [공지] 아별닷컴의 엑셀 질문방 폐쇄합니다. 카페 질문방 이용하세요.. imagefile [레벨:30]아별 2015-04-23 137317
142 셀서식(표시형식) 엑셀 중복표시 imagefile [1] [레벨:2]딸꾹질쟁이 2013-04-16 8071
141 엑셀일반 예전에 해결해준 공휴일 조건부서식에 대한 재질문 등 file [2] [레벨:4]성투은자 2012-12-13 8078
140 VBA 병합효과 file [3] [레벨:4]고수가되고파 2012-11-22 8080
139 pivot 기본 피벗 기능 중 설문데이터 취합 [1] [레벨:3]읍내꽃미남 2013-01-28 8136
138 병합된 셀 정렬하기 [4] [레벨:1]최선으로 2009-07-09 8148
137 제 업무 좀 도와주세요...피벗테이블 중복항목 제외 데이터 개수구하기 file [4] [레벨:3]gsLee 2011-01-21 8173
136 VBA vba로 서식정렬 [4] [레벨:2]정용규 2015-01-03 8200
135 아별툴관련질문 빠른실행 도구모음 초기화 [3] [레벨:1]Pillias 2013-01-08 8219
134 VLookup 엑셀에서 특정내용 참조하여 지정된 셀의 내용 교체 방법 imagefile [레벨:1]한스7 2014-03-16 8219
133 엑셀일반 저.. 혹 이기능에 대한 단축키가 있나요?? imagefile [3] [레벨:2]큰아빠에요 2012-11-25 8221
132 셀계산시간이 너무 많이 걸립니다. [4] [레벨:1]kangdongku 2009-07-21 8240
131 VBA 엑셀 메모의 배경으로 삽입한 이미지 추출하기 file [레벨:2]이런젬젬 2015-01-06 8340
130 체크박스 클릭 시 자동 자료 입력관련 문의입니다. file [1] 시오 2010-03-22 8396
129 VBA 몇가지 질문들 [8] [레벨:2]정용규 2015-01-13 8416
128 왼쪽 정렬... 줄간격 질문 드립니다. file [2] [레벨:2]qpfmdpfm 2010-04-23 8423
127 한가지 더 질문!! 피벗테이블의 자동 데이터 영역 설정은??;; [4] [레벨:3]harcz 2010-04-27 8456
126 조건값에따라 행추가(복사) 작업 file [2] [레벨:1]땡칠이 2010-04-26 8457
125 석차 등급을 구하는데요 file [레벨:4]쟈니 2010-05-31 8463
124 피벗테이블 엑신님~한번더 헬프요청들립니다. file [1] [레벨:1]kkabo 2009-07-27 8470
123 엑셀일반 메크로 관련 질문입니다!! [1] [레벨:1]럭셔리홍 2014-12-05 8486