ppt - 엑셀 표(테이블) 복사할때 띄어쓰기(공백) 문제
엑셀표를 파워포인트에 붙일 때 공백없애기
아래와 같이 회계 형식으로 되어 있는, 엑셀의 표를 파워포인트에 붙일 때는, 항상 멈칫하게 된다.

왜냐….. 원치 않는 공백들이 생겨날 것을 알고 있기 때문이다. 상당히 귀찮은 녀석이다.

해결책은 간단하다. 표 안에서 셀을 전체 선택(ctrl+a)한 다음, 바꾸기(ctrl+h)로 공백(스페이스바 한번) 하나를 넣어 모두 바꾸기 해주면 된다.


이 정도로 끝나는 문제라면 글을 남기지 않았으리라….
경험많고 눈치가 빠른 사람이라면, 순간 알아냈겠지만, 여전히 알 수 없는 공백 문자가 남아서 숨어있다. 저 공백은, 왜 생기는지 잘 모르겠는데, 단순히 공백(" “)도 아니라서, 바꾸기도 안된다.

물론 해당 공백 자체를 복사해서 바꾸기를 한번 더 해 주는 방법도 있다.
하지만, 보다 스마트한 업무 처리를 하는 것처럼 보이기 위해, 아래와 같은 코드를 만들어 보았다.
정말… 별건 없고, 띄어쓰기와, 위에 남아있는 이상한 띄어쓰기, 줄바꿈이 들어가 있으면 순차적으로 없애는(바꿔준.. replace) 코드이다.
즉, 그냥… 문제가 되는 문자열에 대하여, 바꾸기를 한번씩 해준 것이다.
Sub delBlank()
Dim shp As Shape
Dim i As Long
Dim j As Long
If ActiveWindow.Selection.Type = ppSelectionShapes Then
For Each shps In ActiveWindow.Selection.ShapeRange
Set shp = shps
Exit For
Next shps
Else
MsgBox "There is no table!", vbExclamation
GoTo DD:
End If
If shp.HasTable Then
For i = 1 To shp.Table.Rows.Count
For j = 1 To shp.Table.Columns.Count
With shp.Table.Rows.Item(i).Cells(j).Shape.TextFrame.TextRange
If IsNumeric(.Text) Then
.Text = Replace(shp.Table.Rows.Item(i).Cells(j).Shape.TextFrame.TextRange.Text, " ", "")
.Text = Replace(shp.Table.Rows.Item(i).Cells(j).Shape.TextFrame.TextRange.Text, " ", "")
.Text = Replace(shp.Table.Rows.Item(i).Cells(j).Shape.TextFrame.TextRange.Text, vbCr, "")
End If
End With
Next j
Next i
End If
DD:
End Sub
IsNumeric method로 숫자 여부를 확인하여, 숫자에만 적용하는 방식으로 수정하였다.
끝.