2013-08-07 1 views
1

vba를 사용하여 추가 할 수 있고 특정 범위 (예 : A2:H8)에 앉을 수 있어야합니다. 그게 가능하니?Excel에서 특정 범위를 채우는 텍스트 상자는 어떻게 만듭니 까?

셀 집합을 병합하고 텍스트 상자를 만들 수 있다는 것을 알고 있지만 사용자가 원하는 경우 이동하기가 더 쉬워지기를 바랍니다.

지금 당장은 제네릭 추가 기능을 사용하고 있으며 내가 원하는 영역에서이 기능을 사용하려고합니다. 그러나 사용자 입력으로 인해 전체 페이지가 변경 될 수 있으므로 사용자가 수행하는 작업에 따라 다른 위치에 있어야합니다. 특정 범위에 묶어 놓으면 사용자가 무엇을하더라도 항상 완벽한 장소에있을 수 있습니다.

Sub Macro1() 

    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 153.75, 88.5, 509.25, 272.25).Select 

    Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = "hello hello hello" & Chr(13) & "" & Chr(13) & "hello" & Chr(13) & "hi" & Chr(13) & "" & Chr(13) & "hello" 

    Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 18).ParagraphFormat.FirstLineIndent = 0 
    With Selection.ShapeRange(1).TextFrame2.TextRange.Characters(1, 18).Font 
     .NameComplexScript = "+mn-cs" 
     .NameFarEast = "+mn-ea" 
     .Fill.Visible = msoTrue 
     .Fill.ForeColor.ObjectThemeColor = msoThemeColorDark1 
     .Fill.ForeColor.TintAndShade = 0 
     .Fill.ForeColor.Brightness = 0 
     .Fill.Transparency = 0 
     .Fill.Solid 
     .Size = 11 
     .Name = "+mn-lt" 
    End With 
    Selection.ShapeRange(1).TextFrame2.TextRange.Characters(19, 1).ParagraphFormat.FirstLineIndent = 0 
End Sub 
+0

내가 설명에 그것을 놓을 게요! – TheTreeMan

+5

http://stackoverflow.com/questions/66934/how-do-you-place-a-textbox-object-over-a-specific-cell-when-automating-excel –

답변

1

이 고려 :

여기에 내 현재 작은 코드의

Sub CoverRange() 
    Dim r As Range 
    Dim L As Long, T As Long, W As Long, H As Long 
    Set r = Range("A2:H8") 
    L = r.Left 
    T = r.Top 
    W = r.Width 
    H = r.Height 
    With ActiveSheet.Shapes 
     .AddTextbox(msoTextOrientationHorizontal, L, T, W, H).Select 
    End With 
End Sub 
관련 문제