Vba 논리 또는. VBA 연산자 및 내장 함수. 잘못된 전송 올바른 전송

매개변수 이름 의미
기사 주제: VBA 연산자
루브릭(주제별 카테고리) 프로그램 작성

VBA는 연산자 언어입니다. 이는 해당 프로그램(프로시저 또는 함수)이 일련의 명령문을 나타냄을 의미합니다.

VBA 언어에서는 구별할 수 있습니다. 다음 그룹연산자:

1. 프로그램이 작동하는 객체(변수 유형, 상수 및 배열 등)를 설명하기 위한 선언적 연산자

2. 의견 진술,

3. 객체 값을 할당하고 변경하는 연산자,

4. 계산 진행을 제어하는 ​​연산자(조건부, 순환, 전환).

안에 이 과정기본 연산자를 고려하고 순환 연산자와 같은 일부 연산자를 세 가지 유형으로 제시하지만 학생들은 사용하기 가장 이해하기 쉬운 하나만 마스터해야 합니다.

댓글 연산자

주석은 프로그램 실행에 영향을 미치지 않지만, 알고리즘을 이해하는 데 꼭 필요합니다. 프로그램은 여러 번 업데이트되므로 알고리즘을 기억하고 올바르게 변경하는 데 도움이 되는 주석을 사용하는 것이 중요합니다.

프로그램 텍스트의 모든 줄은 주석으로 끝날 수 있습니다. VBA의 주석은 아포스트로피(")로 시작하고 줄 오른쪽의 모든 텍스트를 포함합니다.

예:

Weight= Weight+z "무게 증가 값=weight*price" 새로운 비용

할당 연산자

할당 연산자는 프로그램 상태(변수 값)를 변경하는 주요 수단입니다. 변수(왼쪽)와 표현식(오른쪽) 사이에 = 기호를 연결하는 구성입니다. 표현식은 피연산자(변수 이름, 상수, 표준 함수 이름)와 연산 기호(산술, 논리, 문자열, 비교)로 구성됩니다. 이 연산자의 의미는 왼쪽에 오른쪽의 값이 할당된다는 것입니다.

제어문

VBA 제어문 세트는 다음에 해당합니다. 구조화된 언어프로그램 작성. 안에 이 세트포함됨 조건문과 루프문를 사용하면 계산 프로세스를 안정적이고 효율적으로 구성할 수 있습니다.

조건문 If Then Else End If

이는 프로그래밍 언어에서 일반적으로 사용되는 계산 제어 연산자로 특정 조건의 진실성을 기반으로 작업을 선택하고 수행할 수 있습니다.

VBA 연산자 - 개념 및 유형. 2017, 2018년 "VBA 운영자" 카테고리의 분류 및 특징.

  • - 수명 및 수량 보존 연산자

    TRIZ의 Dial 카테고리는 “원칙 No. 34, 부품의 폐기 및 재생: a) 목적을 달성했거나 불필요해진 물체의 일부는 폐기(용해, 증발 등)하거나 개조해야 합니다. 작업 중에 직접. 나)....


  • - VBA 언어 요소

    쌀. 12.1 양식에 개체 배치 6. 양식에서 각 개체를 별도로 활성화하여 속성 창을 사용하여 해당 속성을 설정합니다(속성 그림 12.2). 따라서 인터페이스가 생성됩니다(그림 12.3). 쌀. 12.3. 프로젝트 인터페이스(... .


  • - 조건문

    복합 연산자. 구조 연산자 프로시저 호출 연산자 무조건 점프 연산자 무조건 점프 연산자는 실행 순서를 변경하는 기능을 제공합니다... .


  • - 복합 조건문

    때로는 문제를 해결할 때 분기에 포함된 연산자에 다른 조건부 연산자가 포함될 수 있는 상황이 발생합니다. 이를 복합 연산자라고 합니다. 게다가 투자 횟수나 투자 수준도 달라질 수 있습니다.


  • - VBA 기초

    비주얼 베이직 VBA(For Application)는 가장 간단한 프로그래밍 언어 중 하나와 Excel 스프레드시트의 모든 컴퓨팅 기능을 결합한 것입니다. VBA를 사용하면 해당 분야의 전문가가 아니더라도 다양한 응용 프로그램을 쉽고 빠르게 만들 수 있습니다.

  • 간략한 이론적 정보

    1. VBA 프로그래밍 언어의 구문 및 의미

    프로그래밍 언어의 구문은 올바르게 구조화된 프로그램(문서) 또는 해당 조각으로 간주되는 알파벳 문자의 조합을 설명하는 규칙 집합입니다.

    이 언어의 기본 구문 원칙은 다음과 같습니다.

    • VBA는 대소문자를 구분하지 않습니다.
    • 코드를 줄 끝까지 주석 처리하려면 다음을 사용하세요. 작은따옴표(") 또는 REM 명령;
    • 문자 값은 큰따옴표(")로 묶어야 합니다.
    • VBA에서 이름(변수, 상수, 프로시저)의 최대 길이는 255자입니다.
    • 새 명세서의 시작 - 다음으로 전송 새 줄(C, Java, JavaScript와 같은 세미콜론은 여기에 사용되지 않습니다)
    • 제한 사항 최대 길이줄이 없습니다(비록 편집기에서는 한 줄에 308자만 들어갈 수 있음). 같은 줄에 있는 여러 명령문은 콜론으로 구분됩니다.
      MsgBox "체크 1" : MsgBox "체크 2"
    • 읽기 쉽도록 공백과 밑줄을 사용하여 여러 실제 줄을 하나의 논리적 줄로 결합할 수 있습니다.
      MsgBox "사용자에게 보내는 메시지" _
      &v사용자 이름

    언어의 의미론은 단어의 의미론적 의미입니다. 프로그래밍에서 - 연산자의 초기 의미론적 의미, 기본 언어 구성 등

    운영자실행할 수 있는 VBA 코드의 가장 작은 단위입니다. 문은 변수를 선언 또는 정의하거나, VBA 컴파일러 옵션을 설정하거나, 프로그램에서 일부 작업을 수행할 수 있습니다.

    산수 VBA에는 7명의 연산자만 있습니다.

    네 가지 표준 항목: 더하기(+), 빼기(-), 곱하기(*), 나누기(/) 외 세 가지:

    • 지수(^). 예를 들어 2^3 = 8;
    • 정수 나누기(\). 첫 번째 숫자를 두 번째 숫자로 나누고 소수 부분은 반올림하지 않고 버립니다. 예를 들어 5\2 = 2;
    • 모듈로 나눗셈(Mod). 첫 번째 숫자를 두 번째 숫자로 나누어 나눗셈의 나머지 부분만 반환합니다. 예를 들어 5 Mod 2 = 1입니다.

    VBA의 할당 연산자는 등호입니다. 다음과 같이 작성할 수 있습니다.

    nVar = 10으로 설정
    또는 더 간단합니다.
    nVar = 10

    여기서 등호를 등호 연산자와 혼동하지 마십시오. 마지막 표현은 "nVar의 값을 10으로 설정"을 의미하며, 행이 다음과 같이 표시되면 If (nVar = 10) 은 "nVar의 값이 10인 경우"를 의미합니다.

    비교 연산자 VBA에는 8개만 있습니다.

    • 평등(=). 예를 들어 If (nVar = 10);
    • 보다 큼(>) 및 보다 작음(10);
    • 이상(>=) 및 이하(= 10);
    • 같지 않습니다(). 예를 들어 If(nVar10);
    • 객체(Is)의 비교. 개체 변수가 동일한 개체를 참조하는지 아니면 다른 개체를 참조하는지를 결정합니다. 예를 들어, If (obj1은 obj2입니다);
    • 유사성(like). 문자열 개체를 패턴과 비교하고 패턴이 일치하는지 확인합니다.

    비교 연산자는 항상 반환합니다. 진실(진술이 사실인 경우) 또는 거짓(진술이 거짓인 경우)

    여러 조건을 확인할 때 매우 자주 다음을 사용합니다. 논리 연산자:

    • And - 논리적 AND. 두 조건이 모두 true여야 합니다.
    • 또는 - 논리적 OR. 조건 중 하나 이상이 참이어야 합니다.
    • 아님 - 논리적 부정. 조건이 false이면 True를 반환하고, 그렇지 않으면 True를 반환합니다.
    • Xor는 논리적 예외입니다. 표현식에서 E1 Xor E2는 E1 = True 또는 E2 = True인 경우에만 True를 반환하고, 그렇지 않으면 False를 반환합니다.
    • Eqv - 두 표현식의 동등성으로, 값이 같으면 True를 반환합니다.
    • Imp - 의미, E1 Imp E2는 E1 = True이고 E2 = False이면 False를 반환하고, 그렇지 않으면 True를 반환합니다.

    당신은 기억해야합니다 그리고, 아니면, 아님, 다른 논리 연산자는 거의 사용되지 않습니다.

    변수- 변경 가능한 데이터를 저장하는 컨테이너입니다. 그것들 없이는 거의 어떤 프로그램도 할 수 없습니다. 단순화를 위해 변수를 옷장에 있는 숫자와 비교할 수 있습니다. 옷장에 일부 데이터를 제공하면 이에 대한 응답으로 숫자가 제공됩니다. 이 데이터가 다시 필요할 때 "번호를 제시"하고 받습니다.

    각 변수에는 이름이 있습니다. 변수는 이름으로 액세스됩니다. VBA에서 이름을 선택하는 규칙은 많은 요소(변수, 상수, 함수, 프로시저 등)에 대해 동일합니다.

    • 이름은 문자로 시작해야 합니다.
    • 공백이나 구두점 기호를 포함할 수 없습니다(밑줄은 예외).
    • 최대 길이 - 255자;
    • 현재 범위 내에서 고유해야 합니다.
    • 예약어(코드 편집기 창에서 파란색으로 강조 표시된 단어)는 사용할 수 없습니다.

    VBA 프로그램을 만들 때 개체 이름을 지정하는 규칙, 즉 명명 규칙을 결정하는 것이 좋습니다. 가장 일반적으로 사용되는 것은 소위 헝가리 계약입니다(Microsoft 프로그래머 중 한 명인 헝가리 국적의 Charles Simonyi를 기리기 위해).

    • 변수 이름은 소문자로 작성된 접두사로 시작해야 합니다. 접두사는 이 변수에 정확히 무엇이 저장될 것인지를 나타냅니다.
      str (또는 s) - 문자열, 문자 값;
      fn (또는 f) - 기능;
      하위 절차;
      c (또는 이름의 모든 문자가 대문자로 표시됨) - 끊임없는(변수와 달리 VBA 프로그램 실행 중에 변경되지 않는 데이터를 저장하는 컨테이너)
      b - 부울, 논리값(True 또는 False);
      d - 날짜;
      obj (또는 o) - 객체 참조;
      n - 숫자 값;
    • 함수, 메소드의 이름, 복합어의 각 단어는 대문자로 시작해야 합니다.
      MsgBox objMyDocument.Name
      하위 CheckDateSub()

    데이터 형식모든 프로그래밍 언어의 가장 기본적인 개념으로 간주됩니다. 데이터 유형은 값(변수 또는 상수)이 취할 수 있는 유효한 값 세트와 해당 값에 대해 수행할 수 있는 작업 세트를 정의합니다.

    2. 기본 VBA 데이터 유형

    VBA는 다음과 같은 데이터 유형을 제공합니다.

    • 숫자:
      바이트- 0부터 255까지의 정수, 저장에 필요한 1바이트메모리;
      정수- -32,768부터 32,767까지의 정수, 2바이트 ;
      - -2 147 483 648에서 2 147 483 647 사이의 큰 정수, 4 바이트 ;
      통화(금전적) - 큰 십진수소수점 이하 4자리를 포함해 19자리
      (-922337203685477.5808에서 922337203685477.5807까지), 4 바이트,
      화폐 단위로 계산할 때 발생하는 정확성이 매우 중요한 경우 숫자를 저장하는 데 사용됩니다.
      소수- 29자리의 더 큰 십진수(소수점 이하 0부터 28자리까지 사용할 수 있음), 8바이트;
      하나의그리고 더블- 부동 소수점 값 ​​( 4바이트 및 8바이트)
      (음수 값의 경우 -3.402823·10 38에서 -1.401298·10 -45까지,
      Single의 경우 양수 값의 경우 1.401298·10 -45에서 3.402823·10 38까지,
      음수 값의 경우 -1.79769313486232·10 308에서 -4.94065645841247·10 -324 및
      Double의 경우 양수 값의 경우 4.94065645841247·10 -324에서 1.79769313486232·10 308까지);
    • 끈( 가변 길이(최대 약 20억 자) 및 고정 길이(최대 약 65,400자)
    • 날짜와 시간 ( 날짜- 100년 1월 1일부터 9999년 12월 31일까지), 8바이트;
    • 부울 ( 부울- True 및 False 값만 저장할 수 있습니다. 2바이트;
    • 물체 ( 물체- 모든 객체에 대한 참조를 메모리에 저장합니다.
    • 변종- 모든 유형의 데이터를 저장할 수 있는 특수 데이터 유형 16바이트 +1
    데이터 유형 지정은 언어 키워드입니다(VBA 편집기에 입력하면 강조 표시됨). 위에 다양한 방식데이터에 대해 다양한 작업이 가능합니다. VBA에는 세 가지 주요 작업 유형이 있습니다.
    • 수학적, 숫자로 수행되는 결과는 숫자입니다.
    • 관계 연산은 숫자에만 적용될 수 있는 것이 아니라 그 결과는 논리 유형의 값입니다.
    • 논리적, 다음에서 사용됨 논리식결과는 부울 값입니다.

    3. 운영 우선순위

    우선순위 작업
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    함수 호출 및 괄호
    ^
    - (부호 변경)
    *, /
    \
    모드
    +, –
    >, <, >=, <=, <>, =
    아니다
    그리고
    또는
    Xor

    4. 수학 함수

    기능 반환 값
    복근(<число>) 숫자의 계수(절대값)
    Atn(<число>) 아크탄젠트
    코사인(<число>) 코사인
    경험치 (<число>) 지수, 즉 자연 로그의 밑을 지정된 거듭제곱으로 올린 결과
    통나무(<число>) 자연로그
    Rnd (<число>) 간격 [, 제목]의 임의의 숫자

    인수:

    메시지 - 창에 표시할 정보 메시지를 지정하는 필수 인수입니다. 기호로 연결된 여러 텍스트 줄로 구성될 수 있습니다. & . 이 인수에서의 사용법 Chr(13)정보를 출력할 때 새로운 줄로 연결됩니다.

    버튼 - 이 인수의 값은 창에 나타나는 버튼의 범주를 결정합니다. 버튼 인수의 값은 창에 아이콘이 나타나는지 여부도 결정합니다. 메시지 상자에 표시할 버튼을 지정하지 않으면 확인 버튼에 해당하는 기본값이 사용됩니다. 테이블에 3.1은 메시지 창에 가능한 버튼과 아이콘의 조합을 보여줍니다.

    표제 - 창 제목을 설정합니다.

    기능 메시지박스대화 상자에서 어떤 버튼을 클릭했는지 나타내는 정수 값을 반환합니다.

    표 3.1. 유효한 버튼 변수 값

    표시하다

    논쟁

    확인 버튼

    확인 및 취소 버튼

    예 및 아니요 버튼

    예, 아니오 및 취소 버튼

    중지, 반복 및 무시 버튼

    Vb중단재시도무시

    재시도 및 취소 버튼.

    정보 표시

    물음표

    느낌표

    예를 들어. 현재 날짜에 대한 메시지를 표시합니다.

    MsgBox "달력의 오늘" & 날짜 , "주의"

    결과적으로 다음 창이 표시됩니다(그림 3.1).

    확인을 클릭하면 메시지 상자가 닫히고 MsgBox 호출 직후 명령문에서 프로그램 실행이 다시 시작됩니다.

    3.3.2. 기능 입력 상자

    기능 입력 상자입력 창을 사용하여 변수 값을 입력하며 다음과 같은 구문을 갖습니다.

    변수_이름 = 입력 상자(메시지[, 제목] )

    인수:

    메시지 - 필수 인수입니다. 일반적으로 입력된 값의 의미를 설명하는 정보 메시지를 창에 설정합니다.

    표제 - 창 제목을 설정합니다.

    예를 들어, 키보드에서 변수 N의 값을 입력하고 기본값은 10입니다.

    이렇게 하려면 다음 연산자를 사용할 수 있습니다.

    N = InputBox("N을 입력하세요", "입력을 입력하세요",10)

    결과적으로 변수 N의 값을 입력하기 위한 다음 창이 표시됩니다(그림 3.2).

    사용자가 기본값을 수용할 수 있는 경우 확인 버튼을 클릭하면 입력 창이 닫히고 변수 N은 10으로 설정되며 호출 바로 뒤의 문에서 프로그램 실행이 재개됩니다. 입력 상자.

    기본값이 사용자에게 적합하지 않은 경우 확인 버튼을 클릭하기 전에 N 변수에 원하는 값을 입력해야 합니다.

    3 .4. 조건부 IF 문

    VBA에서 분기 계산 프로세스를 구현하려면 연산자가 사용됩니다. 만약...그러면...그렇지 않으면,이는 상태 확인의 가장 간단한 형태입니다. 다음과 같은 구문이 있습니다.

    만약에상태그 다음에OPERATOR_1이자형그렇지OPERATOR_2

    OPERATOR_1다음과 같은 경우 실행됩니다. 상태 true, 그렇지 않으면 실행됨 OPERATOR_2. 이 경우 If...Then...Else 문은 한 줄에 작성됩니다.

    상태부울 표현식입니다. 표현식의 결과는 항상 부울입니다. 표현식은 단순할 수도 있고 복잡할 수도 있습니다. 간단한 조건을 작성할 때 표에 나열된 가능한 모든 관계 연산을 사용할 수 있습니다. 3.2.

    테이블3 .2. 논리적 관계

    작업

    이름

    표현

    결과

    A가 B와 같으면 참

    A가 B와 같지 않으면 참

    A가 B보다 크면 참

    A가 B보다 작으면 참

    그 이상 또는 같음

    A가 B보다 크거나 같으면 참

    작거나 같음

    A가 B보다 작거나 같으면 참

    복잡한 조건은 논리 연산과 괄호를 사용하여 간단한 조건에서 구성됩니다. 논리 연산 목록은 표에 나와 있습니다. 3.3.

    테이블3 .삼. 논리 연산

    이름

    표현

    결과

    부울
    부정

    논리 AND

    논리적 OR

    조건문에서는 특정 명령문 대신 명령문 블록을 사용할 수 있습니다. 이 경우 조건 연산자는 다음과 같습니다.

    만약에상태그 다음에

    BLOCK_OPERATORS_1

    BLOCK_OPERATORS_2

    끝 I에프

    조건문은 여러 조건을 테스트할 수 있습니다. 이 경우 조건 연산자는 다음과 같습니다.

    만약에CONDITION_1그 다음에

    BLOCK_OPERATORS_1

    ElseIfCONDITION_2그 다음에

    BLOCK_OPERATORS_2

    또 다른

    만약에

    실시예 1. 그림 1의 알고리즘에 대한 프로그램의 일부를 작성하십시오. 3.3.

    예시 2.그림 1의 알고리즘에 대한 프로그램의 일부를 작성하십시오. 3.4.

    3.5. 대소문자 연산자 선택

    Select Case 연산자는 유한한 유효한 값 집합이 있는 일부 표현식의 값에 따라 다양한 작업을 수행해야 할 때 유용합니다. 조건문과도 관련이 있지만 형식이 다릅니다.

    케이스 선택테스트 중인 표현

    사례VALUES_1

    OPERATORS_1

    사례가치_ 2

    연산자_ 2

    . . .

    사례VALUES_N

    연산자_N

    [ 사례또 다른

    그렇지 않으면_ 운영자]

    선택 종료

    테스트 중인 표현실수를 제외한 모든 스칼라 유형이 될 수 있습니다. 가치쉼표로 구분된 임의 개수의 값 또는 범위로 구성됩니다.

    유형 가치유형과 일치해야 합니다. TEST_EXPRESSION.

    먼저 계산이 됩니다 테스트 중인 표현. 해당 값이 값 중 하나와 일치하는 경우 VALUES_I, 그러면 그것들이 성취될 것이다 OPERATORS_I 선택 종료. 해당 값이 어떤 값과도 일치하지 않는 경우 VALUES_I, 그러면 그것들이 성취될 것이다 ELSE_OPERATORS제어권은 이후의 운영자에게 이전됩니다. 선택 종료

    예를 들어.그림 1의 알고리즘에 대한 프로그램의 일부를 작성하십시오. 3.5는 변수 n의 값에 따라 변수 S의 값을 결정합니다.

    3.6. 루프 문

    순환 컴퓨팅 프로세스, 즉 하나 이상의 연산자를 반복적으로 실행하려면 루프 연산자가 사용됩니다. 다음을 위해...다음, 다음 구문을 갖습니다.

    을 위한카운터=START_VALUE영형CON_VALUE단계단계

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    다음카운터

    For...Next 루프는 변수 값을 반복합니다. 카운터루프 매개변수인 , 지정된 변경 단계를 사용하여 초기 값부터 최종 값까지. 이렇게 하면 루프 본문 문 블록이 각각의 새로운 카운터 값으로 실행됩니다. 만약에 단계단계설계에 없으면 기본적으로 단계는 1과 같다고 가정됩니다. 운영자에 따르면 종료 대상전에 루프 문을 종료할 수 있습니다. 카운터마지막 값에 도달했습니다.*

    유사한 개체 그룹의 개체(예: 범위 또는 배열 요소의 셀)를 반복하려면 루프 연산자를 사용하는 것이 편리합니다. 을 위한…각각...다음.

    각각요소~ 안에그룹

    차단하다_ 연산자

    OPERATOR_BLOCK

    다음요소

    VBA에서는 다른 루프 연산자를 사용하여 반복 횟수를 알 수 없는 루프를 구성합니다.

    전제 조건이 있는 루프 - 하다하는 동안고리,

    하다까지고리;

    후조건이 있는 루프 - 하다고리하는 동안,

    하다고리까지.

    다음은 이러한 루프 문의 구문입니다.

    "전제조건이 있는 루프하다 하는 동안 고리

    하는 동안상태

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    "전제조건이 있는 루프하다 까지 고리

    하다까지상태

    OPERATOR_BLOCK

    OPERATOR_BLOCK

    "사후 조건이 있는 루프하다 반복하는 동안

    차단하다_ 연산자

    OPERATOR_BLOCK

    반복하는 동안상태

    "사후 조건이 있는 루프하다 루프 종료

    차단하다_ 연산자

    OPERATOR_BLOCK

    루프 종료상태

    운영자 하다안녕...루프명령문 블록이 다음까지 여러 번 반복되도록 보장합니다. 상태관찰되고, 운영자는



    기타 뉴스

    언어 지침(또는 연산자)– 일부 작업을 수행하거나 데이터를 설명하는 프로그램 단위입니다.

    명령문에는 하나 이상의 키워드와 매개변수가 포함될 수 있습니다. 동일한 프로그램 라인에 있는 여러 명령문은 콜론으로 서로 구분됩니다. 명령문이 너무 길면 밑줄 _ 문자를 사용하여 여러 줄로 나눌 수 있습니다.

    에 대한레이터과제

    할당 연산자는 프로그램 실행 중에 변수에 새 값을 할당하는 데 사용됩니다. 할당 기호 "=".

    예를 들어, 운영자:

    x = Sqr(5 + Tan(1.8)^2)

    변수 x 에 표현식의 값을 할당합니다. 오른쪽에 적힌 식을 계산한 결과 실수를 얻게 됩니다. 그러나 변수 x에 할당되는 값은 해당 변수의 유형이 선언된 방식에 따라 달라집니다. 따라서 변수 x가 Single 유형이면 결과 4.834464가 할당되고, Double이면 4.83446368725481, Integer이면 5가 할당됩니다.

    변수 x의 데이터 유형은 이 표현식의 데이터 유형과 호환되어야 합니다. 할당하는 동안 한 형식에서 다른 형식으로의 암시적 변환 외에도 Visual Basic은 함수를 사용하여 형식을 변환하는 기능을 제공합니다. 예를 들어, 함수 CDbl데이터를 Double 유형으로 변환하고, CInt– 정수 유형으로, Clng– Long 유형의 경우, CSng– 싱글 타입의 경우, CStr– 문자열 등을 입력합니다.

    CInt 및 Clng 함수는 결과를 반올림합니다. 또한, 숫자의 소수 부분이 0.5인 경우 가장 가까운 짝수로 반올림됩니다.

    할당 연산자변수에 값을 할당할 수 있을 뿐만 아니라 VBA 개체의 속성 값을 설정할 수도 있습니다. 예를 들어, 운영자

    행("1:1").글꼴. 굵은 글씨 = 사실

    워크시트의 첫 번째 줄에 있는 글꼴을 굵게 만듭니다.

    줄 바꿈

    콤비네이션<Пробел> + <Знак подчеркивания>줄 끝에서 다음 줄이 이전 줄의 연속임을 보장합니다. 동시에 우리는 다음을 기억해야 합니다.

    § 래핑으로 문자열 상수를 분리할 수 없습니다.

    § 같은 줄은 7개 이상 연속할 수 없습니다.

    § 줄 자체는 1024자를 초과할 수 없습니다.

    예.

    잘못된 전송 올바른 전송

    Line = "Visual Basic for _ Line = "Visual Basic" _

    응용 프로그램" 및 "응용 프로그램용"

    코멘트

    프로그램에서 기호(") 뒤의 줄 끝까지의 텍스트는 컴파일러에 의해 무시되며 주석입니다. 주석은 프로그램에 설명과 설명을 추가하는 데 사용됩니다. 주석은 프로그램을 디버깅할 때 유용합니다. 디버깅하는 동안 프로그램 라인을 일시적으로 비활성화할 수 있습니다.

    가정 어구 운영자

    조건문은 조건식의 값에 따라 특정 명령(문)을 실행합니다. 조건을 확인하기 위한 블록 다이어그램은 다음과 같습니다.

    쌀. 1. 분기가 불완전할 수 있습니다(이 구조를 바이패스라고도 함).

    쌀. 2. 조건문에는 라인과 블록이라는 두 가지 형태의 구문이 있습니다.

    소문자 형태

    만약에 상태그 다음에 [ Operators_if_true]

    그림에 제시된 알고리즘. 1. 소문자로 쓰면 다음과 같다.

    만약에 상태그 다음에 Operators_if_true또 다른 Operators_if_false

    그림 2는 항목에 해당합니다.

    만약에 상태그 다음에 Operators_if_true

    그림 3은 항목에 해당합니다.

    만약에 상태그럼 그렇지 Operators_if_false

    블록 형태

    만약에 조건-1그 다음에

    [Operators_if 조건–1_true]

    [Operators_if_all_conditions_false]]

    If 및 ElseIf 부분에 나열된 조건은 관계식 또는 논리식입니다. 조건 중 하나가 충족되면 해당 Then 키워드 다음의 문이 실행되고 나머지 문은 무시됩니다. 즉, 더 이상 테스트가 수행되지 않고 제어가 End If 다음의 문으로 이전됩니다. 논리적 조건 중 어느 것도 참이 아닌 경우 Operators_if_all_previous_conditions_false, 또는 이 부분이 생략되면 조건문 다음의 프로그램 라인으로 제어가 전달됩니다.

    다음과 같은 경우 If 문의 블록 형식을 사용하는 것이 좋습니다.

    조건이 충족되거나 충족되지 않으면 여러 명령문이 실행됩니다(이 경우 줄 형식도 사용할 수 있지만 줄이 너무 길어지고 프로그램이 덜 명확해집니다).

    여러 조건을 순차적으로 검사하는데, 다음 조건이 만족되면 그 다음 조건을 검사하는 것은 부적절하다(그래서 ElseIf 키워드를 사용한다).

    회사는 도매 구매자에게 할인을 제공합니다.

    알려진 주문량을 기준으로 비용을 결정해야 합니다.

    주문 비용을 계산하기 위해 다음 함수를 사용합니다.

    공개 함수 Order_Cost(길이만큼의 수량)를 두 배로

    수량인 경우<= 999 Then

    Order_cost = 수량 * 5

    ElseIf 수량<= 1999 Then

    Order_cost = 수량 * 4.8

    Order_cost = 수량 * 4.75

    이 경우 IF 연산자의 소문자 형식을 사용할 수 있습니다.

    공개 함수 Order_Cost1(길이만큼의 수량)을 두 배로

    수량인 경우<= 999 Then Стоимость_заказа1 = Количество * 5

    수량 >= 1000 및 수량인 경우<= 1999 Then Стоимость_­ заказа1 = Количество * 4.8

    수량 >= 2000인 경우 Order_Cost1 = 수량 * 4.75

    줄이 길다는 단점을 고려하지 않고 모든 주문량에 대해 모든 확인이 순차적으로 수행된다면(소액 주문량의 경우 첫 번째 절차가 더 빠르게 작동함) 프로그램이 올바르게 작성되고 아마도 훨씬 더 명확해질 것입니다.

    그러나 조건 중 하나가 충족되거나 충족되지 않으면 다른 조건을 확인할 수 없는 예를 들 수 있습니다.

    예를 들어, 일부 연산자는 조건이 공동으로 충족될 때 실행되어야 합니다: http://po-teme.com.ua/images/adIIIin/image014_e652e49476c6f0eb9cf40b68cc090828.gif" alt="" width="56" height="27 src="> . 확인하려면 연산자를 사용하세요.

    x>0이고 y인 경우

    x가 음수이면 sqr 함수를 호출할 때 오류가 발생합니다(루트는 음수임).

    이 오류는 디자인을 사용하여 피할 수 있습니다.

    x > 0이면 y이면< Sqr(x) Then

    항목의 마지막 형식에서 Else 키워드가 있으면 마지막 If 문을 참조합니다.

    선택 연산자

    케이스 선택 표현

    [지침_또 다른]]

    표현식 매개변수는 숫자 또는 문자열 표현식입니다. 논리적 조건을 평가하는 대신 표현식의 값을 매개변수에 지정된 각 값과 비교합니다. 표현_목록-N.

    비교를 위한 값은 다음에 포함됩니다. 표현식_목록-n, 다음 형식으로 지정할 수 있습니다.

    – 가치;

    – 양식의 값 범위 초기 값에게 최종_값;

    – Is 형식의 비교 표현식 비교연산자 값;

    – 나열된 표현식 유형 목록(구분 기호 – 쉼표).

    명령어에는 임의 개수의 Case 블록이 포함될 수 있습니다. 조건 중 어느 것도 참이 아니면 Case Else 블록의 명령문이 실행됩니다.

    예를 들어, 조건의 점수가 3보다 큰 경우 이 조건은 사례 4, 5 또는 사례가 >3이거나 사례가 >= 4 또는 사례 4에서 5로 작성될 수 있습니다.

    메모. 예어따로 입력하지 않아도 자동으로 추가됩니다.

    Select Case 구성을 사용하여 할인된 가격을 적용한 위의 예는 다음과 같이 해결할 수 있습니다.

    공개 함수 Order_Cost2(길이만큼의 수량)를 두 배로

    케이스 수량 선택

    Order_cost2 = 수량 * 5

    사례 1000 ~ 1999

    Order_cost2 = 수량 * 4.8

    사례는 >= 2000입니다.

    Order_cost2 = 수량 * 4.75

    VBA 프로그램은 일련의 명령문입니다.

    프로그램을 작성할 때 따라야 할 몇 가지 규칙이 있습니다. 따라서 여러 명령문을 한 줄에 배치할 수 있습니다. 같은 줄의 명령문 사이에는 콜론이 배치됩니다.

    모든 줄은 첫 번째 줄 끝에 "Space" + "Underscore"(_) 문자를 배치하여 두 개로 나눌 수 있습니다. 이 경우 두 번째 줄은 첫 번째 줄의 연속으로 간주됩니다.

    주석은 프로그램을 읽기 쉽게 만드는 데 사용됩니다. VBA에서 주석을 입력하는 방법에는 두 가지가 있습니다. 한 줄의 어느 곳에나 배치할 수 있는 아포스트로피(')를 사용하는 것과 아포스트로피 대신 예약어 Rem을 사용하는 것입니다.

    1. 희미한 연산자변수 유형을 선언하기 위한 것입니다.

    1. Dim A를 정수로 – 변수 A는 정수로 선언됩니다. 즉, 정수 값만 저장합니다 .

    2. 날짜로 희미한 D – 변수 D는 날짜를 저장하도록 선언되었습니다.

    3. 희미한 성, 이름을 문자열로 – 변수가 선언되었습니다. 성 및 이름(텍스트 저장용)

    4. Dim B(12) 정수로 – 12개의 정수로 구성된 1차원 배열(벡터)이 선언되며, 기본적으로 배열의 첫 번째 요소는 B(0)이고 마지막 요소는 B(12)입니다.

    5. Dim B(3,3) 단일 – 실수로 구성된 2차원 3x3 배열(행렬)이 선언됩니다.

    변수 유형이 지정되지 않은 경우 기본 유형은 Variant입니다. 그러나 특정 유형의 변수를 지정하면 프로그램의 신뢰성이 높아지고 작업 속도가 빨라집니다. VBA는 선언되지 않은 변수에 액세스할 때마다 이를 인식하느라 시간을 낭비할 필요가 없습니다.

    배열 M의 크기를 미리 알 수 없고 프로그램 중에 결정된 경우 배열을 설명할 때 요소 수는 표시되지 않으며 배열은 다음과 같이 정의됩니다.

    Dim M()을 정수로 사용

    배열 요소 수(예: N)를 결정한 후 연산자를 작성해야 합니다.

    2. 할당 연산자변수에 값을 할당하기 위한 것입니다.

    통사론:

    변수(또는 객체 속성) = 표현식.

    1. a=5 – 변수 A에 값 5를 할당합니다. ;

    2. b=“관리자” – 변수 b 양수인"관리자"라는 뜻;

    · 주소=Sheets("조직").Cells(2,2) – Address 변수에 현재 통합 문서의 조직 시트에 있는 B2 셀의 내용을 할당합니다.

    성=UserForm1.TextBox1.Text – 변하기 쉬운 성은 사용자 양식 UserForm1의 TextBox1 필드 내용에 할당됩니다.

    영형 문으로/끝으로 끝내기프로그래머는 동일한 개체의 이름을 여러 번 반복하지 않아도 됩니다.

    통사론:

    개체 포함

    연산자 1

    연산자 2

    연산자N

    예를 들어, 일련의 명령문 대신

    UserForm1.TextBox1.Text = 날짜

    UserForm1.TextBox2.Text = “ “

    UserForm1.ComboBox1.Text = “ “

    이렇게 쓸 수 있다

    TextBox1.Text = 날짜

    . TextBox2.Text = “ “

    . ComboBox1.Text = “ “

    REM 시트 1의 A열 두 번째 줄부터 '근로자 관세'가 기재되어 있습니다. 사용자 양식 UserForm1에서 콤보 상자 ComboBox1을 입력합니다.

    '프로그램의 첫 번째 줄 – 시트 Sheet1의 A열에서 '채워진 셀의 수가 계산되고 그 결과는 '변수 N에 할당됩니다.

    N=응용 프로그램.CountA(시트("시트1").범위("A:A")).

    D=”A2:A”&Cint(N)

    Sheets(“Sheet1”).Range(D).Name=”관세”

    TextBox1.Text = 날짜

    . TextBox2.Text = “ “

    . ComboBox1.Text = “ “

    . ComboBox1.Rowsource = “관세”

    1. 조건문 If/Then/Else– 특정 조건을 확인하고 확인 결과에 따라 하나 또는 다른 작업을 수행할 수 있습니다.

    통사론:

    만약에상태 그 다음에연산자1 [ 또 다른연산자2]

    조건이 참이면 문장 1이 실행되고, 그렇지 않으면 문장 2가 실행됩니다.

    블록으로 작성된 복잡한 조건부 연산자를 사용하는 것도 가능합니다.

    만약에조건 1 그 다음에

    연산자 1

    ElseIf조건 2 그 다음에

    연산자 2

    연산자3

    성=.TextBox1.Text

    If Last Name =”“ Then MsgBox”성을 입력하지 않으셨습니다.”

    REM 1번 체크박스를 체크하면 고객에게 5% 할인이 제공됩니다.

    ' 금액 – 고객이 지불한 금액

    ' 제품 비용은 Cost 변수에 저장됩니다.

    UserForm1.CheckBox1.Value = True인 경우

    금액=비용-비용*0.05

    그 밖의 금액=비용

    1) REM Tariff는 설정된 관세이고, Time은 근무시간이라고 가정한다. 시간과 요금은 각각 TextBox1과 TextBox2의 입력 필드에 입력됩니다. 급여는 관세*시간 공식을 사용하여 계산됩니다. 계산된 급여를 폼에 표시하는 프로그램을 작성해 보겠습니다. Label4 – '급여 값 표시'를 위해 준비된 문구

    IsNumeric(TextBox1.Text)=True 및 _인 경우

    IsNumeric(TextBox2.Text)=True 그러면

    관세=TextBox1.Text

    시간=TextBox2.Text

    Label4.Caption=관세*시간

    첫 번째 예에서는 사용자 양식 1번을 사용하여 작업합니다. 변하기 쉬운 입력 필드 1번의 내용이 할당됩니다. 그런 다음 입력 필드에 입력된 항목이 있는지 확인합니다(변수가 비어 있는지 여부). ). 변수인 경우 비어 있으면 메시지 상자가 화면에 표시됩니다.

    두 번째 예에서 REM이라는 단어와 아포스트로피로 시작하는 첫 번째 줄은 변수의 목적을 설명하는 주석입니다. 조건부 연산자는 클라이언트가 지불하는 금액을 결정합니다.

    세 번째 예에서는 입력 필드에 숫자가 입력되었는지 확인합니다. 두 필드에 숫자를 입력하면 입력 필드의 값이 변수에 할당되고 관세에 시간을 곱한 결과 값이 레이블에 할당됩니다.

    1) 무조건 점프 연산자 이동프로그램 내에서 지정된 라인으로의 전환을 지정하기 위한 것입니다.

    통사론:

    GoTo 문자열

    필수 인수 문자열은 줄 레이블이나 줄 번호일 수 있습니다.

    IsNumeric(TextBox1.Text)=False인 경우 GoTo 오류

    Error: MsgBox “숫자 입력 오류!”

    위의 예에서는 입력 필드 1에 숫자가 입력되었는지 확인합니다. 입력한 숫자가 숫자가 아닌 경우 오류 라벨이 있는 줄이 이동되고 화면에 메시지가 표시됩니다.

    2) 루프 연산자 For/To/다음반복되는 조각을 프로그래밍하기 위해 설계되었습니다. 즉, 순환 알고리즘을 설명합니다.

    통사론:

    을 위한변수=M1 에게 M2 [ 단계 M3]

    운영자

    M1, M2, M3 – 표현식. 루프 문은 지정된 단계 M3을 통해 변수(카운터)가 초기 값 M1에서 최종 값 M2로 변경되는 동안 일련의 명령문 실행을 반복합니다. 단계가 지정되지 않으면 1로 간주됩니다.

    성 = Sheets(“직원”).Cells(I,1)

    UserForm1.ComboBox1.AddItem 성

    주어진 예에서는 "직원" 시트의 첫 번째 열에 사용자 양식 1번의 콤보 상자 1번 목록에 포함되어야 하는 직원의 이름이 포함되어 있다고 가정합니다. 프로그램 작동 알고리즘:

    1) 변수 I에는 값 2가 할당됩니다.

    2) 성 변수에는 “직원” 시트에 있는 셀 A(I,1)의 값이 할당됩니다. (루프가 처음 실행될 때 셀 A(2,1)입니다.)

    3) 성 변수의 요소가 ComboBox1 콤보 상자 목록에 추가됩니다.

    4) 변수 I의 값에 1이 추가됩니다(단계가 지정되지 않은 경우 1과 동일한 것으로 간주됩니다). I 값이 10(변수 I의 최종 값, 예: M3=10)을 초과했는지 확인하기 위해 검사가 수행됩니다. I 값이 10보다 작거나 같으면 2~4단계가 수행되고, 그렇지 않으면 사이클이 종료됩니다.

    따라서 위 프로그램을 사용하면 ComboBox1의 목록을 데이터로 채울 수 있습니다.

    해결에 사용되는 기본 알고리즘
    경제적 업무

    다음 예제를 사용하여 기본 알고리즘을 살펴보겠습니다. 다양한 부서의 직원들이 계약에 따른 업무 수행에 참여했습니다. 시트 "Sheet1"의 표에는 각 직원의 근무 시간에 대한 데이터가 표시됩니다(그림 8).


    그림 8. 근무 시간에 대한 데이터

    회사 직원


    무료 프로그램과 유용한 팁의 세계
    2024 whatsappss.ru