본문 바로가기

Excel VBA/VBA 예제

(29)
시트 삭제하고 특정 이름으로 추가하기 시트 삭제하고 추가하기 On Error Resume NextSheets("Sheet1").deleteSheets.Add.Name = "Sheet1" 메세지 없이 하기Application.DisplayAlerts = FalseSheets("Sheet1").deleteApplication.DisplayAlerts = True
행 개수 자동으로 계산해서 값 넣어주는 매크로 행 개수 자동으로 계산해서 값 넣어주는 매크로 1234567891011121314151617Sub 값넣기() '시트3번에 마지막행 구하기 Sheets("Sheet3").Select 행개수 = Sheets("Sheet3").Range("a1", Range("a1").End(xlDown)).Rows.Count '시트2번의 데이터를 마지막 행에 abcd열에 순서대로 넣기 받는사람 = Sheets("Sheet2").Range("a2").Value 보내는사람 = Sheets("Sheet2").Range("d4").Value 주소 = Sheets("Sheet2").Range("c10").Value 금액 = Sheets("Sheet2").Range("e16").Value Sheets("Sheet3").Range("a..
Excel VBA 파일 열어서 필요한 부분 복사해오고 파일 닫기 Excel VBA 파일 열어서 필요한 부분 복사해오고 파일 닫기 파일은 c:\practice\hello.xlsx이다.범위는 "Sheet1"의 "a1:c100"까지 이다. 12345678910111213141516Sub fileOpenCopyPasteClose() '열고 Workbooks.Open "c:\practice\hello.xlsx" '카피하고 Workbooks("hello.xlsx").Sheets("Sheet1").Range("a1:c100").Copy '붙혀넣고 Workbooks("열고_카피하고_붙여넣고_닫고.xlsm").Sheets("Sheet1").Range("a1").PasteSpecial '닫고 Workbooks("hello.xlsx").CloseEnd Sub Colored by Colo..
excel vba dictionary key, value로 값을 뽑고 저장할 수 있는 Dictionary Object 를 만들 수 있다. dictionary에는 또 다른 dictionary를 넣을 수 있다. Sub dictionaryTest() Dim dict_list As Object Set dict_list = CreateObject("Scripting.Dictionary") dict_list.Add "Apples", getItem Debug.Print dict_list("Apples")("apple") End Sub Function getItem() Dim dict_item As Object Set dict_item = CreateObject("Scripting.Dictionary") dict_item.Add "apple", 1 Set..
file을 열지 않고 값 가져오기 1234567891011121314Sub main() filePath = "c:\practice\" Filename = "삼정.xlsx" sheetName = "Sheet3" For i = 4 To 8 Msg = "'" & filePath & "[" & Filename & "]" & sheetName _ & "'!" & Range("B" & i).Range("a1").Address(, , xlR1C1) Debug.Print Msg value_01 = ExecuteExcel4Macro(Msg) Debug.Print value_01 NextEnd SubColored by Color Scriptercs 아래는 바탕화면에 있는 'separated_row_data_sheet.xlsx'라는 excel 파일에서"Sh..
Excel Vba Array, List, Map은 Collection으로 쓰는게 좋을 것 같다 Excel Vba uArray, List, Map은 Collection으로 쓰는게 좋을 것 같다 VBA Array는 사이즈를 지정 해줘야 하기 때문에 불편하다.찾아보니까 Collection이라는게 있음. Dim c As Collection Set c = New Collection c.Add "Data1", "Key1" c.Add "Data2", "Key2" c.Add "Data3", "Key3" 'Insert data via key into cell A1 Range("A1").Value = c.Item("Key2") 출처http://stackoverflow.com/questions/915317/does-vba-have-dictionary-structure end.
Excel VBA 지정한 폴더 안에있는 파일명 출력하는 예제 Excel VBA 지정한 폴더 안에있는 파일명 출력하는 예제 Sub Main() dirName = "c:\practice\" Call printFileList(dirName) End Sub Sub printFileList(folderName) Dim objFSO As Object Dim objFolder As Object Dim objFile As Object Dim i As Integer 'Create an instance of the FileSystemObject Set objFSO = CreateObject("Scripting.FileSystemObject") 'Get the folder object Set objFolder = objFSO.GetFolder(folderName) i = 1 'loo..
vba sheet의 행 개수, 열 개수 구하기 vba sheet의 행 개수, 열 개수 구하기 결론부터 말하면 행개수 = Range("a1", Range("a1").End(xlDown)).Rows.Count열개수 = Range("a1", Range("a1").End(xlToRight)).Columns.Count 이렇게 구하면 된다. 아래와 같이 21행 7열의 sheet가 있다고 할 때 이 sheet의 크기를 구하는 sub routine은 아래와 같다.Sub count_volume() 행개수 = Range("a1", Range("a1").End(xlDown)).Rows.Count 열개수 = Range("a1", Range("a1").End(xlToRight)).Columns.Count MsgBox (행개수) MsgBox (열개수) End Sub 이걸 응..