[VBA] 다른 엑셀파일 내용 가져오기 (프론트, 백)
·
[VBA]
※ 백에서 엑셀 파일 가져오기 아래 코드를 실행하면 데이터를 가져올 파일이 직접 열리면서 값을 가져오게 된다. (순서가 바껴서 수정) 아래가 getobject 함수를 사용해서 백에서 가져옵니다. Sub 다른엑셀파일가져오기() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim str가져올파일 As String Dim obj가져올파일 As Object Dim wb가져올파일 As Workbook, wb현재파일 As Workbook Dim ws시트1 As Worksheet, ws현재시트 As Worksheet '하드코딩 str가져올파일 = "C:\Users\USER\Desktop\Test\test.xlsx" '현재 워크북 set S..
[VBA] 셀에 있는 초록색 삼각형 없애기
·
[VBA]
보통 아래의 화면처럼 숫자인데 초록색 삼각형 경고창이 뜨는 경우 VBA에서 값을 계산할 때 인식하지 못 하는 경우가 생긴다. 그럴 경우 초록색 삼각형을 풀어주고 싶을 때 vba 서식을 NumberformatLocal 함수를 써서 서식을 바꾸지만 해당 경우같은 경우는 서식은 바뀌지만 경고창은 풀리지 않는다. 그럴경우 vba를 사용하지 않는다면 셀을 더블클릭하거나 해야 하는데 vba에서는 어떻게 하는지 알아보자. Sub 형식변환() Range("b2") = Val(Range("b2")) End Sub 위는 변환을 하는 코드이다. 결과를 보면 해당셀의 경고창이 사라졌다. 이렇게 해서 전체를 풀고싶으면 전체를 range변수로 잡아서 풀어줘야 겠다...생각하고 코드를 짠다면 아래와 같을것이다. Sub 형식변환()..
[VBA] 숨겨진 워크시트 모두 보이기
·
[VBA]
워크시트가 숨겨진경우 모든 워크 시트를 보이게하는 코드이다. Sub VisibleSheets() Dim ws As Worksheet For Each ws In ActiveWorkbook.Sheets ws.Visible = xlSheetVisible Next End Sub
[VBA] 범위 합계 구하기
·
[VBA]
Sub sum() Range("c3").Value = Application.WorksheetFunction.sum(Range("a1", "a10")) End Sub - 지금은 하드코딩을 했지만 적절하게 사용하면 된다.
[VBA] 중복 제거
·
[VBA]
● 중복 제거하는 코드 Sub remove_duplicate() Dim rng As Range, c As Range Dim dc As New Collection Set rng = Range("a1", "a10") On Error Resume Next For Each c In rng If Len(c) Then dc.Add Trim(c), CStr(Trim(c)) End If Next c End Sub
[VBA][Borders.LineStyle] 셀 테두리 선 스타일
·
[VBA]
● 선 스타일 Sub LineStyle() Dim ws As Worksheet Dim style_rng As Range 'worksheet acativate Set ws = Worksheets(1) '범위 지정 Set style_rng = Range("a1", "a10") '선제거 style_rng.Borders.LineStyle = xlLineStyleNone '실선 style_rng.Borders.LineStyle = xlContinuous '파선 style_rng.Borders.LineStyle = xlDash '점선 style_rng.Borders.LineStyle = xlDot '이중선 style_rng.Borders.LineStyle = xlDouble End Sub