반응형

Private Sub CommandButton1_Click()
    Dim answer As Integer
    
    answer = MsgBox("Are you sure you want to empty the sheet?", vbYesNo + vbQuestion, "Empty Sheet")
    
    If answer = vbYes Then
      Cells.ClearContents
    Else
      'do nothing
    End If
End Sub

Private Sub CommandButton2_Click()
    myvalue = InputBox("Give me some input", "Hi", 1)
    Range("A1").Value = myvalue
End Sub

 

 

MsgBox_InputBox.xlsm
0.02MB

반응형
반응형

전체복사, 값만복사, 수식만복사, 서식만복사

 

전체복사하여 붙여넣기

Sub copyall()
    Range("O6").CurrentRegion.Clear

    'O6에 연속으로 붙어있는 영역의 내용을 삭제한다.

    Range("F6:L11").Copy

    'F6:L11 영역을 복사한다.
    Range("O6").PasteSpecial
    'O6을 기준으로 전체붙여넣기한다.      
    Range("F6").Select
    'F6셀을 선택한다.
    Application.CutCopyMode = False
    '복사한영역 표시 안함.
End Sub

값만 복사하여 붙여넣기
Sub copyvalues()
 Range("O6").CurrentRegion.Clear
    
    Range("F6").CurrentRegion.Copy
    Range("O6").PasteSpecial xlPasteValues
    Range("F6").Select
    
    Application.CutCopyMode = False

End Sub

 

수식만 복사하여 붙여넣기
Sub copyformulas()
    Range("K3").CurrentRegion.Copy
    Range("K7:L" & Range("B2")).PasteSpecial xlPasteFormulas
    Application.CutCopyMode = False
 End Sub

 

서식만 복사하여 붙여넣기
Sub copyformats()
    Range("F3:L3").Copy
    Range("F7:L" & Range("B2")).PasteSpecial xlPasteFormats
    Application.CutCopyMode = False
 End Sub


Sub copyHW()
 Dim i As Long
 Dim rng As Long
 rng = Range("E100").End(xlUp).Row
 For i = 7 To rng
    If Range("F" & i) = "남" Then
    Range("J2:K2").Copy
    Range("J" & i & ":K" & i).PasteSpecial
    Range("E2:K2").Copy
    Range("E" & i & ":K" & i).PasteSpecial xlPasteFormats
    Else
    Range("J3:K3").Copy
    Range("J" & i & ":K" & i).PasteSpecial
    Range("E3:K3").Copy
    Range("E" & i & ":K" & i).PasteSpecial xlPasteFormats
    End If
 Next i
    Application.CutCopyMode = False
End Sub

반응형

'VBA' 카테고리의 다른 글

Clear, ClearContents, Delete  (0) 2022.02.22
MsgBox, InputBox  (0) 2022.02.21
A1, R1C1 , R[1]C[1] style 차이점  (0) 2022.02.21
매크로 기록(절대참조, 상대참조)  (0) 2022.02.21
값 바꾸기  (0) 2022.02.20
반응형

A1, R1C1 , R[1]C[1] style 차이점에 대해 알아보자.

 

Private Sub CommandButton1_Click()
    Range("D4").Formula = "=B3*10"
    Range("D5").FormulaR1C1 = "=R3C2*20"
    Range("D6").FormulaR1C1 = "=R[-3]C[-2]*30"
End Sub

Range("D4").Formula = "=B3*10"

'D4셀에 =B3*10을 입력한다.

 

Range("D5").FormulaR1C1= "=R3C2*20"

'D5셀에 =R3C2*20을 입력한다. 이렇게 입력하면  엑셀에서는 =$B$3*20 

즉 절대참조로 셀에 입력한다.

 

Range("D6").FormulaR[-3]C[-2]= "=R[-3]C[-2]*30"

'D6셀에 =R[-3]C[-2]*30을 입력한다.

이때  R[-3]C[-2]은 D6셀을 기준으로 3행위쪽, 2열 왼쪽을 셀(B3)을 지칭한다.

 

formulaR1C1.xlsm
0.02MB

 

 

 

반응형

'VBA' 카테고리의 다른 글

MsgBox, InputBox  (0) 2022.02.21
전체복사, 값만복사, 수식만복사, 서식만복사  (0) 2022.02.21
매크로 기록(절대참조, 상대참조)  (0) 2022.02.21
값 바꾸기  (0) 2022.02.20
With ~ End With  (0) 2022.02.20
반응형

절대 참조 매크로 기록

Sub Absolute()
'
' Absolute Macro
'
'
    Range("B3").Select
    ActiveCell.FormulaR1C1 = "sales"
    Range("B4").Select
    ActiveCell.FormulaR1C1 = "production"
    Range("B5").Select
    ActiveCell.FormulaR1C1 = "logistics"
    Range("B6").Select
End Sub

 

상대 참조 매크로 기록

Sub Relative()
'
' Relative Macro
'
    ActiveCell.FormulaR1C1 = "sales"
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveCell.FormulaR1C1 = "production"
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveCell.FormulaR1C1 = "logistics"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub

 

반응형

'VBA' 카테고리의 다른 글

전체복사, 값만복사, 수식만복사, 서식만복사  (0) 2022.02.21
A1, R1C1 , R[1]C[1] style 차이점  (0) 2022.02.21
값 바꾸기  (0) 2022.02.20
With ~ End With  (0) 2022.02.20
마지막 행과 마지막 열 찾기  (0) 2022.02.19
반응형

값 바꾸기

Sub swap()
    Dim temp As Double
    temp = Range("A1").Value
    Range("A1").Value = Range("B1").Value
    Range("B1").Value = temp
End Sub

A1셀의 값을 temp에 저장한다.

A1셀에 B1셀의 값을 붙여넣는다.

B1셀에 임시로 저장한 temp(A1셀 값)을 넣는다.

 

swap_value.xlsm
0.02MB

반응형

'VBA' 카테고리의 다른 글

A1, R1C1 , R[1]C[1] style 차이점  (0) 2022.02.21
매크로 기록(절대참조, 상대참조)  (0) 2022.02.21
With ~ End With  (0) 2022.02.20
마지막 행과 마지막 열 찾기  (0) 2022.02.19
구구단(for~next)  (0) 2022.02.19
반응형

With ~ End With

반복 적용되는 구문은 한묶음으로 만드는 기능

With Range("F8").CurrentRegion
        .Interior.ColorIndex = 0
        .Font.ColorIndex = 0
End With

F8에 붙어있는 영역에 셀채우기 색을 없애고, 글자색을 검정색으로 만든다.

 

with~endwith.xlsm
0.02MB

반응형

'VBA' 카테고리의 다른 글

매크로 기록(절대참조, 상대참조)  (0) 2022.02.21
값 바꾸기  (0) 2022.02.20
마지막 행과 마지막 열 찾기  (0) 2022.02.19
구구단(for~next)  (0) 2022.02.19
변수  (0) 2022.02.18
반응형

마지막 행과 마지막 열 찾기

 

값이 들어 있는 마지막행과 마지막열을 찾는 방법

    'B10000셀부터 위로 올라오면서 마지막 행을 찾는다.
    lngR = Range("b10000").End(xlUp).Row
    
    'XFD2셀부터 왼쪽으로 오면서 마지막 열을 찾는다.
    lngC = Range("XFD2").End(xlToLeft).Column

 

마지막행과 열찾기.xlsm
0.02MB

반응형

'VBA' 카테고리의 다른 글

값 바꾸기  (0) 2022.02.20
With ~ End With  (0) 2022.02.20
구구단(for~next)  (0) 2022.02.19
변수  (0) 2022.02.18
VBA설정  (0) 2022.02.18
반응형

구구단을 만든는vba만들기

 

for~next

 

구구단

Sub gugudan()
 Dim i As Long, j As Long
 
 For i = 1 To 9
    For j = 1 To 9
        Cells(i, j) = i * j
    Next j
 Next i


End Sub

 

 

도형 옮기기

Sub shape_color()
    Dim sh As Object
    Dim lngC As Long
    
    For Each sh In ActiveSheet.Shapes
        lngC = lngC + 1
        sh.Left = Range("b1").Left
        
        sh.Fill.ForeColor.SchemeColor = lngC
        
    Next
End Sub

for~next, for each ~next.xlsm
0.02MB

 

반복문과 분기문.xlsm
0.02MB

 

 

2022.02.17 - [VBA] - 반복문(for...next, do while ...loop)

 

반복문(for...next, do while ...loop)

반복문(for...next, do while ...loop)에 대해 알아보자 개발도구 > 삽입 > ActiveX 컨트롤 > command button을 삽입한다. command button을 더블 클릭하면 VBA editor로 넘어 간다. 단순 반복문 아래 코드는 A1..

labellota.tistory.com

 

반응형

'VBA' 카테고리의 다른 글

With ~ End With  (0) 2022.02.20
마지막 행과 마지막 열 찾기  (0) 2022.02.19
변수  (0) 2022.02.18
VBA설정  (0) 2022.02.18
매크로 단축키 설정 방법  (0) 2022.02.17
반응형

변수는 일단 Long, String 두가지만 우선 알고 시작하자.

 

변수명은 변수명을 봤을때 어떤 형식의 변수인지 유추할 수 있는 변수명을 사용하면 편리하다.

 

반응형

'VBA' 카테고리의 다른 글

마지막 행과 마지막 열 찾기  (0) 2022.02.19
구구단(for~next)  (0) 2022.02.19
VBA설정  (0) 2022.02.18
매크로 단축키 설정 방법  (0) 2022.02.17
화씨를 썹시로 바꾸는 함수  (0) 2022.02.17
반응형

글꼴은 Consolas(영어)로 설정하면

1과 l 구분이 다른 글꼴에 비해 편하다.

Consolas(영어)

 

크기는 10~12정도가 적당하다.

 

 

직접실행창, 디버그, 편집 도구를 띄워 놓으면 사용하기에 편리하다.

직접실행창, 디버그, 편집

반응형

'VBA' 카테고리의 다른 글

구구단(for~next)  (0) 2022.02.19
변수  (0) 2022.02.18
매크로 단축키 설정 방법  (0) 2022.02.17
화씨를 썹시로 바꾸는 함수  (0) 2022.02.17
Option Explicit를 입력하는 이유는 무엇일까?  (0) 2022.02.17

+ Recent posts