Excel을 사용하면 워크 시트에 모든 종류의 그래픽 개체를 배치 할 수 있습니다. 한 가지 유형의 그래픽 개체에는 실제로 텍스트 (텍스트 상자)가 포함됩니다.

워크 시트에 텍스트 상자가 꽤 많은 경우 각 텍스트 상자에서 텍스트를 추출하여 워크 시트 자체에 배치하는 방법이 있는지 궁금 할 수 있습니다.

이를 수행 할 명령이 없습니다. 대신 매크로를 사용해야합니다. 다음 매크로는 워크 시트의 각 텍스트 상자를 단계별로 실행하고 원하는 추출을 수행합니다.

Sub ExtractText()

Dim shp As Shape     Dim sLoc As String

For Each shp In ActiveSheet.Shapes         With shp             If Left(.Name, 8) = "Text Box" Then                 sLoc = .TopLeftCell.Address                 Do Until Range(sLoc) = ""

sLoc = Range(sLoc).Offset(1, 0).Address                 Loop                 Range(sLoc) =.TextFrame.Characters.Text                 .Delete             End If         End With     Next End Sub

Excel은 모든 그래픽 셰이프를 Shapes 컬렉션에 저장하므로 컬렉션을 단계별로 살펴보고 작업 할 셰이프를 결정할 수 있습니다. 이 경우 셰이프 이름의 처음 8자가 확인됩니다. 이름이 “텍스트 상자”로 시작하는 경우에만 매크로는 모양을 텍스트를 추출 할 수있는 텍스트 상자로 간주합니다.

이름에서 “텍스트 상자”라는 단어를 확인하는 대신 매크로는 고려중인 모양 유형을 확인할 수도 있습니다. 이렇게하려면 테스트 줄 (If Left …​)을 다음 테스트 줄로 바꾸면됩니다.

If shp.Type = msoTextBox Then

sLoc 변수는 .TopLeftCell 속성에 포함 된 텍스트 상자의 위치를 ​​저장하는 데 사용됩니다. 그런 다음 Do 루프를 사용하여 주소가 가리키는 셀이 비어 있는지 확인합니다. (이렇게하면 셀의 기존 내용을 덮어 쓰는 것을 방지 할 수 있습니다.) 비어 있지 않으면 주소가 열의 다음 셀로 “증가”됩니다.

빈 셀의 주소가 결정되면 텍스트 상자의 텍스트가 셀에 저장됩니다. 그런 다음 .Delete 메서드를 사용하여 실제 텍스트 상자를 제거합니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (2388)은 Microsoft Excel 97, 2000, 2002 및 2003에 적용됩니다. 여기에서 Excel (Excel 2007 이상)의 리본 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excelribbon-Placing_Textbox_Text_Into_a_Worksheet [워크 시트에 텍스트 상자 텍스트 배치].