- ベストアンサー
※ 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を使用してオブジェクト描画を行う方法に詳しい方、ご教示いただけないでしょうか?
- みんなの回答 (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 #実際にはご質問に書いてない色々細々した部分で,何かと調整等が必要と思われます。 サンプルマクロを下敷きにして,必要な部分をご自分で手直してご利用下さい。
お礼
AddShapeメソッドと、特定セルの座標の得方を参考に、 目的のマクロを組むことができました。 ありがとうございました。