VBA(40)
-
VBA 특정 시트부터 특정이미지 반복하여 붙여넣기 및 이미지 모두삭제
Sub 이미지붙여넣기() Dim m As Workbook Dim ms As Worksheet Set m = Workbooks(ThisWorkbook.Name) Set ms = m.Sheets("Camera") Dim sht As Worksheet Dim shape As Excel.shape Dim pic As Picture Set pic = ms.Pictures("그림 1") '시트 반복 For Each sht In Workbooks(ThisWorkbook.Name).Sheets ' 조건 If sht.Index > 4 Then ' 이미지 복사 pic.Copy ' 이미지 붙여넣기 sht.Paste For Each shape In sht.Shapes Select Case shap..
2020.02.18 -
vba 이름정의 수정하기
'# 이름 정의 하는 법 With ThisWorkbook '# 이름 정의 기존 것 삭제 .Names("TEST").Delete '# 이름 정의 추가 .Names.Add "TEST", RefersTo:="=OFFSET(Sheet2!" & "$E$" & cht_row & ",,,-Sheet2!$C$13)" '# 이름정의 만들고 범위 넣기. End With * cht_row 이 로우는(차트범위임) 항상 바뀌기 때문에 이름정의를 이용하여 구현했음. With ThisWorkbook.Names("Test") .Name = "Test" .RefersTo = "=OFFSET(Sheet2!" & "$E$" & cht_Row & ",,,-Sheet2!$C$13)" End With
2020.02.18 -
msgbox "이름이 없습니다. 추가 하시겠습니까"그리고 나이는 현재 년도를 생년월일에서 뺀값이 자동으로 나오게 하고싶습니다.
Q : 안녕하세요 vba 코드질문입니다. 코드를 추가하고 싶은데 잘안되서 문의드립니다. 검색 기능코드에서 없는이름이있을때 msgbox "이름이 없습니다. 추가 하시겠습니까" 그리고 나이는 현재 년도를 생년월일에서 뺀값이 자동으로 나오게 하고싶습니다. A : 추가하시겠습니까? 를 예, 아니오로 선택할 수 있게 하고 만약 대답이 yes면 조건 안으로 들어가고 나이의 경우 now() 함수를 사용하여 format을 연도만 구해서 현재연도 - 생년월일 하면 될 것 같습니다. If MsgBox("이름이 없습니다. 추가 하시겠습니까?", vbYesNo) = vbYes Then '만약, "예" 버튼을 눌렀다면 ' 현재 year과 생년월일을 뺀다. txt나이 = Format(Now(), "yyyy") - Format..
2020.02.18 -
엑셀VBA - 이름,나이,성명 을 입력상자에 입력한 후 확인을 누르면 엑셀시트에 열에 맞추어 그대로 입력되게
Q : 엑셀 VBA 질문드립니다. 만들고 싶은게 이름,나이,성명 을 입력상자에 입력한 후 확인을 누르면 엑셀시트에 열에 맞추어 그대로 입력되게 하고싶은데 어떻게 만들수 있을까요 ? VBA 한번도 사용 안해봤습니다. A : 아래 처럼 구현하면 됩니다. Private Sub CommandButton1_Click() Dim m As Workbook Dim ms As Worksheet Set m = Workbooks(ThisWorkbook.Name) Set ms = m.Sheets(ActiveSheet.Name) Dim START_ROW As Integer Dim LAST_ROW As Integer ' 입력이 시작 될 행 위치 지정 START_ROW = 10 ' 입력할 마지막 행 위치 지정 LAST_ROW = ..
2020.02.18 -
엑셀VBA 밑에 값으로 채우기
Sub tset() ' 밑에 항목이 없으면 위에 항목을 붙여 넣는 코드 Dim m As Workbook Dim ms As Worksheet Set m = Workbooks(ThisWorkbook.Name) Set ms = m.Sheets("Sheet1 (2)") Dim rng As Range Dim rn As Range ' 범위 C12부터 C의 마지막 로우 까지 Set rng = ms.Range("C12:C" & ms.Cells(Rows.Count, "c").End(3).Row) For Each rn In rng If rn.Offset(1) = "" Then rn.Offset(1) = rn rn.Offset(1, 1) = rn.Offset(0, 1) End If Next End Sub
2020.01.17 -
VBA Enter했을 때 동작하도록
VBA에서도 VB와 마찬가지로 UserForm을 사용할 수 있는데요. Userform에서 텍스트 박스에 내용 입력 후 엔터를 쳤을 때 무언가가 동작 하도록 하고 싶을 때 사용 합니다. Private Sub txtTerm_KeyDown(ByVal KeyCode As msforms.ReturnInteger, ByVal Shift As Integer) '//Keydown If KeyCode = 13 Then 'enter키를 눌렀을 때 동작 ' //코드 작성 End If End Sub
2020.01.08