엑셀/vba 12

괄호안 숫자만 추출하기

'선택영역의 셀 값중 괄호안 숫자가 있는 경우 숫자만 추출하는 VBA코드임 Sub 괄호안숫자추출() Dim 선택셀 As Range Dim 대상셀 As Range Dim 원본값 As String Dim 추출된값 As String Dim 시작위치 As Integer Dim 종료위치 As Integer ' 선택한 셀 가져오기 On Error Resume Next Set 선택셀 = Selection On Error GoTo 0 ' 선택한 셀이 없는 경우 메시지 표시 후 종료 If 선택셀 Is Nothing Then MsgBox "셀을 선택해주세요.", vbExclamation Exit Sub End If ' 각 선택한 셀에 대해 반복 For Each 대상셀 In 선택셀 ' 원본값 가져오기 원본값 = 대상셀.Va..

엑셀/vba 2024.01.16

상대계좌별로 출금 입금 집계하기 with chatgpt

시트가 아래와 같을 때 피벗테이블 기능을 사용하지 않고 vba만으로 상대계좌별로 출금 입금 집계하기 gpt가 만든 코드로 뼈대를 잡고 실제 작동하도록 수정함. 결과 1 . 시트에서 바로 작업 Function SumIfs2D(dataArray As Variant, criteria1pos As Integer, criteria1 As Variant, criteria2pos As Integer, criteria2 As Variant, SumPos As Integer) As Double Dim sumResult As Double Dim i As Long ' 합계 초기화 sumResult = 0 ' 배열 순회하며 조건에 맞는 값을 합산 For i = 1 To UBound(dataArray, 1) If dataArr..

엑셀/vba 2023.07.05

열린 모든 통합문서 이름 리스트 박스에 추가하기

열려있는 모든 통합문서 이름을 리스트박스에 추가하고 리스트박스에 클릭하면 이름을 리턴하는 코드 1. 먼저 유저폼을 하나 추가 2. 리스트박스 추가 3. 모듈에 아래 코드를 붙여넣기 4. GetSelectedFileName는 리스트박스의 클릭 이벤트에 붙여넣기 실행하면 아래와 같이 표시됨 * 유저폼과 리스트박스 이름은 바꾸지 않고 그냥 둔다. 아래 코드에서 콜렉션에 넣지 않고 바로 리스트박스에 넣을 수 있지만 콜렉션 사용에 익숙해지기 위해 줄이지 않음 For Each wb In Workbooks fileList.Add wb.Name Next wb ' ListBox1에 파일 리스트 출력 For i = 1 To fileList.Count UserForm1.ListBox1.AddItem fileList.Item..

엑셀/vba 2023.06.14

통합문서의 각 시트 값 복사하기

Sub copyWorkbook() Dim currentSheet As Worksheet Dim activeSheet As Worksheet Dim rng As Range Dim cell As Range Dim currentCell As Range Dim targetCell As Range ' 현재 시트 Set currentSheet = ThisWorkbook.Worksheets("Sheet1") ' 활성 시트 Set activeSheet = Workbooks("workbook.xlsx").Worksheets("sheet1" ) ' 현재 시트와 동일한 구조의 활성 시트에서 값을 가져오기 For Each rng In currentSheet.Range("A4:R25") Set currentCell = rng...

엑셀/vba 2023.06.13

셀 값이 배열에 있는지 비교 chatgpt

Sub CheckValue() Dim arr As Variant Dim searchValue As Variant Dim cellValue As Variant Dim found As Boolean ' 배열 선언 및 초기화 arr = Array("a", "b", "c", "d") ' 검색할 값을 셀 A1에서 가져오기 searchValue = Range("A1").Value ' 배열에서 검색 For Each cellValue In arr If cellValue = searchValue Then found = True Exit For End If Next ' 결과 표시 If found Then Range("B1").Value = "OK" Else Range("B1").Value = "NO" End If End ..

엑셀/vba 2023.04.10

잔액 구하기 chatgpt

아래와 같은 엑셀데이터의 계좌별 잔액을 구하는 vba 계좌번호 날짜 잔액 a 2023/02/02 300 b 2023/02/03 100 b 2023/02/04 500 a 2023/02/05 100 c 2023/02/05 100 b 2023/02/06 200 #1 Sub CalculateBalances() ' 입력 데이터 범위 설정 Dim dataRange As Range Set dataRange = Worksheets("Sheet1").Range("A2:C7") ' 예시 데이터 범위 ' 계좌번호, 날짜, 잔액 열 설정 Dim accountCol, dateCol, balanceCol As Integer accountCol = 1 ' 계좌번호 열 dateCol = 2 ' 날짜 열 balanceCol = 3 '..

엑셀/vba 2023.04.06

userform 팝업메뉴 2 chatgpt

Private Sub CommandButton1_Click() Dim cBar As CommandBar Set cBar = Application.CommandBars.Add(Name:="ButtonMenu", Position:=msoBarPopup, Temporary:=True) ' 새로운 메뉴를 추가합니다. Dim cCtrl As CommandBarControl Set cCtrl = cBar.Controls.Add(Type:=msoControlPopup, Temporary:=True) cCtrl.Caption = "새로운 메뉴" cCtrl.Tag = "NewMenu" ' 새로운 메뉴에 하위 메뉴를 추가합니다. Dim subCtrl As CommandBarControl Set subCtrl = cCtrl..

엑셀/vba 2023.03.17