나눔터  
  HOME > 나눔터 > 묻고답하기 > 엑셀
엑셀
엑셀에 대한 질문과 답변을 올려주세요. 단, 취지에 맞지 않는 글은 운영자가 삭제합니다.
 "000 님, 도와주세요", "부탁 드립니다.", "급합니다!" 등과 같이 막연한 제목을 달지 말아주세요.
[필독] 빠르고 정확한 답변을 얻는 16가지 Tip !
[필독] 저작권법 개정에 따른 이용안내

작성자:  

 vbav (wer04059)

추천:  2
파일:     조회:  598
제목:   vba select 질문
     
  * 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.

 - 엑셀 버전(95,97,2000,xp,2003,2007):

* 아래줄에 질문을 작성하세요 >>
 
    Dim ws As Worksheet                             'worksheet 선언
    Dim ws1 As Worksheet
    Dim ws123 As Worksheet
    Set ws = Worksheets("prod_data")
    Set ws1 = Worksheets("ITEK_RAW_DATA")
    Set ws123 = Worksheets("weekSum")
    
    
    ws1.Activate                                 'COPYFORMAT 만들기
    
    ws1.Range("A1:H1").Select
    Selection.Insert Shift:=xlDown

    ws1.Range("1:1,3:3,11:11,13:13,15:15,17:17,19:19,21:21,23:23,25:25,27:27,29:29,31:31,33:33,35:35,37:37,39:39,41:41,43:43,45:45,47:47,49:49,51:51,53:53,55:55,57:57,59:62").Select
    Selection.Delete Shift:=xlUp
    
    ws1.Range("I7:BZ7").ClearContents
    
    Set Range1 = Range("I3")                         ' 병합 해제
    Range1.MergeCells = False
    

    ws1.Range("I:I,K:V,Z:AE,AI:BZ").Select                '삭제열 선택
    Selection.Delete Shift:=xlToLeft



    Dim 기록위치 As Range                            'copy 문

    Set 기록위치 = ws.Cells(Rows.Count, "g").End(xlUp).Offset(1)
    ws1.Range("a8:O32").Copy 기록위치
    
    
    
    Dim lr As Long                     ' wafer num 존재하면 am4114, 작성 기준 년도(ny), Quarter, WEEK, months(nm) 채우기
    Dim device As Range
    Dim ny As Range
    Dim lotcell As Range
    Dim 기록위치5 As Range
    Dim 기록위치6 As Range
    
    
    
    lr = ws.Cells(Rows.Count, "g").End(xlUp).Row                        'cust device id = AM4114
    Set device = ws.Range("a2:a" & lr)
    device = "AM4114"

    Set ny = ws.Range("b2:b" & lr)                              '작성년도, 년도 바뀔때 주의
    ny = Year(Now)
    
                                                                                            
    Set lotcell = ws.Cells(Rows.Count, "F").End(xlUp).Offset(1, 0)     'lot id 가져오기
    lotcell.Resize(25, 1) = Mid(ws1.Range("a2"), 13, 6)
    
    
    ws123.Range("A2:I40").ClearContents                                 'weekSum data 작성
    

    Dim vdd As Long
    Dim vrng As Range

    vdd = ws1.Cells(Rows.Count, "i").End(xlUp).Row
    Set vrng = ws1.Range("P8:P" & vdd)
    vrng = "=m8+n8+o8"
    ws1.Range("P8:P" & vdd).Copy
    ws1.Range("P8:P" & vdd).PasteSpecial Paste:=xlPasteValues

'
    Set Range1 = Range("C2")            ' 병합 해제
    Range1.MergeCells = False


    ws1.Range("j:o").Select                '삭제열 선택
    Selection.Delete Shift:=xlToLeft
 
'
    Set 기록위치5 = ws123.Cells(Rows.Count, "B").End(xlUp).Offset(1)
    ws1.Range("a8:B32").Copy 기록위치5
    
    Set 기록위치6 = ws123.Cells(Rows.Count, "d").End(xlUp).Offset(1)
    ws1.Range("e8:j32").Copy 기록위치6
    
    
    Dim ir2 As Long
    Dim wrng As Range
    
    
    ir2 = ws123.Cells(Rows.Count, "b").End(xlUp).Row
    Set wrng = ws123.Range("a2:a" & ir2)
    wrng = Mid(ws1.Range("a2"), 13, 6)
    
    ws123.Range("a2:a" & ir2).Copy
    ws123.Range("a2:a" & ir2).PasteSpecial Paste:=xlPasteValues
    ws123.Range("A1").Select
--------------------------------------------------------------------
    ws123.Range("A1").Select

밑의 select 부분에서 계속 1004 런타임 오류가 발생하는데 이유가 뭘까요..? 아무리 봐도 모르겠습니다
 
[불량 게시물 신고]  
재현활성화 시트 ws1에서 ws123시트로 변경 후 Select
ws123.Activate
ws123.Range("A1").Select
08-03 (23:58)
삭제 ■신고
vbav재현님 감사합니다. 덕분에 해결되었습니다!08-04 (11:03)
삭제 ■신고
        
  

작성일 : 2023-08-03(18:14)
최종수정일 : 2023-08-03(18:14)