해야할일 1. 엑셀서식을 숫자로 2. 음수는 - 빨간색으로 3. -(하이픈) 인경우는 0으로 4.#NA 에러표시는 0으로 5. 4열부터 +50열까지만 변경(전체행하기엔 속도가 느려짐) 6.랜덤하게 셀을 선택해도 변경가능
완성 Sub a숫자형식변경a() Dim selectedRows As Range Dim row As Range Dim selectedRowNumbers As String
' Check if any rows are selected On Error Resume Next Set selectedRows = Selection.Rows On Error GoTo 0
If selectedRows Is Nothing Then MsgBox "No rows selected." Exit Sub End If
' Loop through each selected row and build the string of row numbers For Each row In selectedRows iRow = row.row icol = 4 Set rng = Range(Cells(iRow, icol), Cells(iRow, icol + 50)) For Each cell In rng If IsError(cell.Value) Then '#NA를 0으로 If cell.Value = CVErr(xlErrNA) Then cell.Value = 0 End If ElseIf cell.Value = "-" Then '-하이픈을 0으로 cell.Value = 0 End If Next cell
With rng .NumberFormat = "#,##0_);[Red](#,##0)" '형식지정 .HorizontalAlignment = xlCenter .Value = .Value ' This line re-evaluates the cell values to apply the formatting End With
C:\Users\nigaw\AppData\Roaming\Microsoft\Excel\XLSTART 그럼 해당위치에 PERSONLA.XLSB 가 만들어짐
해당 파일에서 매크로 만들면 됨
*PERSONLA.XLSB 위치확인 ① 보기 - ② 직접 실행 창 (단축키 Ctrl + G) 를 클릭합니다. 기본적으로 ③ 직접 실행 창 이 표시되어 있는 경우도 있으니 그럴 경우엔 바로 아래 이미지로 내려가시면 됩니다. Print Application.StartupPath
#2.g16_rngData_170 데이터 행 삭제
content = self.text.get(1.0, END)
lines = content.split("\n")
new_content = ""
for line in lines:
if find_str[i] not in line:
new_content += line + "\n"
self.text.delete(1.0, END)
self.text.insert(END, new_content)
추가기능으로 특정문자가 포함된 행 을 추가하기
elif find_str[i] == '0': #행추가
content = self.text.get(1.0, END)
lines = content.split("\n")
target_character_rngData = "Set "+replace_str[0]+"_chtChart"
insert_character_rngData = ' Set {}_rngData_{} = Range(Cells({}, 3), Cells({}, 4 + (find_blank_cell - 1)))'.format(replace_str[0],replace_str[i],replace_str[i],replace_str[i])
new_content = ""
for line in lines:
if target_character_rngData in line:
new_content += insert_character_rngData + "\n"
new_content += line + "\n"
self.text.delete(1.0, END)
self.text.insert(END, new_content)