본문 바로가기

04번. IT 힌트얻기/▶ Excel

Excel with VB 2번째



Option Explicit
Sub for_mul()
    Dim i As Integer
    Dim j As Integer
   
    Worksheets(3).Activate
   
    For i = 1 To 10
        For j = 1 To 10
       
            Cells(i, j).Value = "서울" & i & j
       
        Next j
    Next i
End Sub
Sub for_mul2()
   
    Dim myRange As Range
    For Each myRange In Range("k1:n10")
        myRange.Value = "부산"
    Next myRange
End Sub

Sub fun1()
    Dim tr As Integer
    Dim wr As Object
   
    Set wr = Application.WorksheetFunction
   
    tr = wr.Sum(Range("a1:a10"))
   
    Range("a11").Value = tr
End Sub
Sub input1()
    Dim inRow As Integer  '행의 수
    Dim i As Integer
    Dim jumsu As Integer
    Dim grade As String
   
    Worksheets(2).Activate '내가 작업을 수행할 worksheet를 활성화시킴
   
    inRow = Range("a1").CurrentRegion.Rows.Count '현재 그 범위의 row수를 알기 위해서 셋팅
   
'    Debug.Print inRow '디버그하는 방법으로 사용
   
    For i = 2 To inRow  '첫번째 row는 제목이기 때문에 2부터 설정
   
        jumsu = Cells(i, 1).Value
       
        If jumsu >= 90 Then
            grade = "수"
        ElseIf jumsu >= 70 Then
            grade = "우"
        ElseIf jumsu >= 60 Then
            grade = "미"
        ElseIf jumsu >= 50 Then
            grade = "양"
        Else
            grade = "가"
        End If
       
        Cells(i, 2).Value = grade
    Next
End Sub

Sub myMsgBox2()
    Dim Ans As Integer
   
    Ans = MsgBox("진행하시겠습니까?", vbYesNo + vbCritical + vbQuestion + vbDefaultButton2, "기분확인")
   
    If Ans = vbYes Then
        MsgBox "Yes"
    Else
        MsgBox "No"
    End If
End Sub
Sub myInput()
    Dim Answer As String
    Dim myPro As String
    Dim myTitle As String
    Dim myDef As String
   
    myPro = "당신의 국적은?"
    myTitle = "국적입력"
    myDef = "한국"
   
    Answer = InputBox(myPro, myTitle, myDef, 400, 900)
   
    MsgBox "당신의 국적은 " & Answer & " 입니다"
End Sub
Sub inputBoxMethod1()
    Dim myRange As Range
   
    Worksheets("sheet1").Activate
    On Error GoTo Can
    Set myRange = Application.InputBox("select a cell", Type:=8)
    myRange.Value = "범위"
    myRange.Font.Color = RGB(255, 255, 0)
Can:
End Sub
Sub PrintArea()
    Dim myCell As Range
   
    Worksheets(1).Activate
   
    On Error Resume Next
    Set myCell = Application.InputBox("인쇄 범위를 드래그 하세요", "인쇄범위", Type:=8)
   
    If myCell Is Nothing Then Exit Sub
   
    With ActiveSheet
   
        .PageSetup.PrintArea = myCell.Address
       
        'ActiveSheet.PrintOut
        ' with ActiveSheet의 경우는 ActiveSheet가 명령이 겹쳐지므로 위에서 설정해놓음
       
'        .printOut
        .PrintPreview
    End With
   
End Sub
Sub input2()
    Dim inRow As Integer  '행의 수
    Dim i As Integer
    Dim jumsu As Integer
    Dim grade As String
   
    Worksheets(2).Activate '내가 작업을 수행할 worksheet를 활성화시킴
   
    inRow = Range("a1").CurrentRegion.Rows.Count '현재 그 범위의 row수를 알기 위해서 셋팅
   
'    Debug.Print inRow '디버그하는 방법으로 사용
   
    For i = 2 To inRow  '첫번째 row는 제목이기 때문에 2부터 설정
   
        jumsu = Cells(i, 1).Value
       
        Select Case jumsu
            Case Is >= 90
                grade = "수"
            Case Is >= 80
                grade = "우"
            Case Is >= 70
                grade = "미"
            Case Is >= 60
                grade = "양"
            Case Else
                grade = "가"
               
        End Select
       
        Cells(i, 2).Value = grade
    Next
End Sub

 

'04번. IT 힌트얻기 > ▶ Excel' 카테고리의 다른 글

Excel with VB 3번째  (0) 2011.12.21
excel with vb 기초  (0) 2011.12.20
엑셀 비주얼베이직 강좌  (1) 2011.12.20
VB활용한 EXCEL활용 - 라이브러리  (0) 2011.12.20