컴퓨터활용능력 1급(실기)/엑셀

[엑셀] 문제4. 기타작업(35점)

초록초록해 2025. 3. 6. 11:16
차트 수정

 

(23_01) 2014년 계열은 표시되지 않도록 하시오 vs 2014년 계열은 표시되지 않도록 데이터범위를 변경하시오

(23_01) 가로 축 레이블의 축과의 간격을 300으로 설정하시오

 

(23_02) 가로축 교차값을 60으로 짖어하고 값을 거꾸로 나타내시오

- 가로축 교차값이란 가로축과 세로축이 만나는 부분으로, 이를 변경하기 위해서는 y축을 건드려야 한다. 

 

(24_02) 데이터 레이블 쉐이프 변경


 

 

(24_01) 항목(X축) 이름을 성명필드의 범위로 정하시오

(24_01)  데이터 선택 > 가로(항목) 축 레이블 > 편집 > 축레이블 범위: B2:B8

(24_01)   그럼 가로축 1 2 3 4 5 6 이 사람 이름으로 바뀐다.

 

(24_01) 추세선 이름을 수정하시오

(24_01)   추세선 서식 > 추세선 이름 > 사용자 지정

 

(24_03) 그래프 수정

왼쪽이 전, 오른쪽이 후

(24_03)  항목(X축)의 표시형식을 아래 예시처럼 표현하시오 (예) 01월 01일 > Jan-01

(24_03)  우클릭 > 축 서식 > 축옵션 > 표시형식 > 서식코드

(답) mmm-dd

 

(24_03)  값축(X)과 보조축(Y)의 표시형식과 표시단위를 지정하고 가로축(X)의 기본추세로 눈금선을 표시하시오

(24_03)   Y축 표시형식: 300,000이 300 (천) 이렇게 표시됨. 우클릭 > 축 서식 > 축옵션 > 표시단위 : 천

(24_03)   X축 표시형식:눈금과 숫자에 콤마가 생김. 우클릭 > 축서식 > 축옵션 > 눈금 > 보조눈금, 표시형식 > 1000단위 구분 기호

 

 

 

매크로



(24_02) 100의 경우 0천원처럼 표시하시오.

(답) ##0,"천원"

 

(24_01) 값이 8 이상이면 ★와 수치를 표시하되 아래 예시처럼 셀 너비에 맞춰 ★이 반복 표시될 것. 

(답) [>=8]★*#

 

(24_01) 수치를 천단위에서 절삭한 뒤 천 단위마다 ,로 구분하며 소수점 이하 둘째자리까지 표시

(답) #,##0.00,

 

(24_03) 백분율 형식으로 소수 1자리까지 표현하면서 셀의 너비에 맞춰 ▣이 반복 표시될 것

(답) *▣0.0%

 

 

비주얼 베이직

 

(23_01) 폼이 초기화되면 cmb구분 목록에는 K5:K7 값이 표시되고, 어린이가 초기값으로 선택되도록 프로시저를 작성하시오

 

'어린이'는 단추가 아니므로 직접 끌어와야 한다.

 

Cmb구분.RowSource = "K5:K7" 까지 하면 저렇게 목록이 뜨는데, 저 값 중 첫 값인 '어린이'가 초기값으로 설정되어야 한다. 

Cmb구분.Listindex = 0 < 첫 값의 경우 listindex 값은 0이다. 마찬가지로 두 번째 값은 listindex 값이 1이다. 

 

※ 폰트 관련 변경
Range("범위").FONT.NAME = "궁서체"
Range("범위").FONT.SIZE = "14"
Range("범위").FONT.BOLD = TRUE(FALSE)
Range("범위").FONT.ITALIC = TRUE

 

(24_01) 폼이 초기화되면 Cmb일자에는 오늘을 기준으로 1일씩 적은 날짜 5개가 최근 일자 순서대로 목록으로 나오도록 프로시저를 작성하시오. txt생산단가, txt생산량, txt불량품수, txt재고량, txt총보유량을 비활성화 시키시오. 

Private Sub UserForm_Initialize()
Cmb제품명.RowSource = "C5:C12"
Cmb제품명.ListIndex = 0

Cmb일자.AddItem Date
Cmb일자.AddItem Date - 1
Cmb일자.AddItem Date - 2
Cmb일자.AddItem Date - 3
Cmb일자.AddItem Date - 4

Txt생산단가.Enabled = False
Txt생산량.Enabled = False
Txt불량품수.Enabled = False
Txt재고량.Enabled = False
Txt총보유량.Enabled = False

End Sub

 

(24_01) 닫기 버튼을 클릭하면 아래와 같은 메시지 상자를 표시하고 예를 클릭하면 <제품보유현황> 폼이 메모리에서 삭제되도록 하시오. 아래 그림에 표시된 수치는 입력된 레코드 수이며, 아니오가 기본적으로 선택되도록 하시오.

 

입력행 = range("첫 행").currentregion.rows.count + @

첫 행은 B4 

그런데 데이터는 12행까지 있고, 실제 데이터가 추가되는 행은 5행 부터

하지만 필요없는 행은 2개의 행 (3행, 4행)

그러므로 

Private Sub cmb닫기_Click()

레코드수 = Range("b4").CurrentRegion.Rows.Count - 2

v = MsgBox("총 " & 레코드수 & "행이 입력되었습니다.", vbYesNo + vbDefaultButton2, "제품번호 : " & 레코드수 & "까지 입력완료")

If v = vbYes Then
 Unload Me
End If

End Sub

 

 

 

(24_03) 폼이 초기화되면 Cmb관리대상여부에는 "예", "아니오"가 목록으로 표시되도록 지정하고, "예"가 초기값으로 나오도록 하시오.

 

Private Sub UserForm_Initialize()

 Cmb코드.RowSource = "L8:M13"
 Cmb관리대상여부.AddItem "예" 
 Cmb관리대상여부.AddItem "아니오"
Cmb관리대상여부.ListIndex = 0

End Sub

 

(24_03) 종료버튼을 클릭하면 숙박일정입력 폼이 메모리에서 삭제되고 다음과 같이 출력되도록 하시오. 

▶ L16셀에는 '작성시간 : 오후 3:30:20'의 형태로 현재시간을 출력하시오(TIME)

▶ L17셀에는 '다음점검일자 : 2024-07-10'의 형태로 txt작성일자에 10일을 더한 값을 출력하시오(CDATE)

Private Sub Cmd종료_Click()

Unload Me

Range("L16") = "작성시간 : " & Time
Range("L17") = "다음점검일자 : " & CDate(Txt작성일자) + 10


End Sub

 

 

[24_04] 자료관리 버튼을 클릭하면 가입자관리폼이 나타나고, 폼이 초기화되면 ① 'lst상품명'에는 'J8:K10' 데이터가 목록으로 표시되도록 지정하고, ② 첫번째 항목이 초기값으로 선택되도록 하시오. 또한 폼이 초기화될때 '가입자 구분'에서 '일반 가입자'가 선택되도록 초기값을 설정하시오

 

 

Private Sub UserForm_Initialize()

lst상품명.RowSource = "j8:k10" ①
lst상품명.ListIndex = 0 ②

End Sub

 

로 했는데 왼쪽 사진처럼 나왔다면 

 

어떻게 해야 할까? 즉 표2의 가격이 미처 나오지 못한 것이다. lst상품명의 ColumnCount가 1이므로 첫번째 열밖에 나오지 않은 것이라고 할 수 있다. 

 

그럼 직접 ColumnCount 명령을 내려서 ① 목록의 2번째 열을 불러오면 된다. 

 

 

Private Sub UserForm_Initialize()

lst상품명.RowSource = "j8:k10"
lst상품명.ColumnCount = 2   > 순서가 앞인 이유: ②가 적용이 제대로 안되서 
lst상품명.ListIndex = 0
opt일반 = True
End Sub

 

[24_04] 종료 버튼을 클릭하면 가입자관리 폼이 종료되고 J15:J17에 다음 서식이 적용되게 설계: 글자크기 14, 굵게, 기울임, 글자색 RGB(0,0,200)