Excel의 선형 프로그래밍. VBA, 매크로, Excel 프로그래밍 소개

컴퓨터 프로그램을 작성하려면 먼저 프로그래밍 언어를 알아야 합니다. 둘째, 작성한 코드를 컴파일할 특수 프로그램이 컴퓨터에 설치되어 있어야 합니다. 셋째, 우리가 하려는 일에 대한 명확한 목표가 눈앞에 항상 있도록 프로그램의 알고리즘을 개발하고 종이에 적어야 합니다. (적어도 이것이 제가 더 복잡한 글을 작성할 때 항상 하는 일입니다. 프로그램).

모든 프로그래밍 언어가 적합하지만 Excel에서 작업하고 이를 위한 프로그램을 작성할 때는 VBA(Visual Basic for Application)를 사용하는 것이 좋습니다. Excel에는 이미 Excel에서 프로그램을 생성하기 위한 특수 편집기가 내장되어 있기 때문입니다.

나는 당신과 내가 프로그래밍 언어를 쉽게 익힐 수 있다고 생각합니다. 나는 성공했고 당신도 할 수 있습니다. 저를 믿으십시오. Excel에서의 프로그래밍은 일부 C++ 또는 Java에서의 프로그래밍보다 훨씬 쉽습니다. VBA는 엔지니어든 회계사든 관계없이 모든 사람을 위해 만들어졌기 때문에 Excel을 사용하는 사람들을 위해 만들어졌습니다. Excel을 마스터했다면 다음 논리적 단계는 VBA를 마스터하는 것입니다.

VBA에서 프로그램이 어떻게 생성되는지 예를 들어 보여드리겠습니다.

우리는 어떤 알고리즘도 발명하지 않고 대신 "우리의 코드"라는 문구를 쓸 것입니다.

1. 엑셀을 실행하세요.

2. "Alt"와 "F11"이라는 블리츠 명령을 실행합니다(두 개의 키를 누른 상태).

3. 템플릿을 생성하고 저장합니다.

4. 그런 다음 세 줄을 적는데, 아포스트로피로 시작하는 줄이 주석입니다. "Sub"라는 단어는 프로그램의 시작을 나타내고, "program()"은 프로그램 이름으로 예를 들어 "Macro()"로 변경될 수 있습니다.

"End Sub"라는 문구는 프로그램이 여기에서 종료됨을 나타냅니다. "Our code" 대신 앞으로 알고리즘을 작성할 수 있습니다.

Excel 프로그래밍은 보이는 것만큼 어렵지 않습니다. 명확한 알고리즘이 필요하며 가급적이면 종이에 적어서 개발 방법을 곧 배우게 될 것이며 일부 VBA 기본 사항(프로그램에 대한 데이터 입력 및 출력, 조건) 및 루프) 시작하기에 충분합니다.



이 섹션도 참조하세요.

매크로는 엑셀에 내장된 VBA(Visual Basic for Application) 프로그래밍 언어로 작성된 프로그램이며, 엑셀 프로그래밍은 매크로를 만드는 과정이다. 따라서 Excel은 스스로 진화하는 소프트웨어가 되었습니다. 이제 사용자는 프로그램의 새 버전을 기다릴 필요가 없으므로 필요와 욕구가 생기면 자신만의 응용 프로그램을 만듭니다.

VBA, 매크로, Excel 프로그래밍 등 이름은 많지만 본질은 동일합니다. 흥미롭지만 동시에 연구하고 이해하기 어려운 문제입니다. 그러나 두려워할 필요는 없습니다. 누구나 필요한 만큼 공부하고 Excel 프로그래밍 문제를 얼마나 깊이 파헤쳐야 할지 스스로 결정할 수 있습니다.

이제 물이 충분했으니 연습을 시작하겠습니다.

Excel에서 첫 번째 프로그램을 만들고 그것이 쉽고 간단한지 확인해 보겠습니다. 작업은 다음과 같습니다. 프로그램은 한 셀의 값을 복사하여 다른 셀에 붙여넣어야 합니다. 이 작업을 수동으로 수행하는 것은 쉽습니다. 저를 믿으십시오. 우리 프로그램을 작성하는 것이 더 이상 어렵지 않습니다. 이번에는 지름길, 즉 매크로를 기록할 것이기 때문입니다. 이렇게 하려면 "보기" 탭에서 "매크로" 아이콘을 찾아 "매크로 기록" 줄을 클릭하세요.

우리는 양식을 얻습니다.

"매크로 이름"은 그대로 두겠습니다. 이는 매크로(프로그램)의 이름이 "Macro1"이 되고 "키보드 단축키"에 "h"를 삽입한다는 의미입니다. 이제 블리츠를 실행할 때 매크로가 실행됩니다. "Ctrl+h" 명령. "Enter"를 누르고 복사하세요.

그런 다음 "매크로 기록"을 중지하고 즉시 "매크로" 줄을 선택하면 매크로 목록이 표시됩니다. 매크로를 실행하려면 해당 매크로를 선택하고 "실행"을 클릭해야 합니다. 또 다른 방법은 미리 지정된 키보드 단축키 “Ctrl+h”를 실행하는 것입니다. 매크로를 실행할 때마다 이전에 기록된 작업이 수행됩니다.

우리 프로그램의 알고리즘을 살펴 보겠습니다. 이렇게 하려면 "매크로" 탭, "매크로" 줄을 선택하고 "편집"을 클릭하세요. 그림은 매크로를 작성하기 위한 환경을 보여줍니다. 매크로 자체는 "Sub Macro1()"과 "End Sub" 줄 사이의 코드입니다. 이 줄을 사용하면 코드가 두 줄 사이에 있음을 Excel에 알릴 수 있습니다.

매크로는 생성된 통합 문서와 함께 저장되지만 다른 통합 문서로 전송할 수 있으므로 반드시 그럴 필요는 없습니다. 매크로 내부의 각 줄의 의미를 살펴보겠습니다.

큰 따옴표 "'" 다음 줄에 쓰여진 모든 내용은 주석 처리되어 실행 코드가 아닙니다. 프로그램에 대한 설명은 일반적으로 주석으로 작성됩니다. 즉, 코드의 첫 번째 줄은 "Selection.Copy"라는 매크로를 한 줄씩 순차적으로 실행합니다. 번역하면 "Selection.Copy"처럼 들립니다. 즉, 선택한 영역이 복사됩니다. 두 번째는 "Range("C1").Select" - Range("C1").Select" - "C1" 셀로 이동합니다. “ActiveSheet.붙여넣기” - “ActiveSheet. 붙여넣기" - 복사한 값을 선택한 셀 "C1"에 붙여넣습니다.

이제 이 코드를 삭제하고 직접 작성해 보겠습니다.

우리는 네 줄을 썼는데, 여기서 "a =1, b = 2"는 "1과 2"의 값을 각각 변수 "a와 b"에 할당하고 변수 "c"에 할당하는 연산입니다. "a와 b"를 더한 결과입니다. 그리고 "ActiveCell.Value = c" 줄은 "ActiveCell.Value"로 번역됩니다. Value = c”, 즉 변수 “c”의 값을 활성 셀에 씁니다. 다음으로 매크로 "Ctrl+S"를 저장하고 Excel 시트로 이동하여 매크로 "Ctrl+h"를 호출하기 위한 blitz 명령을 실행합니다.

모든 사용자는 때때로 Excel에 자신의 요구 사항을 충족하는 적절한 도구가 없다는 사실을 경험했습니다. 풍부한 Excel 기능을 사용하면 완벽함에는 한계가 없기 때문에 일부 문제에 대한 솔루션을 자동화하는 것이 때로는 불가능합니다. 이상적인 솔루션은 사용자가 자신만의 특정 도구를 만들 수 있도록 하는 것입니다. 매크로는 이러한 목적으로 만들어졌습니다.

Excel에서 매크로 작성

Excel 매크로 코드는 VBA(Visual Basic for Application)로 작성되고 연결된 응용 프로그램 도구에 의해 실행됩니다. 이러한 도구 중 대부분은 Excel 창 수준에서는 사용할 수 없습니다. 매크로를 작성하는 방법.

이제 매크로 코드를 작성, 편집 및 실행하는 방법에 대한 예제 정보를 보여드리겠습니다.

매크로를 작성하려면:


메모. 기본 메뉴에 "개발자" 탭이 없으면 "파일" - "옵션" - "리본 사용자 정의" 설정에서 활성화해야 합니다. 오른쪽 목록 "기본 탭:"에서 "개발자" 옵션을 선택하고 확인을 클릭합니다.



Excel의 매크로 기능

매크로를 사용하면 문서 작업 프로세스 등을 자동화할 수 있습니다. 한 번의 작업으로 수천 개의 도구를 거의 동시에 실행할 수 있습니다(한 번의 마우스 클릭으로도 가능). 이는 프로그램 작업 가능성을 확장합니다.

매크로를 사용하면 사용자는 Excel 무기고에는 없는 자신만의 도구를 만들 수 있습니다. 예를 들어 한 번의 클릭으로 두 번째 행마다 자동으로 선택해야 하는 경우가 있습니다. 또는 특정 워크시트의 특정 수의 복사본을 동시에 만들어야 합니다. 작업 프로세스 자동화에 대한 사용자 요구 사항 목록은 무한정 계속될 수 있습니다.

MS Office 패키지에 포함된 모든 프로그램에서 매크로를 생성할 수 없었던 경우. 일상적인 작업 과정에서 사용자는 많은 작업을 수동으로 수행해야 합니다(마우스로 두 번째 제목을 모두 클릭하여 다른 모든 줄을 선택하거나 한 번에 한 시트씩 복사하여 붙여넣기). 수동 작업은 기껏해야 엄청난 시간의 손실로 이어지며, 최악의 경우 오류가 발생하거나 귀중한 데이터가 손실될 수도 있습니다.

매크로를 생성하고 작업 흐름을 자동화하는 기능은 낭비되는 시간과 오류로부터 작업을 줄여줍니다. 다음으로, 한 번의 클릭으로 일상적인 작업을 정확하고 자동으로 수행하는 매크로를 만드는 방법을 살펴보겠습니다. 또한 Excel 통합 문서의 어느 위치에 매크로를 만들고 저장할 수 있는지 고려해 보겠습니다. 이를 시작하고 실행하는 방법은 물론 필요에 맞게 최대한 최적화하는 방법도 있습니다.

Excel은 엄청난 양의 데이터 정보를 저장하고 처리하기 위한 크고 풍부한 도구를 제공합니다. 가장 보편적인 분석 프로그램인 Excel의 경우 데이터 자체를 저장하는 것은 보고서 표시를 통해 데이터를 처리, 구성 및 분석하는 기능보다 덜 흥미롭습니다. 이를 위해 '피벗 테이블'과 같은 가장 강력한 분석 데이터 처리 도구가 사용됩니다. 하지만 매크로의 도움으로 더욱 개선될 수 있습니다. 그리고 피벗 테이블의 가능성에는 한계가 없습니다.

최적화 모델은 다음과 같은 질문에 대한 답을 찾는 데 사용됩니다.

  • 콜센터 직원의 휴가 요청을 충족하고 초과 근무의 균형을 맞추고 24시간 근무를 없애기 위해 일정을 만드는 방법은 무엇입니까?
  • 모든 위험을 통제하면서 수입을 극대화하려면 어떤 석유 시추 기회를 사용해야 합니까?
  • 비용을 최소화하고 예상 수요를 충족하려면 언제 중국에 신규 주문을 해야 하며 어떻게 배송해야 합니까?

형식의 메모를 다운로드하거나 형식의 예를 다운로드하십시오.

최적화의 목표는 항상 '최대화' 또는 '최소화'입니다. 수학적 최적화의 가장 일반적이고 잘 이해되는 형태는 선형 계획법입니다. 이는 1930년대 후반 소련 엔지니어들이 비밀리에 개발하여 제2차 세계 대전 중에 인기를 얻었습니다. 그런데 이 문구에서 "프로그래밍"이라는 단어는 당시 군사 용어의 유물이며 컴퓨터 프로그래밍과는 아무런 관련이 없습니다.

경제학자들이 가장 좋아하는 예인 총과 버터부터 시작해 보겠습니다. 때는 1941년, 당신은 프랑스 낙농장의 주인입니다. 낮에는 젖소의 젖을 짜고 버터를 생산하고, 밤에는 자동 기계를 조립합니다. 귀하의 목표는 가능한 한 오랫동안 기계를 생산하기 위해 최대 이익을 얻는 것입니다. 레지스탕스의 중개자로부터 각 기계에 대해 195 화폐 단위를 받습니다(존재하지 않는 프랑으로 Excel을 귀찮게 하지 않기 위해 이것이 달러라고 가정합시다). 시장에 나와 있는 석유 1배럴당 150달러를 받습니다.

조건 및 제한 사항. 석유 1배럴의 가격은 100달러이고, 기계 1대의 가격은 150달러입니다. 월간 생산 예산 - $1800. 귀하는 21입방미터 규모의 지하실에 제품을 보관합니다. 기계는 ½ m 3, 오일 1½ m 3 배럴을 차지합니다. 최대 이익을 얻으려면 한 달에 몇 개의 자판기와 석유 배럴을 판매해야 합니까?

선형 프로그램은 객체와 조건이 모두 선형인 일부 조건을 고려하여 객체를 최적화하는 데 필요한 솔루션 세트로 정의됩니다. 상수를 더하고 빼고 곱할 수는 있지만 변수 곱하기(버터로 곱할 수 없음), 제곱 또는 IF와 같은 논리 루프와 같은 비선형 함수를 사용하여 풀 수는 없습니다.

허용되는 값의 범위를 그래픽으로 표현해 보겠습니다. 첫째, 총과 기름통의 수는 음수가 아니어야 합니다. 둘째, 생산할 수 있는 최대 금액은 $1800/$150 = 기계 12대 또는 $1800/$100 = 석유 18배럴입니다(그림 1). 이 삼각형의 일반적인 이름은 다음과 같습니다. 폴리토프– 편평한 면을 가진 그림(예: 다이아몬드) 셋째, 지하실에는 21/(½) = 42개의 기계 또는 21/(1½) = 14 배럴의 석유를 수용할 수 있습니다(그림 2).

기계와 배럴의 이상적인 비율을 찾기 위해 문제에 개념을 도입합니다. 기능 수준 라인. 최적화 모델의 이러한 라인에는 동일한 이익을 가져오는 값이 포함됩니다. 레벨 선은 다음 방정식으로 지정할 수 있습니다.

(195 – 150) * N 기계 + (150 – 100) * N 석유 배럴 = C,

여기서 C는 상수입니다.

예를 들어, C = 450인 경우 선은 좌표 (0;10)과 (9;0)을 통과합니다. 그래픽적으로는 레벨 라인을 X축과 Y축을 따라 값이 증가하는 방향으로 자신과 평행하게 이동함으로써 이익을 극대화한다는 아이디어가 실현됩니다(그림 3). 폴리토프의 경우 최적값은 항상 꼭지점 중 하나에 있다는 것이 궁금합니다(또는 고유한 솔루션이 전혀 없음). 단순 방법 알고리즘은 이 속성을 기반으로 합니다. Excel에서 문제를 해결하는 것은 모델 영역을 만드는 것부터 시작됩니다(그림 4). 셀 B1 =SUMPRODUCT(C4:D4;C10:D10)의 목적 함수에 대한 수식입니다.

쌀. 3. 이익 최적화를 위한 레벨 라인 및 기능: a) 임의의 초기 위치; b) 최적의 위치에 있는 레벨 라인

버튼을 누를 준비가 모두 완료되었습니다. 데이터 –> 해결책 찾기. (이 버튼이 표시되지 않으면 Find Solution 추가 기능을 설치하십시오. 1장을 참조하십시오.) 열리는 창에서 솔루션 검색 옵션강조 표시된 옵션을 설정하고 해결책 찾기.

쌀. 5. 창문 해결책 찾기

Excel은 시트를 업데이트하고 계산 결과를 시트에 추가합니다(그림 6).

비선형성을 추가하면 어떻게 될까요? 월간 기계 수가 5대를 초과하는 경우 중개인이 $500를 제안한다고 가정해 보겠습니다. 수익 셀(B1)에 IF 함수를 추가하기만 하면 됩니다. 이제 목적 함수는 다음과 같습니다: =SUMPRODUCT(C4:D4,C10:D10)+IF(C4>5,500,0). 딸깍 하는 소리 해결책 찾기. 실패하면 Excel에서 오류를 보고합니다. 선형성 조건이 충족되지 않습니다(그림 7).

비선형 모델에서 가장 잘 작동하고 기능 선택에 사실상 제한이 없는 진화 알고리즘을 사용해 볼 수 있습니다. 진화 알고리즘의 작업은 어떤 면에서 생물학적 진화 작업의 원리를 반복합니다.

  • 다양한 확률의 초기 솔루션 풀(유전자 풀과 같은 것)을 생성합니다.
  • 모든 결정에는 생존을 위한 어느 정도의 적합성이 있습니다.
  • 솔루션은 교차 전송을 통해 전파됩니다. 즉, 솔루션의 구성 요소가 2~3개의 기존 솔루션 중에서 선택되어 결합됩니다.
  • 기존 솔루션이 새로운 솔루션으로 변합니다.
  • 지역 검색이 진행되는 동안 현재 인구 중 가장 좋은 솔루션 근처에 새로운 솔루션이 생성됩니다.
  • 선택이 발생합니다. 무작위로 선택된 실패한 후보 솔루션은 유전자 풀에서 제외됩니다.

불행히도 진화 알고리즘에는 여전히 몇 가지 문제가 있습니다.

  • 단순법에 비해 수술 시간이 훨씬 길어집니다.
  • 그가 최적의 솔루션을 찾을 것이라는 보장은 없습니다. 할 수 있는 일은 시간이 다 될 때까지 모집단에서 가장 좋은 솔루션을 제어하거나, 계속할 수 있을 만큼 모집단이 변경되거나, ESC 버튼을 눌러 솔루션 검색을 강제로 중단하는 것입니다.
  • 해결책에 대한 진화적 탐색은 다소 느리게 진행됩니다. 그리고 허용되는 값의 범위가 복잡하면 시작할 곳을 찾지도 못하고 맹세하는 경우가 많습니다.
  • Excel에서 진화 알고리즘이 제대로 작동하도록 하려면 각 결정 변수에 대한 하드 바운드를 정의해야 합니다. 솔루션이 어느 정도 제한이 없더라도 여전히 제한이 필요합니다.

마지막 점을 고려하여 기계와 버터 문제를 해결하려면 두 솔루션이 모두 25보다 커서는 안 된다는 제약 조건을 추가해야 합니다(그림 8). 모델의 기본 매개변수를 설정한 후 버튼을 클릭합니다. 옵션. 약 1분 동안 작업한 후 진화 알고리즘은 예상되는 솔루션인 6대의 기계와 9배럴의 석유를 생산했습니다. 보너스 없이 3대만 만드는 것이 최적이고, 5대 이상 생산 시 보너스도 지급되기 때문에 최적의 선택은 6대가 될 것은 자명하다.

이제 좀 더 복잡한 예를 고려해 보겠습니다. 당신은 다양한 종류의 천연 주스를 혼합하여 오렌지 주스를 생산하는 회사에서 근무하고 있습니다(그림 9). 주스가 가장 정교한 요구 사항을 충족하는지 확인하려면:

  • 브릭스/산도 비율은 11.5~12.5 사이로 유지되어야 합니다.
  • 산도 수준은 0.75~1% 사이로 유지되어야 합니다.
  • 떫은맛 수준은 4 이하여야 합니다.
  • 색상은 4.5~5.5 이내여야 합니다.

추장은 1월과 2월에는 매월 주스 수요가 600,000갤런, 3월에는 700,000갤런이 될 것으로 예상한다고 말합니다. 그러나 회사가 품종을 재배하는 농부들로부터 매달 주스의 최소 40%를 구매하는 경우 세금 감면을 제공하는 플로리다 주와의 계약이 있습니다. 발렌시아. 합의는 존중되어야 합니다.

쌀. 9. 갓 짜낸 오렌지 주스 생산을 위한 특성 목록(이미지를 확대하려면 마우스 오른쪽 버튼을 클릭하고 선택) 새 탭에서 이미지 열기)

최적화 모델을 생성합니다(그림 10). 첨부된 Excel 파일의 해당 시트에서 수식을 학습할 수 있습니다. 딸깍 하는 소리 해결책 찾기을 클릭하고 매개변수를 입력합니다(그림 11). 딸깍 하는 소리 해결책 찾기.

쌀. 11. 채워진 창 해결책 찾기혼합 작업을 위해

진수 해결책 찾기, 최적의 구매 비용은 123만 달러입니다(그림 12). 플로리다 발렌시아 주문은 조건의 하단에 해당한다는 점에 유의하시기 바랍니다. 분명히 이 거래가 최선의 선택은 아니지만 이를 받아들여야 합니다. 두 번째로 인기 있는 품종은 멕시코산 베르나(Verna)인데, 가격은 엄청 저렴하지만 그만큼 끔찍합니다.

당신은 계산 결과를 상사에게 제시했지만 그는 여전히 불만족스러워하며 117만 달러의 예산을 초과하고 싶지 않다고 말합니다. 당신은 컴퓨터로 돌아가서 비용이 더 이상 객관적인 함수가 아니라는 것을 이해하기 시작합니다. 이제 조건입니다! 목표는 무엇입니까? 품질 요구 사항을 완화해야만 구매 비용을 줄일 수 있습니다. 이를 백분율 감소 측면에서 공식화하고 새 모델을 만들기로 결정했습니다(그림 13).

이제 B26:29 및 F26:F29 셀에는 상수가 아닌 수식이 포함됩니다. 새로운 목표는 G26:G29 셀의 성능 저하 비율을 최소화하는 것입니다. 보다 정확하게는 G26:G29 셀의 최대값을 최소화하려고 합니다. 그러나 셀 D2에 =MAX(G26:G29) 수식을 넣으면 모델이 작동하지 않습니다. MAX 함수는 선형이 아니라는 점을 상기시켜 드리겠습니다. 여기에서 약간의 트릭을 사용할 수 있습니다. 모델에 추가 조건을 추가할 수 있습니다: $G$26:$G$29<=$D$2 (рис. 14), а ячейку D2 оставить пустой. Т.е., ячейка D2 будет оптимизироваться не благодаря наличию в ней формулы, а последовательными циклами, запускаемыми этим дополнительным условием.

딸깍 하는 소리 해결책 찾기. 단순 알고리즘은 모델의 목적 함수로서 D2를 0에 더 가깝게 밀어 넣으려고 시도하는 반면, 풍미 및 색상 제약 조건은 실행 가능한 혼합을 얻기 위해 D2를 최대한 높이려고 노력합니다. D2의 가치는 어디에서 멈추나요? 가능한 가장 작은 값은 G26:G29 범위에서 감소된 4개의 최대 백분율입니다. 비용을 5% 줄이려면 네 가지 매개변수 모두에서 품질 한계를 넘어서야 한다는 것을 알 수 있습니다(그림 15, 셀 C26:E29).

당신은 상사에게 데이터를 제시했고 상사는 비용을 5% 줄이는 것이 주스의 품질을 떨어뜨릴 가치가 없다는 것을 알고 첫 번째 옵션에 동의했습니다. 그런데 이를 공급부서에 가져오자 직원들이 격분했습니다. 어떻게 보급품을 이렇게 나눌 수 있는 걸까요!? 공급업체는 배치를 확대할 것을 요구합니다. 한 달에 공급업체는 4개 이하입니다! 그리고 당신은 새 모델 앞에 앉았습니다. 안타깝게도 선형 모델 내에 남아 있기 때문에 IF 또는 COUNT 함수를 사용할 수 없습니다. 따라서 다시 트릭을 사용해야 합니다(그림 16). 바이너리로 정의하는 영역 C33:E43을 모델에 추가하고(그 값은 0 또는 1만 가능함) 비워 둡니다. 또한 F33:H43 영역도 있습니다. 여기서 각 셀은 C33:E43 영역 값과 G5:G15의 곱과 같습니다. 매개변수에 해결책 찾기(그림 17) 다른 조건 $C$15:$E$15를 추가합니다.<= $F$33:$H$43 и еще одну область переменных – $C$33:$E$43.

이 경우 최적화 알고리즘은 어떻게 작동합니까? 시작하면 C5:E15, C33:E43, F33:H43 영역의 모든 값이 0입니다. 알고리즘이 셀 C7에 값 240을 배치하려고 시도한다고 가정해 보겠습니다. 조건 C7이 작동합니다.<= F35, которое приведет к увеличению значения в F35, которое, в свою очередь, определяется формулой F35 = C35*$G7. Поскольку G7 – константа, а С35 – бинарная переменная, последней присваивается значение 1. Условие С7 <= F35 выполнено, т.к., 240 <= 1200. Таким образом вы моделируете неудобное условие «если… то»: «если заказ сделан, то бинарная переменная включается».

딸깍 하는 소리 해결책 찾기. 이진 변수가 추가되었기 때문에 문제를 해결하는 데 시간이 더 오래 걸린다는 것을 알 수 있습니다. 어떤 이유로든 해결책 찾기검색이 너무 길면 언제든지 ESC를 눌러 현재 발견된 최상의 솔루션을 확인할 수 있습니다.

기본적으로 귀하는 이미 선형 프로그래밍 분야에서 상당한 수준의 전문가입니다. 그러나 당신이 그것에 관심이 있고 점점 더 복잡해지는 모델을 다루고 싶다면 여기에 두 가지 놀라운 예가 더 있습니다.

엔지니어들은 새로운 "산도 감소제"가 생산에 등장했다고 보고했습니다. 이 기술은 장치를 통해 흐르는 주스에 포함된 산의 20%를 중화시킬 수 있습니다. 이는 산의 비율을 감소시킬 뿐만 아니라 Brix/산도 지수를 25% 증가시킵니다. 그러나 "감속기"에는 주스 1,000갤런당 20달러의 에너지와 공급품이 필요합니다. 공급업체에서 나오는 모든 주스가 이 프로세스를 거쳐야 하는 것은 아니지만, 주문 배송이 이온 교환기를 통해 실행되는 경우 전체 볼륨을 처리해야 합니다. 비용 절감을 위해 이온 교환기가 포함된 모델을 구축하세요.

새로운 규칙의 문제점은 이를 모델링하는 자연스러운 방법이 비선형이므로 최적화 알고리즘이 느려진다는 것입니다. 그러나 이전 예에서와 같이 C25:E35 영역에 이진 변수를 입력할 수 있습니다. 이 변수는 배치의 산도를 줄여야 하는 경우 "켜집니다"(그림 18). "산도 감소 지시약(이진수) * 배치 용량" 제품을 사용할 수 없으므로 C37:E47 영역을 생성합니다. 이는 이러한 공식에 직접 참여하지 않고도 산도 감소량을 균등화하는 데 유용합니다. 볼륨 자체. 따라서 C25:E35 및 C37:E47 영역에는 수식이 포함되지 않습니다. G25:I35 영역에서는 =C25:E35*G5:G15 공식이 사용되며(이는 사용 가능한 총 주스량에 따른 배치의 제한임) K25:M35 영역에서는 =E5:E15-GG5: 15*(1-E25:E35). 이 조건은 배치가 산도 감소 대상인 경우에만 작동합니다.

또한 "산도 감소제" 모델에서는 C16:E16 셀의 수식이 변경되었습니다(이제 "지표(이진) * 배치 볼륨 * $20 수식을 사용하여 산도를 줄이는 비용을 고려함) 및 C50:E51 셀의 수식이 변경되었습니다. (이제 그들은 처리된 배치에 대해 Brix 계수/산도가 25% 증가하고 산도가 20% 감소하는 것을 고려합니다). 매개변수에서 해결책 찾기새로운 변수와 추가 조건이 나타났습니다(그림 19). 아쉽게도 버튼을 누르면 해결책 찾기, 당신은 추가 기능이 해결책 찾기작업에 대처할 수 없습니다 (그림 20). 모델이 너무 복잡해졌습니다.

쌀. 19. 옵션 해결책 찾기"산도 감소제"가 포함된 모델

쌀. 20. 해결책 찾기그 일에 대처하지 못한다

다운로드하여 설치해야 합니다. 오픈솔버(이를 수행하는 방법은 1장을 참조하세요.) 오픈솔버창에 방금 입력한 설정을 "선택"합니다. 해결책 찾기. 그러니 버튼을 누르시면 됩니다 솔버. 결과 솔루션인 $1,235,927는 이전 최저치인 $1,338,913보다 $100,000 이상 더 좋습니다.

지금까지 우리는 제공된 제품이 정확히 지정된 매개변수를 가지고 있다고 가정했습니다. 이러한 매개변수는 표준편차를 특징으로 하는 변동의 영향을 받는다고 가정하는 것이 합리적입니다(그림 21, 자세한 내용은 참조). 가장 유명하고 널리 사용되는 확률 변수의 분포는 정규 분포, 즉 종형 곡선으로 알려져 있습니다. 예를 들어 이집트 주스의 ​​경우 평균 Brix/산도 비율은 13이고 표준 편차(표준 편차라고도 함)는 0.9입니다(그림 21). 이 예에서 13은 확률 분포의 중심이고, 주문의 68%는 13의 ±0.9 내에 있고, 95%는 13의 ±1.8 내에 있습니다.

귀하의 목표는 공급 변동성을 고려하여 품질 기대치를 가장 잘 충족시키는 125만 달러 미만의 비용이 드는 혼합 계획을 제안하는 것입니다.

몬테카를로 시뮬레이션을 적용하기 위해 특성의 평균과 표준편차를 사용합니다(이 이름을 처음 들어보신 분이라면 추천합니다). 이 방법에서는 분포 매개변수(평균 및 표준편차)를 모델에 직접 포함시키는 대신 이러한 동일한 분포 매개변수를 기반으로 수많은 시나리오가 생성됩니다.

시나리오는 "이것이 통계 기반 분포라면 특정 순서는 어떤 모습일까요?"라는 질문에 대한 가능한 대답 중 하나입니다. 각 시나리오에는 10가지 주스 품종에 대한 40가지 매개변수가 포함되어 있습니다(그림 22). 이러한 매개변수 중 하나를 얻으려면 NORM.REV 함수를 사용하십시오(함수에 대한 자세한 내용은 참조). 예를 들어 셀 B33에서 Hamlin의 Brix/산도 비율은 =NORM.REV(RAND();H5;N5)로 지정됩니다. B33:СW76 영역에 유사한 수식을 입력하여 100개의 시나리오를 생성합니다. 해결책 찾기이러한 공식은 비선형이므로 작업할 수 없으므로 클립보드에 복사하여 붙여넣되 값으로 사용하세요.

목표는 셀 D2의 값을 최소화하는 것입니다. 즉, 100가지 시나리오에 대한 품질 제한을 최소한으로 줄이는 솔루션을 찾으세요. 그림의 예에서와 같이. 13-15, D2 셀에는 수식이 없습니다. 최적화는 창에서 매개변수를 설정하여 수행됩니다. 해결책을 찾는 중입니다.필요한 것은 단지 예상되는 성능 값뿐만 아니라 모든 시나리오에 품질 경계를 설정하는 것입니다. 따라서 브릭스/산도 비율에 B78:CW80 >= B26 및 =라는 용어를 추가합니다.< F26, затем проделываете то же самое с кислотностью, вяжущей составляющей вкуса и цветом (рис. 24). Нажмите 해결책 찾기. 해결책은 아주 빨리 찾아질 것입니다. 다운로드 파일에 있는 값을 사용하지 않고 직접 임의의 값을 생성한 경우 솔루션이 다를 수 있습니다. 100개의 시나리오에서 제가 얻을 수 있는 최고는 133%의 품질 변화였습니다.

쌀. 24. 설정 해결책 찾기다양한 특성을 가진 모델의 경우

선형 프로그래밍에 대한 지식을 확장하고 싶다면 AIMMS 최적화 모델링 책을 추천합니다. 요령과 팁이 담긴 두 장을 놓치지 마세요. 정말 훌륭합니다.

존 포먼의 책을 바탕으로 작성되었습니다. – M.: Alpina 출판사, 2016. – P. 129–186. 개발비밀과 제2차 세계대전에 대해서는 이는 책 저자의 개인적인 의견인 것으로 보인다. 위키피디아를 참조하세요. – 메모 바구지나.

인기 있는 Microsoft Excel 제품의 첫 번째 버전이 1985년에 출시되었다는 사실을 아는 사람은 거의 없습니다. 그 이후로 여러 가지 수정을 거쳤으며 전 세계 수백만 명의 사용자 사이에서 수요가 있습니다. 동시에 많은 사람들은 이 스프레드시트 프로세서의 일부 기능만을 사용하여 작업하며 Excel 프로그래밍 기능이 자신의 삶을 어떻게 더 쉽게 만들 수 있는지조차 깨닫지 못합니다.

VBA 란 무엇입니까?

Excel 프로그래밍은 원래 Microsoft의 가장 유명한 스프레드시트 프로세서에 내장된 Visual Basic for Application 프로그래밍 언어를 사용하여 수행됩니다.

전문가들은 상대적인 학습 용이성을 장점으로 꼽습니다. 실습에서 알 수 있듯이 전문적인 프로그래밍 기술이 없는 사용자라도 VBA의 기본 사항을 익힐 수 있습니다. VBA의 기능에는 사무실 응용 프로그램 환경에서의 스크립트 실행이 포함됩니다.

프로그램의 단점은 다른 버전의 호환성과 관련된 문제입니다. 이는 VBA 프로그램 코드가 새 버전의 제품에는 있지만 이전 버전에는 없는 기능에 액세스하기 때문에 발생합니다. 또한 단점은 외부인의 변경에 대한 코드 개방성이 지나치게 높다는 점입니다. 그러나 Microsoft Office와 IBM Lotus Symphony에서는 사용자가 초기 코드를 암호화하고 이를 보기 위한 비밀번호를 설정할 수 있습니다.

개체, 컬렉션, 속성 및 메서드

VBA 환경에서 작업하려는 사람들이 이해해야 할 개념은 다음과 같습니다. 먼저 객체가 무엇인지 이해해야 합니다. Excel에서 이러한 기능은 시트, 통합 문서, 셀 및 범위입니다. 이러한 개체에는 특별한 계층 구조가 있습니다. 서로 순종하십시오.

주요한 것은 Excel 프로그램 자체에 해당하는 응용 프로그램입니다. 그런 다음 통합 문서, 워크시트 및 범위를 선택하세요. 예를 들어 특정 워크시트의 A1 셀에 액세스하려면 계층 구조를 고려한 경로를 지정해야 합니다.

"컬렉션"이라는 개념은 항목에서 ChartObjects 형식을 갖는 동일한 클래스의 개체 그룹입니다. 개별 요소도 객체입니다.

다음 개념은 속성입니다. 그것은 모든 물체의 필수 특성입니다. 예를 들어 범위의 경우 값 또는 공식입니다.

메소드는 수행해야 할 작업을 나타내는 명령입니다. VBA에서 코드를 작성할 때는 마침표로 개체와 구분해야 합니다. 예를 들어 나중에 설명하겠지만 Excel에서 프로그래밍할 때 Cells(1,1).Select 명령이 사용되는 경우가 많습니다. 좌표가 있는 셀을 선택해야 한다는 의미입니다.

Selection.ClearContents는 종종 함께 사용됩니다. 이를 실행한다는 것은 선택한 셀의 내용을 지우는 것을 의미합니다.

시작하는 방법

그런 다음 "Alt"와 "F11" 키 조합을 사용해야 하는 VB 응용 프로그램으로 이동해야 합니다. 다음:

  • 창 상단에 있는 메뉴 표시줄에서 Excel 아이콘 옆에 있는 아이콘을 클릭합니다.
  • Mudule 명령을 선택하십시오.
  • 이미지가 있는 아이콘을 클릭하여 저장하세요.
  • 예를 들어, 그들은 코드 초안을 작성합니다.

다음과 같습니다.

하위 프로그램()

"우리의 코드

"Our code" 줄은 다른 색상(녹색)으로 강조 표시됩니다. 그 이유는 줄 시작 부분에 주석이 뒤에 있음을 나타내는 아포스트로피 때문입니다.

이제 VBA Excel에서 원하는 코드를 작성하고 새로운 도구를 직접 만들 수 있습니다(아래 프로그램 예 참조). 물론, Visual Basic의 기본에 익숙한 분들에게는 훨씬 쉬울 것입니다. 그러나 가지고 있지 않은 사람이라도 원한다면 충분히 빨리 익숙해질 수 있습니다.

Excel의 매크로

이 이름은 Visual Basic for Application으로 작성된 프로그램을 숨깁니다. 따라서 Excel에서 프로그래밍한다는 것은 필요한 코드로 매크로를 만드는 것을 의미합니다. 이 기능 덕분에 Microsoft 스프레드시트 프로세서는 특정 사용자의 요구 사항에 맞게 자체적으로 개발됩니다. 매크로 작성을 위한 모듈을 만드는 방법을 알아낸 후에는 VBA Excel 프로그램의 특정 예를 살펴볼 수 있습니다. 가장 기본적인 코드부터 시작하는 것이 가장 좋습니다.

실시예 1

과제: 한 셀의 내용 값을 복사한 다음 이를 다른 셀에 쓰는 프로그램을 작성하세요.

이렇게 하려면:

  • "보기" 탭을 엽니다.
  • "매크로" 아이콘으로 이동합니다.
  • "매크로 기록"을 클릭하세요.
  • 열리는 양식을 작성하세요.

단순화를 위해 "매크로 이름" 필드에 "Macro1"을 그대로 두고 "키보드 단축키" 필드에 hh 등을 삽입합니다(이는 빠른 명령 "Ctrl+h"를 사용하여 프로그램을 시작할 수 있음을 의미합니다). Enter 키를 누릅니다.

이제 매크로 기록이 이미 시작되었으므로 셀의 내용이 다른 셀에 복사됩니다. 원래 아이콘으로 돌아갑니다. "매크로 기록"을 클릭하세요. 이 조치는 프로그램의 종료를 의미합니다.

  • "매크로" 줄로 돌아갑니다.
  • 목록에서 "매크로 1"을 선택하십시오.
  • "실행"을 클릭합니다("Ctrl+hh" 키 조합을 시작하면 동일한 작업이 시작됩니다).

결과적으로 매크로를 기록하는 동안 수행된 작업이 발생합니다.

코드가 어떻게 보이는지 보는 것이 합리적입니다. 이렇게 하려면 "매크로" 줄로 돌아가서 "변경" 또는 "로그인"을 클릭하세요. 결과적으로 그들은 VBA 환경에 있게 됩니다. 실제로 매크로 코드 자체는 Sub Macro1()과 End Sub 줄 사이에 있습니다.

예를 들어 셀 A1에서 셀 C1로 복사가 완료된 경우 코드 줄 중 하나는 Range(“C1”).Select와 같습니다. 번역하면 "Range("C1").Select"처럼 보입니다. 즉, VBA Excel, C1 셀로 이동합니다.

코드의 활성 부분은 ActiveSheet.Paste 명령으로 완성됩니다. 이는 선택한 셀(이 경우 A1)의 내용을 선택한 셀 C1에 쓰는 것을 의미합니다.

실시예 2

VBA 루프를 사용하면 Excel에서 다양한 매크로를 만들 수 있습니다.

VBA 루프를 사용하면 다양한 매크로를 만들 수 있습니다. y=x + x 2 + 3x 3 - cos(x) 함수가 있다고 가정합니다. 그래프를 얻으려면 매크로를 만들어야 합니다. 이는 VBA 루프를 통해서만 수행할 수 있습니다.

함수 인수의 초기값과 최종값은 x1=0, x2=10으로 취합니다. 또한 상수(인수 변경 단계의 값과 카운터의 초기 값)를 입력해야 합니다.

모든 VBA Excel 매크로 예제는 위에 제시된 것과 동일한 절차를 사용하여 생성됩니다. 이 특별한 경우 코드는 다음과 같습니다.

하위 프로그램()

단계 = 0.1

하는 동안 x1< x2 (цикл будет выполняться пока верно выражение x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Cells(i, 1).Value = x1(값 x1은 좌표가 (i,1)인 셀에 기록됩니다.)

Cells(i, 2).Value = y (y 값은 좌표 (i,2)가 있는 셀에 기록됩니다.)

i = i + 1(카운터가 유효함);

x1 = x1 + shag (인수는 단계 값에 따라 변경됩니다);

하위 종료

Excel에서 이 매크로를 실행하면 두 개의 열이 생성됩니다. 첫 번째 열에는 x 값이 포함되고 두 번째 열에는 y 값이 포함됩니다.

그런 다음 Excel의 표준 방식으로 그래프가 작성됩니다.

실시예 3

다른 버전과 마찬가지로 VBA Excel 2010에서 루프를 구현하려면 이미 제공된 Do While 구성과 함께 For가 사용됩니다.

기둥을 생성하는 프로그램을 고려하십시오. 각 셀에 해당 행 번호의 제곱이 기록됩니다. For 구문을 사용하면 카운터를 사용하지 않고도 매우 간단하게 작성할 수 있습니다.

먼저 위에서 설명한 대로 매크로를 만들어야 합니다. 다음으로 코드 자체를 적어보겠습니다. 우리는 10개 셀의 값에 관심이 있다고 가정합니다. 코드는 다음과 같습니다.

i = 1 ~ 10의 경우 다음

이 명령은 "1부터 10까지 한 단계씩 반복"으로 "인간"의 언어로 번역됩니다.

예를 들어 1부터 11까지의 범위에 있는 모든 홀수로 구성된 사각형 열을 얻는 것이 작업이라면 다음과 같이 작성합니다.

i = 1 ~ 10인 경우 1단계 다음입니다.

여기서 단계는 단계입니다. 이 경우에는 2와 같습니다. 기본적으로 사이클에 이 단어가 없으면 단계가 단일임을 의미합니다.

얻은 결과는 번호가 매겨진 셀(i,1)에 저장되어야 합니다. 그런 다음 루프가 시작될 때마다 i가 단계 크기만큼 증가하면서 행 번호가 자동으로 증가합니다. 이렇게 하면 코드가 최적화됩니다.

전반적으로 코드는 다음과 같습니다.

하위 프로그램()

For i = 1 To 10 1단계(간단히 For i = 1 To 10이라고 쓸 수 있음)

Cells(i, 1).Value = i ^ 2(즉, 정사각형 i의 값이 셀 (i,1)에 기록됩니다.

다음(어떤 의미에서는 카운터 역할을 하며 루프의 또 다른 시작을 의미함)

하위 종료

매크로 기록 및 실행(위 지침 참조)을 포함하여 모든 것이 올바르게 수행되면 이를 호출할 때마다 지정된 크기의 열(이 경우 10개 셀로 구성)을 얻게 됩니다.

실시예 4

일상 생활에서는 어떤 조건에 따라 하나 또는 다른 결정을 내려야 할 필요성이 종종 발생합니다. VBA Excel에서는 그것들 없이는 할 수 없습니다. 처음에 미리 결정된 것이 아니라 알고리즘의 추가 실행 과정이 선택되는 프로그램의 예에서는 If ...Then 구성(복잡한 경우) If ...Then ...END If를 사용하는 경우가 가장 많습니다.

구체적인 경우를 고려해 봅시다. 좌표 (1,1)이 있는 셀에 다음 내용이 기록되도록 Excel용 매크로를 만들어야 한다고 가정합니다.

인수가 긍정적이면 1이고, 그렇지 않으면 1입니다.

인수가 null이면 0이고, 그렇지 않으면 0입니다.

인수가 음수이면 -1입니다.

Excel용 매크로 생성은 Alt 및 F11 단축키를 사용하여 표준 방식으로 시작됩니다. 다음으로 다음 코드가 작성됩니다.

하위 프로그램()

x= Cells(1, 1).Value(이 명령은 좌표 (1, 1)에 있는 셀 내용의 값을 x에 할당합니다.)

x>0이면 Cells(1, 1).Value = 1

x=0이면 Cells(1, 1).Value = 0

만약 x<0 Then Cells(1, 1).Value = -1

하위 종료

남은 것은 매크로를 실행하고 Excel에서 인수에 필요한 값을 얻는 것입니다.

VBA 함수

이미 알고 계시겠지만 Microsoft의 가장 유명한 스프레드시트 프로세서에서 프로그래밍하는 것은 그리 어렵지 않습니다. 특히 VBA 기능을 사용하는 방법을 배우는 경우. 전체적으로 Excel 및 Word에서 응용 프로그램을 작성하기 위해 특별히 만들어진 이 프로그래밍 언어에는 약 160개의 기능이 있습니다. 그들은 여러 개의 큰 그룹으로 나눌 수 있습니다. 이것:

  • 수학 함수. 이를 인수에 적용하면 코사인, 자연 로그, 정수 부분 등의 값을 얻습니다.
  • 재무 기능. 가용성과 Excel 프로그래밍 덕분에 회계 및 재무 계산을 위한 효과적인 도구를 얻을 수 있습니다.
  • 배열 처리 기능. 여기에는 Array, IsArray가 포함됩니다. L바운드; U바운드.
  • 문자열에 대한 Excel VBA 함수입니다. 이것은 상당히 큰 그룹입니다. 예를 들어, 여기에는 정수 인수와 동일한 공백 수로 문자열을 생성하는 Space 함수 또는 문자를 ANSI 코드로 변환하는 Asc 함수가 포함됩니다. 이들 모두는 널리 사용되며 Excel에서 행 작업을 허용하여 이러한 테이블 작업을 크게 촉진하는 응용 프로그램을 만듭니다.
  • 데이터 유형 변환 함수. 예를 들어 CVar는 Expression 인수의 값을 Variant 데이터 유형으로 변환하여 반환합니다.
  • 날짜 작업을 위한 함수. 따라서 WeekdayName 함수는 요일의 이름(전체 또는 부분)을 숫자로 반환합니다. 더욱 유용한 것은 타이머입니다. 자정부터 하루 중 특정 지점까지 경과한 시간(초)을 제공합니다.
  • 숫자 인수를 다른 숫자 체계로 변환하는 함수입니다. 예를 들어 Oct는 숫자를 8진수로 출력합니다.
  • 서식 지정 기능. 그 중 가장 중요한 것은 형식입니다. 형식 선언에 지정된 지침에 따라 형식이 지정된 표현식을 사용하여 Variant 값을 반환합니다.
  • 등.

이러한 기능의 속성과 응용 프로그램을 연구하면 Excel의 범위가 크게 확장됩니다.

실시예 5

더 복잡한 문제를 해결해 보겠습니다. 예를 들어:

기업의 실제 비용 수준을 보고하는 종이 문서가 제공됩니다. 필수의:

  • Excel 스프레드시트 프로세서를 사용하여 템플릿 부분을 개발합니다.
  • 작성을 위해 초기 데이터를 요청하고, 필요한 계산을 수행하고, 해당 템플릿 셀을 채우는 VBA 프로그램을 만듭니다.

솔루션 옵션 중 하나를 고려해 보겠습니다.

템플릿 만들기

모든 작업은 Excel의 표준 시트에서 수행됩니다. 무료 셀은 소비자 회사 이름, 비용 금액, 수준 및 매출액에 대한 데이터를 입력하기 위해 예약되어 있습니다. 보고서가 작성되는 기업(학회)의 수가 고정되어 있지 않기 때문에 결과에 따른 값과 전문가의 이름을 입력하는 셀이 미리 예약되어 있지 않습니다. 워크시트에 새 이름이 지정됩니다. 예를 들어 "보고서"입니다.

변수

템플릿을 자동으로 작성하는 프로그램을 작성하려면 표기법을 선택해야 합니다. 이는 변수에 사용됩니다.

  • NN - 현재 테이블 행의 번호.
  • TP 및 TF - 계획된 거래액과 실제 거래액
  • SF 및 SP - 실제 및 계획된 비용 금액
  • IP 및 IF - 계획된 비용과 실제 비용 수준.

동일한 문자를 사용하지만 "접두사" Itog를 사용하여 이 열의 합계 누적을 표시하겠습니다. 예를 들어 ItogTP는 "계획된 매출액"이라는 제목의 테이블 열을 나타냅니다.

VBA 프로그래밍을 사용하여 문제 해결

도입된 표기법을 사용하여 편차에 대한 공식을 얻습니다. % 단위로 계산해야 하는 경우 (F - P) / P * 100이 되며 합계는 - (F - P)입니다.

이러한 계산 결과는 Excel 스프레드시트의 해당 셀에 직접 입력하는 것이 가장 좋습니다.

실제 및 예측 합계의 경우 ItogP=ItogP + P 및 ItogF=ItogF+ F 공식을 사용하여 구합니다.

편차의 경우 계산이 백분율로 수행되는 경우 = (ItogF - ItogP) / ItogP * 100을 사용하고 총 값의 경우 - (ItogF - ItogP)를 사용합니다.

결과는 해당 셀에 즉시 다시 기록되므로 변수에 할당할 필요가 없습니다.

생성된 프로그램을 실행하기 전에 통합 문서를 "Report1.xls"라는 이름으로 저장해야 합니다.

'보고 테이블 생성' 버튼은 헤더 정보를 입력한 후 한 번만 누르면 됩니다. 당신이 알아야 할 다른 규칙이 있습니다. 특히, 각 활동 유형에 대한 값을 테이블에 입력한 후 매번 “행 추가” 버튼을 클릭해야 합니다. 모든 데이터를 입력한 후 '마침' 버튼을 클릭한 후 엑셀 창으로 전환해야 합니다.

이제 매크로를 사용하여 Excel 문제를 해결하는 방법을 알았습니다. 현재 가장 널리 사용되는 텍스트 편집기인 Word에서 작업하려면 vba excel(위의 프로그램 예 참조)을 사용하는 기능이 필요할 수도 있습니다. 특히 기사의 맨 처음에 표시된 것처럼 글을 쓰거나 코드를 작성하여 메뉴 버튼을 만들 수 있습니다. 덕분에 듀티 키를 누르거나 "보기" 탭을 통해 텍스트에 대한 많은 작업을 수행할 수 있습니다. "매크로" 아이콘.



질문이 있으신가요?

오타 신고

편집자에게 전송될 텍스트: