Excel 처리에서의 VBA 활용

2852 단어
VBA는 Office 문서를 처리하는 데 전문적으로 사용되는 프로그래밍 언어로 특히 중복적인 작업을 잘한다. 본고는 VBA를 Excel 처리에 어떻게 사용하는지 소개한다.Word와 PowerPoint도 VBA를 지원하지만 한편으로는 그들의 문서 구조가 비교적 복잡하다(Excel은 단순한 표이다). 다른 한편으로는 그들의 편집 과정은 통상적으로 점진적이다(Excel은 프로그램이 생성한 것일 수도 있다). 창조적인 것이 많고 체계적인 것이 적기 때문에 그것들에 비해 Excel은 VBA를 사용하는 데 더욱 적합하다.
VBA에 대한 입문 소개, Getting Started with VBA in Office 이 글은 이미 잘 썼습니다. 몇 가지 언급할 만한 것이 있습니다. 1.VBA는 VB에서 태어났기 때문에 프로그래밍 체험상 VB와 비슷하다.2. VBA를 실행할 때 실행 환경은 Office에서 준비되었습니다. VBA 프로그래밍은 일부 Office와 관련된 대상과의 상호작용을 통해 목표를 달성하는 것입니다.
다음은 VBA를 사용하여 Excel을 처리하는 방법을 보여 줍니다.
세 개의 시트(Sheet1, Sheet2, Sheet3)로 구성된 Excel 워크북이 있는데, 시트2와 Sheet3는 모두 공백이다.Sheet1의 데이터는 세 열이 있는데 x라는 열은 숫자 1-99이고 5를 제외하면 y라는 열은 2-198의 등차수열이고 공차는 2이며 4와 8을 제외하면 좌표라는 열은 표두만 있다.x와 y를 좌표로 조합하는 형식을 좌표라는 열에 두어야 하며, 비어 있으면 0으로 간주해야 한다.
원본 데이터:
x
y
좌표








십이
……
……
99
198
데이터 생성에 사용되는 코드:
Sub prepareData()
    Cells(1, 1).Value = "x"
    Cells(1, 2).Value = "y"
    Cells(1, 3).Value = " "
    For i = 2 To 100
        num = i - 1
        If num <> 5 Then
            Cells(i, 1).Value = num
        End If
        If num <> 4 / 2 And num <> 8 / 2 Then
            Cells(i, 2).Value = num * 2
        End If
    Next
End Sub

주의할 점은 세 가지가 있다.Cells는 Excel 문서와 상호작용하는 인터페이스로 모든 칸을 포함하는 2차원 그룹으로 볼 수 있습니다.2. 칸에는 많은 속성이 있어서 사용해야 한다.value에서 내용을 읽거나 설정합니다.3. Sub는 이것이 하위 프로그램이라는 것을 나타낸다. 사실은 하나의 매크로이고 Office에서 매크로의 본질은 바로 하나의 하위 프로그램이다.
알림: VBA 환경에 들어가려면 먼저 Excel을 설정하여'개발 도구'탭이 표시되도록 한 다음에 이 탭 아래의'Visual Basic'아이콘을 누르면 코드 편집 창이 뜨고 하위 프로그램을 작성하고 커서를 하위 프로그램 안에 놓고 F5를 누르면 실행됩니다.
기존 데이터에 따라 좌표에 사용되는 코드를 생성합니다.
Sub generateCoordinates()
    For i = 2 To 100
        x = Cells(i, 1).Value
        y = Cells(i, 2).Value
        If x = "" Then
            x = "0"
        End If
        If y = "" Then
            y = "0"
        End If
        Cells(i, 3).Value = "'(" & x & "," & y & ")"
    Next i
End Sub

주의해야 할 것은 밑에서 세 번째 줄, 마지막으로 좌표를 조립할 때 왼쪽 괄호 왼쪽에 단인용 부호가 하나 있다. 왜냐하면 내가 단인용 부호가 없는 것을 발견했을 때 엑셀은 (50100) 좌표와 이후의 좌표를 모두 숫자로 해석하고 엑셀 내부의 데이터 표시 방식과 관련이 있을 것으로 추측하기 때문이다.
본고는 VBA를 소개하지만 VBA를 추앙하지 않는 이유는 두 가지가 있다.
  • 프로그래밍 환경이든 언어 모델이든 VBA는 다른 언어보다 너무 떨어지고 개발 효율이 낮다.(다른 언어에 비해 VBA를 사용하는 유일한 장점은 큰 나무를 등지고 바람을 쐬는 것이다. Office의 숙주 환경이 있기 때문에 데이터의 사용이 편리하다. 예를 들어 데이터 자체가 Excel 테이블에 존재한다면 VBA를 사용하여 직접 Cells 방식으로 데이터를 가져오면 얼마나 편리한가. 그렇지 않으면 다른 프로그램으로 Excel 파일을 읽어야 층층이 바뀌어야 데이터를 볼 수 있다. Excel을 생성하려면 추가 비용이 든다.프, 봐봐. 엑셀로 열어봐야지. 얼마나 힘든지.
  • VBA를 배우는 것보다 도형 인터페이스를 충분히 파악하는 기능 수익이 크다.(그래픽 인터페이스는 사람의 인지에 부합되고 학습 원가가 낮으며 VBA처럼 문제를 해결하는 방안을 찾는 데 시간이 오래 걸릴 수 있지만 VBA의 사용은 보통 일회성이기 때문에 이런 대가가 너무 크다.)
  • 좋은 웹페이지 즐겨찾기