목록vba (68)
rand(life)
166 대화상자로 파일열기변수 = application.getopenfilename(엑셀 파일, "*.xls*")if 변수 = "false" then exit subworkbooks.open 변수 177 작업폴더 변경chdrive "c" 현재드라이브변경chdir "c:₩temp" 현재폴더변경, (드라이브변경은 않음) 172 dir 함수를 처음 사용할 때는 폴더나 파일등 지정두번째부터 생략하고 dir() 로 이용가능dir (폴더명, vbDirectory) 폴더안에 파일존재하는지확인변수 = dir(경로 & "*.xls*") 174 파일복사파일존재여부 먼저 검사할것FileCopy f1, f2 f1파일을 f2파일로 복사 175 파일삭제kill f1kill 폴더명 & "₩*.*" 폴더안의 모든 파일 삭제파일이름 ..
[클릭한 도형에 써져있는 텍스트]변수 = ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text [도형에 이름부여]이름을 부여하는 것은..해당도형을 SELECT 하신 후에...VBA 에서..Selection.Name = "어떤이름" [병합된 셀 크기에 맞추어 그림 삽입] Set s = Range("B2").MergeArea ThisWorkbook.Sheet1.Shapes.AddPicture img, _ True, True, s.Left, s.Top, s.Width, s.Height [그림 넣기] Set oPicture = Worksheets("Final Result").Shapes.AddPicture(strPictureFilePath _ & C..
242 괄호안의 숫자합계dim temp as variNt '배열변수temp = split (r, "(")for i = 1 to ubound(temp)fs = fs + val (temp (i) )next 'split으로 (를 기준해서 나누면 6), 8), 9)... 처럼 될텐데 val 을 씌우면 숫자로 인식되는지 확인 필요 94split을 이용해 배열변수에 값넣기변수 = split("1,20,300,200", ",") 쌍따옴표를 두번만쓰면된다 option compare binary 대소문자구분정렬option compare text 구분없음 일차원배열은 가로방향배열의 값을 범위에 한번에 쓸 수 있다range("a1:f10") = myarry [동적배열의 값 셀에 넣을때] Worksheets("sheet2")..
188 사용자지정목록 정렬.sortfields.add key:=range("a2"), customorder:="lee,park,kim".apply option compare binary 대소문자구분정렬option compare text 구분없음 [정렬 기본적인 구문]With rng .Sort Key1:=rng.Cells(1, 1), Order1:=xlDescendingEnd With [선택한 영역만 정렬]With ActiveSheet.Sort .SortFields.Clear .SortFields.Add Key:=Selection.Columns(1), Order:=xlDescending .SetRange Selection .ApplyEnd With [이차기준 정렬]Sub 셀정렬() With Range("A..
150 인쇄영역activesheet.pagesetup.printarea = 주소 154 인쇄옵션worksheets(1).printout collate:= true 한 부씩 인쇄 158파일 새이름으로 저장하고 닫기activeworkbook.close (true, text.xlsx)닫으면서 text라는 이름으로 저장한다아직 이름이 정해지지 않은경우 [시트 전체 값으로 복사 붙여넣기후 새로운 파일로 저장하기]Sub 값으로시트복사()Dim wb As WorkbookDim wa As Worksheet Set wa = ActiveSheet ‘여기서 변수로 지정해줘야wa.UsedRange.SelectSelection.CopySelection.PasteSpecial (-4163) Set wb = Workbooks.Ad..
146시트 복수 선택sheet1.select false 이전선택시트 유지 [시트추가]Worksheets.Add after:=Sheet1 ‘sheet1 뒤에 시트 추가 [시트 전체 값으로 복사 붙여넣기후 새로운 파일로 저장하기]Sub 값으로시트복사()Dim wb As WorkbookDim wa As Worksheet Set wa = ActiveSheet ‘여기서 변수로 지정해줘야wa.UsedRange.SelectSelection.CopySelection.PasteSpecial (-4163) Set wb = Workbooks.Add ‘여기서 초점이 이동했을때wa.Copy Before:=wb.Sheets(1) ‘여기서 쉽게 복사가능wb.SaveAs "d:\test1.xlsx" '파일경로 및 이름 여기서 지정 ..
105 셀병합시range("a1:c8").merge true 행마다 병합됨range("a1:c8").merge 전체가 하나로 병합 range.mergearea 지정한 셀이 들어있는 병합된 범위 [병합된 셀 크기에 맞추어 그림 삽입] Set s = Range("B2").MergeArea ThisWorkbook.Sheet1.Shapes.AddPicture img, _ True, True, s.Left, s.Top, s.Width, s.Height [병합된셀의 주소확인] Private Sub Worksheet_SelectionChange(ByVal Target As Range)If Target.MergeCells Then MsgBox Application.WorksheetFunction.Replace(Targ..
이전에 쓴 글에 어느 분이 답글을 주셨습니다.혹시 저 과목들을 몇개 단위로끊어서 쓸수 있을까요? 예를 들면 5개 과목을 쓰면 줄을 바꾸거나 셀을 아래로 삽입하여 작성하는 게 가능할까요? 그래서 만들어보았습니다.Function ConcatText(ByVal 범위 As Range, 구분 As String) As String Dim strTemp() As StringDim rng As RangeDim a As StringDim cr As IntegerDim k As IntegerDim i As Integer For Each rng In 범위 If rng = 구분 Then ReDim Preserve strTemp(i) If rng.Offset(0, 2).Value > 2 Then strTemp(i) = rng...