일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- documentdb
- Python
- 페이페이
- 프라하
- 미츠이 스미토모
- react.js
- JenkinsFile
- 체코
- 방콕
- codebuild
- PostgreSQL
- local
- pyenv
- 뮌헨
- 三井住友カード
- typescript
- 釜つる
- terraform
- CSV
- 카마츠루
- 태국
- node.js
- Selenium
- 메르페이
- javascript
- PayPay
- 아타미
- duckdb
- vba
- 熱海
- Today
- Total
목록vba (8)
도쿄사는 외노자
A열의 내용을 B열로 복사하되, A열에 영어 알파벳이 포함되어 있는 경우 B열은 공란으로 두기 Sub RegexTest() '// 시트 선언 Dim shtWork As String shtWork = "Work" '// 변수 선언 Dim targetRange As Range Dim targetCell As Range Dim cellValue As String Dim endRow As Integer '// 영어 검출용 Regex Dim regex As Object Set regex = CreateObject("VBScript.RegExp") regex.Pattern = "[a-zA-Z]" regex.Global = True '// 시트 활성화 ThisWorkbook.Sheets(shtWork).Activat..
일본어는 쓰는 문자가 많아서 사람 짜증나게 하는데, 그래서 VBA에서는 한자를 가나로 변환해주는 함수 「GetPhonetic()」를 지원한다. 이를 사용하여 아래와 같은 자동 변환 매크로를 만들 수 있다. A열 : 변환 대상 B열 : 전각 가타카나 C열 : 전각 히라가나 D열 : 반각 가타카나 Sub MakeWordDict() '// 시트 선언 Dim shtWork As String shtWork = "Work" '// 변수 선언 Dim endRow As String Dim targetRange As Range Dim targetCell As Range Dim cellValue As String Dim cellValueKana As String '// 시트 활성화 ThisWorkbook.Sheets(sh..
0001 0002 AAA XXX BBB YYY CCC ZZZ 위와 같은 테이블을, 아래와 같은 JSON으로 바꾸어 출력하고자 한다. { "0001" : ["AAA", "BBB", "CCC"], "0002" : ["XXX", "YYY", "ZZZ"] } 코드는 다음과 같다. Sub MakeJson() '테이블이 있는 시트 설정 Dim shtWork As String shtWork = "Work" '시트 활성화 ThisWorkbook.Sheets(shtWork).Activate '변수 정의 Dim fileName, fileFolder, filePath As String Dim isFirstCol As Boolean Dim i, u As Long Dim maxRow, maxCol As Long 'JSON파일 ..
「0001」이라는 코드를 파라메터로 받아 셀에 설정하는 Sub이 있다. 이 경우, 먼저 대상이 되는 셀의 속성을 「표준」에서 「문자열」로 바꿔야 한다. 표준 속성의 셀에 그대로 해당 코드를 넣을 경우, 값이 그냥 1이 되어 버리기 때문. 코드는 아래와 같다. Sub SetCompanyCode(index, companyCode) '시트 Dim SumSheet As Worksheet Dim shtSum As String shtSum = "SumSheet" '워크시트 Set Set SumSheet = ThisWorkbook.Sheets(shtSum) 'Cell속성을 문자열로 변경 SumSheet.Cells(1, index).NumberFormat = "@" '회사 코드 입력 SumSheet.Cells(1, i..
B열의 모든 셀에 대하여, 강제개행코드를 삭제하기 '변수 선언 및 지정 Dim shtWork As String shtWork = "Work" Dim rngAll As Range Dim rngTarget As Range Dim cellStr As String Dim targetCol As String Dim endRow As Integer '개행코드를 삭제할 열 지정 targetCol = "B" '시트 활성화 Sheets(shtWork).Activate '활성화된 시트 내 지정 열의 마지막 줄 구하기 endRow = ActiveSheet.Cells(ActiveSheet.Rows.Count, 2).End(xlUp).Row + 1 'B열을 Range지정 Set rngAll = Range(Cells(1, tar..
VBA 지정 폴더 내의 파일 Loop와 연계 '특정 리스트로부터 데이터 취득 Sub SumKnowledgeListFile(FileName, index) '통합작업용 시트명 Dim shtWork As String shtWork = "Work" '데이터 시트명 Dim shtData As String shtData = "데이터" Dim ingFile As Workbook Dim ingSheet As Worksheet Dim SumSheet As Worksheet Dim iRow As Integer Dim endCol As Integer Dim endRow As Integer '파라메터로 받은 Path로 데이터 파일 열기 Set ingFile = Workbooks.Open(FileName:=FileName, R..
1. 모든 열의 중복행 삭제 '지정한 워크시트에서 중복행 삭제 Sub DeleteDuplicate(TargetSheet) '시트 설정 Set SumSheet = ThisWorkbook.Sheets(TargetSheet) '데이터의 마지막 행 취득 Dim intArray As Variant, i As Integer Dim rng As Range Set rng = SumSheet.UsedRange.Rows With rng '모든 칼럼을 비교 ReDim intArray(0 To .Columns.Count - 1) For i = 0 To UBound(intArray) intArray(i) = i + 1 '중복되는 데이터 삭제 Next i .RemoveDuplicates Columns:=(intArray), He..
1. 전체 시트 초기화 '워크시트 초기화 Sub ClearSheet(TargetSheet) '타겟 시트로 이동하여, 시트를 초기화 Sheets(TargetSheet).Activate With ActiveSheet Range("A1:XFD1048576").ClearContents End With End Sub 'WorkSheet선언 Dim shtWorkKnwl As String shtWorkKnwl = "Work_Knowledge" '시트 초기화 Call ClearSheet(TargetSheet:=shtWorkKnwl) 2. Range지정 초기화 '워크시트의 특정 Range초기화 Sub CustomClearSheet(TargetSheet, TargetRange) 'TargetSheet로 이동하여 지정한 R..