excel2003で質問なのですが、シートのセルをドラッグして選択した位置にその大きさのテキストボックスを貼り付けるマクロを作りたいのですが、探したのですが、探しきれません。

参照でもいいので教えてください

回答の条件
  • 1人2回まで
  • 13歳以上
  • 登録:2010/05/19 00:40:55
  • 終了:2010/05/19 06:32:54

ベストアンサー

id:koriki-kozou No.1

koriki-kozou回答回数480ベストアンサー獲得回数792010/05/19 01:52:28

ポイント100pt

セルの幅と高さは取得できるから、それを基準に簡単なものを作ってみた

・罫線の幅の問題があるので位置と大きさについては微調整が必要かもしれない

・縦書きテキストボックスならば msoTextOrientationVerticalFarEast に変えればいい

・Selection.Characters.Text 以降の行は本題とはあまり関係ないけどマクロ記録のときに出来るものなのでそのままにしてある

Sub Macro1()
    Dim x, y As Long: '基点座標
    Dim w, h As Long: '幅と高さ
    
    If Selection.Column = 1 Then
        x = 0
    Else
        x = Range(Cells(1, 1), Cells(1, Selection.Column - 1)).Width
    End If
    If Selection.Row = 1 Then
        y = 0
    Else
        y = Range(Cells(1, 1), Cells(Selection.Row - 1, 1)).Height
    End If
    w = Selection.Width
    h = Selection.Height

    ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, x, y, w, h).Select

    Selection.Characters.Text = "aaaa"
    With Selection.Font
        .Name = "MS Pゴシック"
        .FontStyle = "標準"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
    End With
End Sub
id:shotomo

完璧です。本当にありがとうございました。

2010/05/19 06:32:33

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません