목적

: 다양한 문자열 들을 합치는 기능 구현

ex) A 와 B 라는 양식의 글들을 있을때 A(B) 라는 문자열로 모두 만들때


실행 결과

: B~차있는 열 까지의 문자들이 모두 합쳐져서 A 열에 나타나게 됨


코드

 Sub sum_string()

    Dim template_sht As Worksheet, position_sht As Worksheet, std_job_sht As Worksheet

    

    Set template_sht = Sheets("Data") '실제 Sheet 의 이름

    Dim template_row As Integer, template_col As Integer

    Dim temp_str As String

    Dim i As Integer, j As Integer

        

    template_row = template_sht.UsedRange.Rows.count

    template_col = template_sht.UsedRange.Columns.count


    For i = 1 To template_row

        

        temp_str = ""

        For j = 2 To template_col

            If IsEmpty(template_sht.Rows(i).Columns(j).Value) Then

            Else

                temp_str = temp_str & template_sht.Rows(i).Columns(j).Value

            End If

        Next j

        template_sht.Rows(i).Columns(1).Value = temp_str

    Next i

    

End Sub


설정

트랙백

댓글

목적

: 엑셀에서 특정한 시트 하나만 남기고 모두 삭제 or 원하는 시트만 남기고 모두 삭제하기


실행 결과

: 지정한 시트만 남고 모두 삭제됨


코드

Sub DeleteSheet()

    Dim xWs As Worksheet


Application.ScreenUpdating = False

Application.DisplayAlerts = False

For Each xWs In Application.ActiveWorkbook.Worksheets

If xWs.Name <> "Sheet1" And xWs.Name <> "남길시트이름" Then 'Sheet1 과 남길시트이름 두개만 남기고 모두 삭제됨

xWs.Delete

End If

Next

Application.DisplayAlerts = True

Application.ScreenUpdating = True

End Sub


설정

트랙백

댓글

목적

: 엑셀 VBA(Excel VBA)를 사용하여 특정 폴더의 Excel 파일들을 열어 원하는 작업을 수행


실행 결과

: 폴더내의 모든 엑셀 파일을 순차적으로 열어서 지정한 작업들을 수행한 후에 저장한다.


코드

Sub ProcessFiles()   

    Application.DisplayAlerts = False  '경고 메시지 표시하지 않기

    

    Dim Filename, Pathname As String

    Dim wb As Workbook

    Pathname = "D:\FolderName\"

    Filename = Dir(Pathname & "*.xlsx")

        Do While Filename <> ""

            Set wb = Workbooks.Open(Pathname & Filename)

            DoWork wb

            wb.Close SaveChanges:=True '작업 파일,  작업 후 저장. 저장하지 않을 경우 False

            Filename = Dir()

        Loop

    Application.DisplayAlerts = True  '경고 메시지 표시하기

End Sub


Sub DoWork(wb As Workbook) 'DoWork 에서 매개변수 WorkBook(엑셀파일) 을 가져와서 작업 수행

    Dim raw_sht As Worksheet


    Dim xWs As Worksheet

    Dim i, j As Integer

    With wb

        '반복할 작업을 이곳에 넣는다.!

    End With

End Sub


설정

트랙백

댓글