• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excel VBAからオブジェクト描画)

Excel VBAからオブジェクト描画でOutlookの予定表をExcelに転記する方法について相談

このQ&Aのポイント
  • Outlookで管理している予定表をExcelに転記する方法について、Excel VBAを使用してオブジェクト描画を行い、AMとPMの情報を視覚的にわかりやすく表示する方法を探しています。OutlookでエクスポートしたデータをExcelに取り込み、AMとPMの文字情報に合わせてAMセルとPMセルにオブジェクトを貼り付けるマクロを作成したいと思っています。
  • 現在、Outlookで管理している予定表をExcelに転記していますが、AMとPMの情報を視覚的にわかりやすく表示するためにオブジェクトを使用したいと考えています。OutlookでエクスポートしたデータをExcelに取り込んだ後、AMセルとPMセルにオブジェクトを貼り付けるマクロをExcel VBAで作成する方法を教えてください。
  • Outlookで管理している予定表をExcelに転記する方法について相談です。OutlookでエクスポートしたデータをExcelに取り込み、AMとPMの文字情報に合わせてAMセルとPMセルにオブジェクトを貼り付けるマクロを作成したいと思っています。Excel VBAを使用してオブジェクト描画を行う方法に詳しい方、ご教示いただけないでしょうか?

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

所定の文字が記入されたセルを調べ,そのセルの大きさに合わせて(若しくは所定のサイズの)円を描きます。 >このAM、PMという文字情報にあわせて >AMセル、PMセルに○オブジェクトを貼り付ける 作成例: Sub macro1()  Dim s As Shape  Dim h As Range  Dim p As String  Dim a, i  a = Array("AM", "PM")  ’activesheet.drawingobjects.delete ’必要に応じて調整  For i = 0 To 1   Set h = Cells.Find(what:=a(i), LookIn:=xlValues, lookat:=xlWhole)   If Not h Is Nothing Then    p = h.Address    Do        ’必要に応じて丸の位置・サイズを調整     With ActiveSheet.Shapes.AddShape(msoShapeOval, h.Left + 10, h.Top + 3, h.Width - 20, h.Height - 6)      .Fill.Visible = False      .Line.Weight = 1     End With     Set h = Cells.FindNext(h)    Loop Until p = h.Address   End If  Next i End Sub #実際にはご質問に書いてない色々細々した部分で,何かと調整等が必要と思われます。  サンプルマクロを下敷きにして,必要な部分をご自分で手直してご利用下さい。

hzd00430
質問者

お礼

AddShapeメソッドと、特定セルの座標の得方を参考に、 目的のマクロを組むことができました。 ありがとうございました。