土曜の昼、学校帰りの昼メシの思い出

エクセルシートで、数箇所に選択欄があります。
例えば、男・女、初回・継続などです。
それぞれのいづれかに○をつけたいのですが、
オートシェイプで○をつけていくと何件もあるので
時間が掛かり面倒なんです。
マクロ設定はできませんか?
初心者なのでマクロがわかりません。
あるのなら解かりやすく教えてください。
お願いします。

A 回答 (3件)

処理はマクロでも出来ないことは無いかもしれませんが、たぶんオートシェイプで○をつけていった方が早いですよ。


その時に、ひとつひとつ新しいオートシェイプを作ったりしていませんか?
ひとつ適当な大きさの○を作ったら、後はCtrlキーを押しながら移動させればコピーできますよ。(細かい位置調整はCtrl+方向キーでできます)
    • good
    • 1
この回答へのお礼

回答頂きありがとうございます。
そうなんですか、コピー貼り付けが早いんですね。
地道にやります。

お礼日時:2007/10/10 20:40

>マクロがわかりません


>あるのなら解かりやすく教えてください。
はずいぶんですね(^^;

とりあえず書いたとおりに操作してみてください。
まず以下のマクロをATL+F11でVBE画面を開き、左上のVBAprojectのシート名右クリック→挿入→標準モジュールで開く画面に貼り付けます

Sub Macro1()
Dim trg As Range
 If TypeName(Selection) = "Range" Then
  Set trg = Selection
  ActiveSheet.Shapes.AddShape(msoShapeOval, trg.Left, _
      trg.Top, trg.Width, trg.Height).Select
  Selection.ShapeRange.Fill.Visible = msoFalse
  trg.Select
 End If
End Sub

次にVBE画面を閉じてワークシート画面に戻り、ATL+F8でマクロ一覧を開き、Macro1を選択した状態で「オプションボタン」クリックしてショートカットに任意の文字を入れます。今回は丸印を書くので「M」あたりがよいでしょう

ワークシート画面で適当なセルを選択してCtrl+Mを押下すると、そのセルに楕円が描画されるはずです
    • good
    • 3
この回答へのお礼

丁寧な解説ありがとうございます。
やってみます。

お礼日時:2007/10/10 20:32

文字の○でOKですか。


質問者自身が○を入れるのですか。
入力はエクセルを良く知らない方がやる?
ーー
文字の○にしろ、図形の○にしろ、1つ作ってコピーし、CTRLを押しながらたくさん位置を指定し、CTRL+Vで貼り付けたほうが、簡単ですよ(#1でご回答の方法)
ーー
マクロでは
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
ActiveSheet.Shapes.AddShape(msoShapeOval, Target.Left, Target.Top, 32.25, 13.5).Select
Selection.ShapeRange.Fill.Visible = msoFalse
End Sub
見たいになる。これをシートSheet1のBeforeDoubleClick(に貼り付ける。Sheet1のシートタブで右クリックすると、「コードの表示」が出るから、クリックして出てきた画面に貼り付ける。
Sheet1のセルでダブルクリックすると、その場所に円・長円が描かれる。
しかしそれを自分の気に入ったように修正するには、VBAの経験が必要

32.25, 13.5の部分の数字をいろいろ変えて、どう変化するか遊んでください。
そしてそれらをTarget.Width,Taget.Heightに変えて遊んでください。そして何かを掴んだら再度質問かな。
    • good
    • 0
この回答へのお礼

ご回答頂きありがとうございます。
やはりVBAが必要なんですね。
貼り付けした方が早いですよね。
私にはちょっと難しいみたいです(^^;

お礼日時:2007/10/10 20:36

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


おすすめ情報