• ベストアンサー

ExcelVBAでスケジュール管理

ExcelVBAでスケジュール管理 ExcelVBAを使い、プロジェクトの進捗状況を管理する資料を作成したいと考えております。 私の知識や検索能力では限界があるため、皆様のお知恵をお借りしたいです。よろしくお願いします。 文章での説明では伝わらないと思うので、画像を見て頂けると幸いです。 要望としては、予定開始日、予定終了日に日付を入れると、日付の範囲にオブジェクトが自動で貼り付けられるようにしたいです。 参考になるサイトや、ソースがあればご教授頂きたいです。 Excelのバージョンは2003になります。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

.AddShape 或いは Shapes で検索してみてください。 http://kabu-macro.com/word/a-z/add.shape.html などは参考になりませんか。 Sub Macro1() Dim a As Range Set a = Range("C5:E5") ActiveSheet.Shapes.AddShape(msoShapeLeftRightArrow, a.Left, a.Top, a.Width, a.Height).Select Selection.ShapeRange.ShapeStyle = msoShapeStylePreset7 End Sub が基本で、後はシート上のShapeをすべて削除して 13行目から下まで繰り返し 最初の列と最後の列を探し当てて指定すれば出来るとおもいます。

mokomoko119
質問者

お礼

回答ありがとうございます。 Shapesで検索した中に参考になるサイトがありました。 また、記述して頂いたソースを参考に、無事作成できました。 ありがとうございました!

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

画像がぼやけていて見難い。拡大してやっと推測できる。エクセルのシートの画像なら列範囲を絞った画像にすること。今後覚えておいて。 ーー >オブジェクトが自動で貼り付けられるようにしたいです  どちらかといえば初心者には難しい途を選んでいる。 条件付き書式で対象期間内のセルに色を着け、オブジェクトに入れるテキストでもあるなら、セルに直接セルの値を入れるほうがまともではないか。 >参考になるサイトや、ソースがあればご教授頂きたいです これもピント・ハズレのことを言っている。 エクセルにはマクロの記録というのが在る。これが初心者には先生となる。それさえ知らず、やってみていないのでは。 記録を採っても現れない操作(群)もある。本件は私がやって記録を採れることが確認できた。 オブジェクトを図形の四角として、スタートとエンドの画面上に位置を、スタートとエンドの日付に応じて変えなければならない。幅(高さ)は一律で良いのだろう。 あとは図形の書式設定をマクロの記録を採って、コードの勉強をしたら。 それはセルのスタートセルのLEFTやエンドのセルのLEFT+WIDTHで判るので、図形の幅は両者の引き算で計算できる。 例 l=Cells(i,j).Left l=Cells(i,j).Width 等列幅ならスタートセルエンドセルの間の列数をかけるのも良いかも。 ーーー なお、この質問程度なら(条件付書式法なら)VBAでなくても、できる。VBAのお勉強ならともかく、VBAでやる必要性は薄い。

mokomoko119
質問者

お礼

回答ありがとうございます。 >画像がぼやけていて見難い。 画像については次から気をつけるようにします。 >エクセルにはマクロの記録というのが在る。 記録したのですが、張付けられ方がわからず困っていました。 >この質問程度なら(条件付書式法なら)VBAでなくても、できる。 条件付書式ではなくオブジェクトを貼る必要性があったので、 VBAで記載する方法を質問した次第です。

関連するQ&A