• 締切済み

エクセルに挿入した図に連番を付けたいのですが

エクセルに絵として挿入した地図上で、クリックした位置に連番(1~100)のテキストボックスを挿入したいのですが、またフォントや大きさも変えることができればうれしいのですが、教えていただけるでしょうか。

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (454/692)
回答No.2

VBAをある程度扱えたとしても、 シート上の画像の任意個所をクリックすることで クリックした位置(縦方向、横方向のアドレス)は特定できるものの、 それは画像上の位置ではなくデスクトップ上の位置ですので、 エクセルのフォームのデスクトップ上の位置、 更に、エクセルが縦方向、横方向にスクロールしている場合を考慮する必要があります。 加えて、画像を右クリックしたときのイベントがありません。 つまり、VBAでは事実上困難です。 C#やDelphiなど、プロ専用の言語が必要です。 VBAでとのことであれば、 添付画像のように、予め必要な数の図形を後記VBAで用意し これを手作業で必要な個所に移動する。 という対応が落としどころと思います。 Option Explicit Sub ZuUp() '角が丸い四角形を100個配置  Dim Sh As Worksheet '作成先シート  Dim MyText As String  Dim Nm As String  '図形名  Dim Bx As Double  '開始横位置  Dim By As Double  '開始縦位置  Dim Hi As Double  '高さ  Dim Wi As Double  '幅  Dim Fs As Long   '文字サイズ  Dim Fn As String  'フォント名  Dim Cr As Long   '文字色  Dim BCr As Long   '背景色  Dim curve As Double  Dim i As Long  Dim j As Long    Set Sh = ThisWorkbook.Sheets("Sheet1")  By = 0  Hi = 16  Wi = 30  Fs = 9  Fn = "MS Pゴシック"  Cr = rgbRed  BCr = rgbAqua  curve = 0.2    For j = 1 To 10   For i = 1 To 10    MyText = Format(i * j, "000")    Nm = Format(i, "000") & Format(j, "000")    Bx = Wi * i    By = Hi * j    MakeEgg Sh, MyText, Nm, Bx, By, Hi, Wi, Fn, Fs, Cr, BCr, curve   Next i  Next j End Sub '// サブルーチン Sub MakeEgg(Sh As Worksheet, MyText As String, Nm As String, _     Bx As Double, By As Double, Hi As Double, Wi As Double, _     Fn As String, Fs As Long, Cr As Long, BCr As Long, curve As Double)  Dim shp As Shape    On Error Resume Next  Set shp = Sh.Shapes(Nm)  shp.Delete  On Error GoTo 0     Set shp = Sh.Shapes.AddShape(msoShapeRoundedRectangle, Bx, By, Wi, Hi)  shp.Name = Nm  shp.Line.Visible = True '外枠の有無  shp.TextFrame.Characters.Text = MyText  shp.TextFrame2.VerticalAnchor = msoAnchorMiddle  shp.TextFrame2.TextRange.ParagraphFormat.Alignment = msoAlignCenter  shp.Fill.ForeColor.RGB = BCr  shp.Adjustments.Item(1) = curve  With shp.TextFrame2.TextRange.Font   .NameComplexScript = Fn   .NameFarEast = Fn   .Name = Fn   .Size = Fs   .Bold = msoFalse   .Fill.ForeColor.RGB = Cr  End With End Sub

Jmasa0123
質問者

お礼

図まで添付いただき、わかりやすくご説明いただき大変感謝いたします。クリックした場所に連番を付けることが難しいこともわかりました。他方、作成頂いたプログラムをエクセル上で実行し同じようにできたことに感激しております。(貴殿にとっては当たり前のことでしょうけど) ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

・回答もまだ出ない。平凡な質問(FAQ)なら、普通はすぐ回答がつく。 ・Google照会で「エクセル 図表番号」などでもWEB記事が上位には見つからない。   ワードの記事ばかり。 ・今までのOKWAVEの質問回答の出現の記憶にない。 などからエクセルに、この機能を期待するのは無理ではないですか。  後続の回答を期待してください。 ーー 以下参考にしてください。 そこでエクセルVBA(ワードVBAではない)で、真似事のようなことを やってみた。VBAに関心があれば、やってみてください。 写真とグラフの場合ではテスト済み。 図がすべて挿入し終わった段階で実行する。 ーー 図のあるシートは、Sheet1。 標準モジュールに Sub Test01() For i = 1 To Worksheets("Sheet1").Shapes.Count Worksheets("Sheet1").Shapes.AddTextbox(msoTextOrientationHorizontal, 100, 60, 100.5, _ 22.5).Select Selection.Left = Worksheets("Sheet1").Shapes(i).Left + Worksheets("Sheet1").Shapes(i).Width * 0.5 Selection.Top = Worksheets("Sheet1").Shapes(i).Top + Worksheets("Sheet1").Shapes(i).Height + 10 Selection.Text = "図表番号" & i Next i End Sub ーー (1)図の追加には対応してない (2)図の種類の多様性混在に不安あり。 (3)同種の写真など単一の種類の図(Shapes)である。 (4)「図表番号 XX」という文句や表示位置は、少々の修正で対応できる。   テキストボックスの枠線を消すのは簡単。 (5)図の下には、シートにおいて、適当な空白部を採ること。 図をマウスなどでクリックしたときの、イベントとそのオブジェクトを捉まえる方法がわからず 断念した。  小生の情報収集力が弱いのかも。

Jmasa0123
質問者

お礼

いろいろ調べていただき、またVBAを作成してくださりありがとうございます。確かにワードの情報はたくさん出てきましたが、1つの図面上にクリックしたらナンバリングするものはワードにもありませんでした。VBAとマクロの違いも判らずトライしようとしたのがそもそも間違いかもしれませんでした。貴殿のVBAはエクセル上で動作を確認いたしました。VBAとは何かが少し理解できました。ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルの図の挿入について。

    すいませんが至急教えてください。エクセルで見積書作成し、自分の印鑑をビットマップで登録し、図の挿入でも テキストボックスでも試みているのですが周りのエクセルの文字などが消えてしまって何もできません。 大変困っています。如何すればいいでしょうか? 至急教えてください。 よろしくお願いいたします。 右クリックして塗りつぶしなしにしてもどうやってもできません。 どなたかすいませんが大至急教えてください。 よろしくお願いいたします

  • Excelの連番をふりなおす

    Excelの表で、A列に連番をつけてあります。 行を挿入したり、削除したときに、連番がくずれないように 自動的にふりなおす方法があれば、教えていただけないでしょうか。 ヨロシクお願いします!!!

  • エクセルで図を挿入したとき・・

    エクセルで、何か図を挿入すると、図がテキストより前にきてテキストが見えなくなります。 ワードなら図形の調整→テキストの折り返しで背面に設定すれば 図の方がテキストより後ろにきますが、エクセルでもそういう機能はありますか? どうしても図がテキストの後ろにいかなくて困ってます・・・。 よろしくお願いします。

  • 図の挿入での2つの質問です

    (1)エクセルシートに図や絵を挿入しますと■が6ヶ表示するだけで図や絵が表示されません。■部分をクリックして十字矢印を出してから少し移動さすと図や絵が出てきます。この操作で正しいのでしょうか?お教え下さい。 (2)絵や図を挿入後印刷プレビューには出てきません。  表示方法をお教え下さい。尚 エクセル2003を使っております。  宜しくお願い致します

  • エクセル 挿入 図について教えてください。;

    すいませんが教えてください。エクセルで挿入したいマークがあり図をクリックして選択はできたのですが 貼り付けしようとしたのですが貼りつけたい部分の印字が消えてしまい困っています。(エクセルに貼り付けたいのですが他の文字 が消えてしまいます。) 図を挿入した場合に挿入した部分が消えることなくうまく挿入するにはどうしたらいいでしょうか? やり方を教えてください。 よろしくお願いいたします

  • エクセルのグラフでセル参照をしてテキストボックスを挿入して

    エクセルのグラフでセル参照をしてテキストボックスを挿入し セルをクリックし確定すると 後で テキストボックスを選べないのですが選べる方法はありますか 

  • エクセルのテキスト挿入

    エクセルの挿入から図形を選んでも、テキストボックスが表示されません。フローチャートにもテキストの入力が表示されません。 表示する方法はありますか?またはこれらを使わずにテキストを図として挿入する方法はあるでしょうか。

  • エクセルで図の挿入

    WIN98SEでエクセル2000を使っています。 エクセルで作成した様式に写真を貼り付けたいのですが写真の数が多すぎて、いちいち「挿入」→「図」→「ファイルから」を繰り返すのは大変です。 そこでVBAで処理したいと考えています。「図の挿入」ダイアログボックスを表示させる方法を教えていただけないでしょうか? 多分、Application.Dialog( ).showだと思うのですが、( )内が分かりません。何方か宜しくお願いいたします。

  • エクセル vba クリック~離した位置へ直線の挿入

    エクセル vba クリック~離した位置へ直線の挿入 エクセルの図形挿入の、左クリックした位置(x1,y1)から始まり、離した位置(x2,y2)で終わる『直線』のようなマクロをご教示頂けないでしょうか? マクロの記録では何も出てきません。。。 それを応用してCADの寸法線のような絵を描くマクロを作成したく考えております。 どなたか宜しくお願い致します。

  • Word2007 Excelファイル挿入について

    Word2007の操作について質問です。 [挿入]タブ[テキスト]グループの[オブジェクト]ボタンから[ファイルからテキスト]を選択し、Excelファイルを選んで挿入ボタンをクリックすると、[ファイルの変換]ダイアログボックスが表示され、エンコード方法の選択を指示されます。 この方法で、Excelのワークシートを開くにはどうしたらよいのでしょうか? ご指導よろしくお願いいたします。

専門家に質問してみよう