조회 수 1318 추천 수 0 댓글 6

매크로 문제를 푸는데

매크로 기록, 매크로 저장까지는 모두 잘 되는데

도형(단추)을 삽입하여 그 도형으로 매크로를 연결하여 실행시키면

항상 "컴파일 오류입니다. 구문 오류입니다." 라고 떠요 ㅠㅠ

 

분명히 수식에는 문제가 없고 하란대로 똑같이 했는데도 그러는데 ㅜ

그리고 옵션에서 보안설정도 모두 매크로 사용가능하도록 변경한 상태거든요 ...

 

<문제>

[F7:F39] 영역에 대하여 사용자 지정 표시 형식을 설정하는 ‘서식적용’ 매크로를 생성하시오.

▶ 양수일 때 파랑색으로 기호 없이 소수점 이하 첫째 자리까지 표시, 음수일 때 빨강색으로 기호 없이

소수점 이하 첫째 자리까지 표시, 0일 때 검정색으로 “●” 기호만 표시

▶ [개발 도구]-[삽입]-[양식 컨트롤]의 ‘단추’를 동일 시트의 [B2:C3] 영역에 생성한 후 텍스트를

‘서식적용’으로 입력하고, 단추를 클릭하면 ‘서식적용’ 매크로가 실행되도록 설정하시오.

 

 

 

이 문제를 풀었는데 모두 적용 후 단추를 누르면(실행시키면)

컴파일 오류입니다. 구문 오류입니다 라고 뜨고

vba 에서 아래와 같이 나와요... 뭘 수정해야 할지도 모르겠네요 ㅠㅠ

유튜브 보면서 독학중이고 아예 처음 공부하는거라 진짜 기초부터 배우고 있어요 ....

제가 기본적인 것도 모르고 질문하는거면 다 얘기해주셔도 돼요~~ㅜㅜ

 

 

 

Sub 서식적용()

'

' 서식적용 매크로

'

 

'

    Range("F7").Select

    Range("F7:F39").Select

    . = "[파랑]0.0;[빨강]0.0;"●""

    Range("G7").Select

End Sub

 

 

 


  • ?
    좋은아빠되기 2021.08.13 07:03

    문제가 되는 부분은

    . = "[파랑]0.0;[빨강]0.0;"●"" <------ 이녀석

    위 부분 같은데요. 책에서 지면 관계상 한줄에 적기 힘들때 저렇게 두줄로 나누어 적을때 책에서

    위와 같은 표현을 사용합니다.

    그걸 한줄로 적는게 오류를 줄이는 길입니다.

    그러니깐.

    Range("F7:F39").Select = "[파랑]0.0;[빨강]0.0;"●""

    기본적으로는 이게 맞는거구요...

    근데 여기도 틀린게

    "●"" 이것도 ""●""" 이렇게 해야 맞습니다.

    필요한 셀서식 자체가


    [파랑]0.0;[빨강]0.0;"●" 딱 이녀석인데


    이녀석 앞 뒤로 "(쌍따옴표)를 붙이면 안쪽에 있는 상따옴표가 기능이 애매해 집니다.

    ="[파랑]0.0;[빨강]0.0;"●"" 그러니깐 이렇게 적으면 점 앞 뒤의 쌍따옴표가

    출력을 위한 서식의 것인지 문자열을 감싸기 위한 용도인지 애매해 집니다.

    쉽게 정리하면 실제 쌍따옴표를 사용하고 싶다면

    연속으로 쌍따옴표 2개를 사용하는게 맞습니다.


    그래서

    ="[파랑]0.0;[빨강]0.0;""●""" 이게 정확한 표현이 됩니다.

    그리고 셀 서식 지정을 위해서는

    Range("F7:F39").Select
    Selection.NumberFormatLocal = "[파랑]0.0;[빨강]0.0;""●"""

    이게 맞는표현 같습니다.

     

    아니면

     

    Range("F7:F39").NumberFormatLocal = "[파랑]0.0;[빨강]0.0;""●"""

     

    이렇게 바로 한줄로 작성을 하셔도 되구요.

     

     

     


    Range("F7:F39").Select = "[파랑]0.0;[빨강]0.0;"●""

    위 표현에서

    Range("F7:F39").Select 이렇게 사용하셨는데요 이건 셀을 선택하란 것이고

    어떤 값(서식)등을 넣을수가 없습니다.

     

    .Select 이녀석은 영어 그대로

    단지 선택하라는 명령일 뿐입니다.

    만약에 책에서 제시한 정답을 입력한 것이라면

    책 사진찍어서 올려봐 주시면

    다시한번 검토해 보도록 하겠습니다.

     

    ps : 자동 매크로 기록 기능을 이용하신뒤

     

    위와 같이 생성된거라면 저랑 엑셀 버전이 달라서 조금 다른 표현이 사용되었을수도 있습니다.

     

    어찌되었든 작동에 문제가 있는것은 사실입니다.(제가 아는 범위내에서는 저렇게 기록될수가 없는것 같은데요. ㅎㅎ)

     

    도형 연결시에만 그런것이라면

     

    도형연결없이

     

    바로 매크로 실행해보시고 테스트 해보시는것도 방법입니다.

  • ?
    산장이 2021.08.13 11:10

    친절하고 자세한 답변 정말 감사합니다ㅜㅜ 알려주신 대로 넣으니까 실행돼요! 그리고 따옴표를 두개씩 넣는것도
    왜 그런지 진짜 궁금했는데 알게되서 넘 후련해요ㅎㅎㅎ

    그리고
    마지막 말씀주신대로 저는 자동매크로 기능을 사용했는데 왜 저렇게 나오는걸까요...?

    도형 연결시에만 그런건 아니고 매크로만 실행해도 오류가 나요ㅜ 
    엑셀 버전이 달라서 그런거라면 저는 컴활1급 시험에서 요구하는 2016버전 사용중인데도 그렇거든요..
    자동 매크로 기능이 적용이 안되면 매번 저렇게 수식을 다시 입력해주어야 하는지..
    아니면 다른 버전을 사용해서 연습해야 할까요 ?!

    만약 시험장에서도 자동매크로 기능을 사용해서 정상 적용했는데
    이렇게 오류가 날 가능성이 있을까요 ..? 그리고 만약 그렇다면 정상 적용만 했으면
    오류로 실행이 안나도 점수 획득에 문제가 없는건지가 추가로 궁금합니다.!

    감사합니다 :)

  • ?
    좋은아빠되기 2021.08.13 12:39

    우선 질문에 답변 드리겠습니다.

    자동 매크로 기능을 사용해서 오류가 생기는건 아닙니다.
    제가 작성해서 올려 드린것도 자동 매크로 기능을 이용해서 만든코드를 올려 드린겁니다.

    다만 제가 엑셀 2007 버전을 사용중이라서.. ㅎㅎㅎ

    엑셀 2016에서 어떻게 나오는지 단정 드리기는 어렵지만.
    (검색을 해봐도 첨부하신 코드처럼 사용하는 예제는 못봤 습니다.)
    (제가 아는 범위 내에서 엑셀 버전 관계없이 위 코드는 많은 문제점을 가지고 있습니다.)

    말씀 하신것처럼 2016에서... 나는 정상적으로 똑바로 매크로 기록을 했다..

    그런데 안된다고 하시면.. 그건 엑셀 프로그램 자체 문제와 봐야 할것입니다.

    엑셀도 윈도우 처럼 처음 발표시에 오류가 포함되어 있을수 있으므로 매번 업데이트를 제공하므로

    최신 업데이트를 받아보시는것도 한 방법입니다.

    그래도 증상 개선이 안되면

    다른 컴퓨터에서 한번 연습해보시길 추천 드립니다.

    그리고 시험장에서 위와같이 했는데 작동을 안한다...

    정말로 나는 똑바로 했다....

    그럼 모든 사람들이 아마도 다 똑같은 현상을 경험할껍니다.

    그럼 시험이 중단되거나 할껍니다.

    시험장 컴퓨터에 설치된 버전은 보통 모두 같은 업데이트 버전을 사용하기 때문에

    나만 저렇게 되는 경우는 극히 드뭅니다...



    좀 이상한 답변이 될수도 있지만..

    글쓰신분이 작업하시는 내용을 하나 하나를 지켜보지 않은 이상

    잘못 작업하실수도 있다는 추측을 완전히 배제하기 어려워

    답변이 조금 그러네요.


    아무튼 일단은 본 매크로 문제에 집중하지 마시고

    진도 더 나가시면서 다른 유사한 매크로 문제 푸시다 보면

    오늘 풀었던 문제가 왜 잘못되었는지 본인 스스로 아실수도 있게 될껍니다.


    추가적으로 엑셀 4번문제가 프로시저(VBA)문제인데

    위 내용을 좀더 상세하게 전문적으로 이해하셔야 문제 풀기가 가능한

    매크로 확장 문제라고 보셔도 됩니다.

    그부분 학습하시다 보면 자연스럽게 해결될수도 있지 싶네요.

    더하기가 힘들하는 2학년에게 곱셈을 가르치면 더하기는 쉬워지는거와 비슷한 개념입니다.

    아무튼 열공 하시고

    좋은 성과 있으시길 기원합니다.

  • ?
    좋은아빠되기 2021.08.13 12:43
    단답형 답변도 추가합니다.

    1. 다른버전 연습 필요없이 그냥 현재 버전 이용하시고
    확인이 필요하시면 다른 컴퓨터에서 동일한 문제 풀어 보시기 바랍니다.

    2. 정상적용시 오류가 나지는 않을껍니다. 오류가 난다는것 자체가 정상이라고 보기는 어려우니깐요

    3. 시험 결과 제출하면 그 결화 확인은 채점관 컴퓨터에서 작동합니다.
    이때 채점관 컴퓨터의 엑셀 기준으로 프로그램이 돌아가는거니깐 점수 획득에는
    문제가 없을수도 있습니다. 물론 채점관 엑셀 버전은 2016일겁니다.
    코드만 정확하게 생성되었다면 문제는 없지만
    엑셀 자체에 오류가 있었다면 코드 생성이 정상적으로 되었다고 단정하기는 힘듭니다.

    오류를 오류로 인정하고 모두 다 안되라고 하는게 정상인데....

    오류가 나도 어떻게 점수 처리가 안 되겠느냐 물으시니

    최대한 가깝게 설명 드리기는 했지만 제가 봐도 좀 이상하네요
  • ?
    산장이 2021.08.13 14:27
    네 사실 저도

    아무튼 일단은 본 매크로 문제에 집중하지 마시고
    진도 더 나가시면서 다른 유사한 매크로 문제 푸시다 보면
    오늘 풀었던 문제가 왜 잘못되었는지 본인 스스로 아실수도 있게 될껍니다.

    <- 이 말씀에 동의해요 ㅜㅜ 제가 아직 잘 알지도 못하는데 질문을 드려서
    답변 주시기도 애매하셨을거에요 ㅠㅠ 감사합니다

    제가 의아했던 건 매크로 기록을 누르고 셀서식 적용을 정상적으로 마친 후에
    매크로 기록정지를 누르고 매크로를 만들었는데도 코드는 Selection.NumberFormatLocal이
    기록되지 않고 단순히 select만 기록되었다는게 의문이라 .. 그 원인이 엑셀 버전 때문인지
    궁금했어요 ..! 그렇다면 제가 잘못한게 아니라 프로그램이나 pc 때문일거니까요..!

    그치만 그건 다른 pc에서 실험해보지 않는 이상 알 수 없는 부분이니
    제가 그럴 기회를 만들어서 다양한 시도를 해봐야 할 것 같아요!

    주신 답변 덕분에 공부할 의지가 팍팍 샘솟아요 ㅎㅎ
    좋은 사이트에서 좋은 정보 얻어가서 필기 합격했는데 실기까지 도움을 받네요

    감사합니다 :)
  • ?
    좋은아빠되기 2021.08.13 18:43

    넵, ㅎㅎ

    말씀 하신것 처럼 우선은 진도 부터 나가보시면서
    본 문제는 조금 천천히 해보시는것도 방법입니다.

     

    그리고 질문은 몰라서 하는겁니다. 알면 질문 안하죠 ㅎㅎ

     

    편안하게 질문하셔도 됩니다.

     

    다만 질문전에 한번더 생각해보시고 혼자 힘으로 안되겠다는 확신이 서시면

     

    그때 질문 부탁 드립니다.

    열공 하셔서 좋은 성과 있으시길 기원합니다.

     

    화이팅!!!


List of Articles
번호 제목 글쓴이 날짜 조회 수
공지 게시판 잠시 닫아 두겠습니다. 좋은아빠되기 2022.01.05 802
공지 컴활 1급 독학으로 따는 방법 좋은아빠되기 2021.06.25 6149
공지 컴활 2급 독학으로 따는 방법 2 좋은아빠되기 2021.06.25 7939
공지 컴활 질문과 답변 게시판 이용법 안내(무료 수험서 나눔 이벤트 신청용 포인트 지급) 좋은아빠되기 2021.04.20 1136
60 컴활 1급 필기 2009년10월18일 기출문제 33번 질문합니다 file 고삼 2021.12.06 584
59 컴퓨터 활용능력 1급 자격증 질문 DongMin7급 2021.11.29 654
58 컴활 1급 관련 질문입니다 1 hellofuture 2021.11.04 1006
57 컴퓨터활용능력 2급 필기, 2019년 8월 31일 기출문제 38번 차트 질문 2 file 포포포포리 2021.10.19 600
56 [컴활2급] 시험장 컴퓨터에 깔린 엑셀도 함수공식 나오겠죠? 2 file 다임백 2021.10.08 1183
55 컴활1급 타자속도 질문 1 yh7437 2021.10.05 2366
54 컴활 시험관련 문의입니다. 1 여비36 2021.09.29 546
53 2017년 03월 04일 기출문제 해설집 중 3번 문항 1 ANNA안나 2021.09.28 163
52 컴활 필기 1급 20년 7월 4일 기출 24번 2 rlgk78 2021.09.06 507
51 컴활 2급 13년 10월 기출문제 1 file 컴뽀링 2021.09.04 503
50 컴활 실기 기출 1 jyj 2021.08.30 769
49 컴활1급 2018년3월3일 22번 해설에 질문이 있습니다. 1 유쨩 2021.08.20 235
48 컴활 1급 필기 2019년 3월 2일 40번, 2016년 10월 22일 26번 비교 1 바카사ㅏ탕 2021.08.20 157
47 컴활 필기 2016.6.25 26번 3 file 바카사ㅏ탕 2021.08.16 173
46 계산필드 추가에 관한 질문입니다. (1급실기) 4 천서진 2021.08.15 206
45 컴활 1급 필기 2016년 3월 5일 42번 문제 4 file 바카사ㅏ탕 2021.08.14 219
44 2017.3.04 51번 3 file 바카사ㅏ탕 2021.08.13 86
43 2017년 9월 2일 컴활 1급 필기 38번 문제 3 file 바카사ㅏ탕 2021.08.13 214
» 실기 질문(엑셀 매크로 적용 관련) 6 산장이 2021.08.13 1318
Board Pagination Prev 1 2 3 4 Next
/ 4