SMALL

    Cells.Find(What:="찾을셀Text", After:=ActiveCell, LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
        MatchCase:=False, MatchByte:=False, SearchFormat:=False).Activate

' 현재셀 변수저장

Set nowAddress = Range(ActiveCell.Address)

' 위로한칸이동 (저장할셀로이동)

nowAddress.Offset(-1,0).Select

' 저장할 셀(변수)

Dim adrSave String

adrSave = ActiveCell.Address

 

exam  ) 변수사용시

- Range("A7:" & adrSave)

'  (& 추가)이런식으로 들어간다

LIST
블로그 이미지

SeoHW

,
SMALL
         
         
         
         
         

 

위표 만큼 지정 하는 VBA 소스입니다

 

ActiveCell.Range(Cells(1,1), (Cells(5,5)).Select

LIST
블로그 이미지

SeoHW

,
SMALL

vba 시작부분에
Application.DisplayAlerts = False

끝부분에 
Application.DisplayAlerts = true

LIST
블로그 이미지

SeoHW

,
SMALL

Sub CrtSheet()

'Updated by ExtendOffice 20181009

    Dim xName As String

    Dim xSht As Object

    On Error Resume Next

    xName = InputBox("Please enter a name for this new sheet ", "Kutools for Excel")

    If xName = "" Then Exit Sub

        Set xSht = Sheets(xName)

        If Not xSht Is Nothing Then

            MsgBox "Sheet cannot be created as there is already a worksheet with the same name in this workbook"

            Exit Sub

            End If

            Sheets.Add(, Sheets(Sheets.count)).Name = xName

        End Sub

알림창 없이 추가시에는 아래처럼

Sub CrtSheet2()

            Sheets.Add(, Sheets(Sheets.count)).Name = "시트이름"

        End Sub

 

LIST
블로그 이미지

SeoHW

,
SMALL

조건을 만족하지 않는 행을 삭제하는 VBA Code

 

조건 : A행은 11개의 숫자로 이루어져 있는데 조건을 만족하지 않는 행(Row)은 삭제하라




Sub 행삭제()

    Dim Counter
    Dim i, r As Integer
    Dim rngAll As Range        '// 범위 전체 영역 변수

    Application.ScreenUpdating = False        '화면 업데이트 (일시) 정지
    Cells(2, "A").Select    '// 현재 어느셀에 위치하든 A2 셀을 선택하라
    Set rngAll = Range([A2], Cells(Rows.Count, "A").End(3))
    '// 시작행 A2, 마지막행 자동인식
    Counter = rngAll.Rows.Count

    For i = 1 To Counter

        If Len(ActiveCell.Value) <> 11  Or Not IsNumeric(ActiveCell.Value) Then 

            '// 현재 셀의 길이가 11이 아니거나 숫자가 아니면

'// If ActiveCell.Value = 0  Or Not IsNumeric(ActiveCell.Value) Then


            Selection.EntireRow.Delete     '//해당행 전체 삭제
            Counter = Counter - 1          '// 행이 삭제되어 전체행 수를 하나 줄임
            r = r + 1         '// 삭제된 행의 수를 카운트
        Else
            ActiveCell.Offset(1, 0).Select    '// 아래행으로 이동
        End If
    Next i
    Msgbox "총" & r & "행 삭제"
End Sub



출처: https://link2me.tistory.com/271 [소소한 일상 및 업무TIP 다루기]

LIST
블로그 이미지

SeoHW

,