エクセルVBA初心者です。
現在、エクセルのVBAにて、セルの選択範囲に合わせて図形挿入一覧にある図形の挿入は、このサイトの皆様のお力添えのおかげで無事にできるようになりました。
その節にご教示いただきました皆様には改めて感謝いたします。
今回の質問は、ほしい図形の形状が一覧にはない場合、図形のカスタマイズや新規登録ができないかをお伺いしたいと思います。
また、私が考えたコードにそれを応用していれるには、どのようにすればよいかを伺いたいと思います。ちなみに私が入れたい図形の形状は、線分で「や」などのかぎ型で角がRで丸まっているもので、図形挿入のコードは下記のとおりです。
Sub 作図()
Dim R As Range
Set R = Selection
With ActiveSheet.Shapes.AddShape(msoShapeHexagon, R.Left, R.Top, R.Width, R.Height)
.Line.ForeColor.RGB = RGB(0, 0, 0) '枠線の色
.Line.Weight = 1 '太さ
.Line.Style = msoLineSingle '線のスタイル
.Line.DashStyle = msoLineSolid '線のタイプ
.Fill.Visible = True'塗りつぶし
.Fill.Transparency = 0 ’透明度
.Fill.ForeColor.RGB = RGB(217, 217, 217) ’塗りつぶし色
With .TextFrame
.HorizontalAlignment = xlHAlignCenter '中央寄せ
.VerticalAlignment = xlVAlignCenter
With .Characters 'テキスト
.Text = InputBox("テキストを入力してください。", "テキストの入力", "TEXT") '文字列
.Font.Size = 14 '文字のサイズ
.Font.Bold = True '太字
.Font.Color = RGB(0, 0, 0) '文字の色
End With
End With
End With
End Sub
No.1
- 回答日時:
こんにちは、
>、ほしい図形の形状が一覧にはない場合、図形のカスタマイズや新規登録ができないかをお伺いしたいと思います。
ほしい図形をExcel上で作成、加工できるのであれば、マクロの自動記録を行い、編集すれば出来るのではないかと思います。
もし、容易に作成できないモノの場合は、画像作成ツール(ソフト)などを使い作成し、
その画像をフォルダなどに入れ保存しておけば、容易に貼り付け、リサイズなどは出来ると思います。
テキストを表示する場合は、テキスト可能なシェイプを重ねてグループ化すれば出来ると思います。
>図形の形状は、線分で「や」などのかぎ型で角がRで丸まっているもので、
どんなものか分からないのですが、、線なのであれば、LineFormatオブジェクトで作成します。
参考になるか分かりませんが、http://officetanaka.net/excel/vba/tips/tips177.htm
No.2ベストアンサー
- 回答日時:
例えば、曲折矢印を使う方法でカギ型を作るのはダメですか?
質問のマクロを応用すると、以下のようになります。
Sub 作図_2()
Dim R As Range
Set R = Selection
' 曲折矢印を新規作成
With ActiveSheet.Shapes.AddShape(msoShapeBentArrow, R.Left, R.Top, R.Width, R.Height)
' 調整値を指定して線分のように表示
.Adjustments.Item(1) = 0
.Adjustments.Item(2) = 0
.Adjustments.Item(3) = 0
.Adjustments.Item(4) = 0.2
.Line.ForeColor.RGB = RGB(0, 0, 0) '枠線の色
.Line.Weight = 1 '太さ
.Line.Style = msoLineSingle '線のスタイル
.Line.DashStyle = msoLineSolid '線のタイプ
.Fill.Visible = False '塗りつぶし
.Fill.Transparency = 0 '透明度
' .Fill.ForeColor.RGB = RGB(217, 217, 217) '塗りつぶし色
With .TextFrame
.HorizontalAlignment = xlHAlignCenter '中央寄せ
.VerticalAlignment = xlVAlignCenter
With .Characters 'テキスト
.Text = InputBox("テキストを入力してください。", "テキストの入力", "TEXT") '文字列
.Font.Size = 14 '文字のサイズ
.Font.Bold = True '太字
.Font.Color = RGB(0, 0, 0) '文字の色
End With
End With
End With
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Excel(エクセル) Excelのマクロについて教えてください。 4 2022/05/31 14:07
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 2 2022/05/26 17:19
- Visual Basic(VBA) VBA初心者です 検索した数字の行に色をつける 5 2023/02/13 14:22
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) エクセルのVBAでダブルクリックでチェックを入れたあと 1 2022/10/26 20:30
- Excel(エクセル) エクセルの値を元に図形の色を変えたい 2 2022/05/11 01:37
- Visual Basic(VBA) 指定文字を太字にするVBAを別シートのセルを指定する構文(改良について) 6 2022/08/27 22:11
- Visual Basic(VBA) ①ExcelVBAでカレンダーを作り、別のユザーフォームで日付を入力したいのですがエラーになります。 1 2023/02/17 18:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AS3.0 読み込んだ外部テキスト...
-
ファイルからテキストエリアへ
-
ダイナミックテキストに読み込...
-
2つのテキストファイルを比べて...
-
【ActionScript】テキストボッ...
-
テキストボックスの中身をリセ...
-
vbs 割算のあまり
-
プログラミング、アーキテクチ...
-
YOASOBI
-
マウス自体の移動量の取得
-
FLASHでの色変更
-
PYTHONのtkinterについて
-
マスクにグラデーションをかけ...
-
【VB.NET】別Formのボタンが押...
-
外部ファイルを読み込んでロス...
-
ウインドウハンドルとインスタ...
-
UWSCのBTN関数について。
-
下記のサイトのTOPページにある...
-
PythonでSetWindowPosを使うに...
-
オブジェクトのランダムな位置表示
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
別のアプリケーションのテキス...
-
テキストボックスの中身をリセ...
-
テキストボックスにセルの値を...
-
変数に256文字以上のテキストを...
-
RPG(AS400)の本、サイトってあ...
-
ホームぺージ制作で間違って重...
-
VB6.0 でメニューを作りたいん...
-
改行含むテキストの表示の仕方
-
pdfのテキスト全文コピー、テキ...
-
VB.NET2005 DataGridViewでレコ...
-
コモンダイアログのshowopenに...
-
VBAでホームページからコピーし...
-
VS2008 C# ボタンのテキストを...
-
テキストエリア内の文字列にリ...
-
'2465'指定した式で参照してい...
-
VBAからPDFのテキストフィールド
-
チェックボックスのテキストを...
-
VBSでMid関数を使ったらエラー...
-
ドラッグ&ドロップからの取得
-
VB.NET メッセージボックスの表...
おすすめ情報
すいません。「や」と見え、やを強調して見えますが、実は右上がりカギ型の線分で同様にカギ型の線分が描きたいです。
セルの選択範囲に合わせて大きさが変えられるならどのような作り方でも構わないのですが、何分初心者なので、具体的にご教示いただければありがたいです。