- 締切済み
教えてくださいな。新年会座席表の作り方
新年会の座席表を作ることになりました。参加人数は100名弱を予定しております。まず円を描き、その周りに会社名・名前を書きます。現在、powerpointで円卓を9個描いた段階です。出欠表はエクセルで作っており、いちいちコピー・ペーストでテキストボックスに貼り付けるという行為を100回近くやらねばならないのでしょうか?なにかいい方法はないでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- imogasi
- ベストアンサー率27% (4737/17069)
#2のご回答に触発されて、下記をやってみました。 A1:A10に 内田 研 山田 鱒二 矢田 恵子 植田 秀雄 大川 邦夫 栗田 夏見 中田 正治 マーシャル 本田 通 横沼 健二 とあるとします。 行高、列幅は適当にします。 VBEに Sub Test21() Dim sh As Shape ActiveSheet.DrawingObjects.Delete For i = 1 To 10 With ActiveSheet.Cells(i, 2) .Activate Set sh = ActiveSheet.Shapes.AddShape _ (msoShapeRectangle, .Left, .Top, .Width * 2, .Height) sh.Select Selection.Characters.Text = Cells(i, "A") End With Next i End Sub を貼り付け、実行します。 これで四角の中に 氏名が入ります。 これらを十字型矢印マウスポインタを出して、適当な位置にD&Dしてみてください。 名前を入れる手間が少し省けます。 ーーーーーーーーーーーーーーーー または A列、C列に 内田 研 H2 山田 鱒二 F2 矢田 恵子 D4 植田 秀雄 J4 大川 邦夫 D6 栗田 夏見 J6 中田 正治 E8 マーシャル I8 本田 通 G10 横沼 健二 D4 と入れて Sub Test21() Dim sh As Shape ActiveSheet.DrawingObjects.Delete For i = 1 To 10 L = Range(Cells(i, "C")).Left T = Range(Cells(i, "C")).Top With ActiveSheet.Cells(i, "B") .Activate Set sh = ActiveSheet.Shapes.AddShape _ (msoShapeRectangle, L, T, .Width, .Height) sh.Select Selection.Characters.Text = Cells(i, "A") End With Next i End Sub を実行すると 、もしC列のセル番地の設定がうまく行われると、自動的に円形的に配置されます。(すみません上例は手抜きで円形的になってません) お遊びのような範囲のVBAですのでご笑納ください。 ひょっとすると使えるかも。 実際テスト済みということで、自信ありになってます。 マクロの記録をとれば、VBAに詳しくなくても、フォントやその他 いじくれば、自分のしたいように、改造できるかもしれない。 円もマクロの記録を使えばVBAでシート上に円が掛けます。 msoShapeRectangleーー>msoShapeOvalです。
- mshr1962
- ベストアンサー率39% (7417/18945)
円卓ですよね。それなら円グラフを使えばいいのでは? A列:会社名・氏名 B列:すべて1と入力 上記で1卓分のデータで円グラフを作成して、データ系列の書式にて パターン:輪郭と領域の色を1色に固定 データラベル:分類名にチェック これで勝手に配置してくれます。これを9卓分設定して作成すればいいのでは?
- papayuka
- ベストアンサー率45% (1388/3066)
例えば、、、 Excelで下記のマクロを実行するとアクティブシートにオートシェイプを100個作ります。 それぞれのオートシェイプにはセルへのリンクが貼ってあり A1~A100 に何か文字を入れると表示されます。 後は適当な所に配置すれば完了です。 Sub Test1() Dim sh As Shape For i = 1 To 100 With ActiveSheet.Cells(i, 2) .Activate Set sh = ActiveSheet.Shapes.AddShape _ (msoShapeRectangle, .Left, .Top, .Width * 2, .Height) sh.Select ExecuteExcel4Macro _ "FORMULA(""=" & .Offset(0, -1).Address(ReferenceStyle:=xlR1C1) & """)" End With Next i End Sub
- fjnobu
- ベストアンサー率21% (491/2332)
1個コピーで2個それをコピーで4個もう一回コピーで8個、最初の1個のコピーで9個 これを同様に、11組を作るにはコピーを3回+2個+1個以上で11個 コピーは10回で済みます。