
エクセル初心者です。
以下のマクロを教えて頂きました。
セルに入力する数値は他の計算式から数値を割り出しています。
このマクロをセンチで入力して、実行する事は可能でしょうか。
その方法がありましたら、教えてください。
Private Sub Worksheet_Change(ByVal Target As Range)
With ActiveSheet.Shapes.Range(Array("Group 1"))
.Top = 100
.Left = 100
.Height = ActiveSheet.Range("A2").Value
.Width = ActiveSheet.Range("A3").Value
End With
End Sub
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
移動?
こちら↓の質問の続きですよね?
http://oshiete.goo.ne.jp/qa/7753279.html
グループ化したオブジェクトの拡大縮小なのでは?
私はExcelおよびマクロについては得意ではないので、無駄な
書き方になっているかもしれませんが。
図形のサイズはポイントなので、マクロで単位をセンチにする
場合は、Application.CentimetersToPoints()が必要で、
これを追加することで、対応できると思います。
http://excelfactory.net/excelboard/excelvba/exce …
Private Sub Worksheet_Change(ByVal Target As Range)
Dim h As Double
Dim w As Double
h = ActiveSheet.Range("A2").Value
w = ActiveSheet.Range("A3").Value
h = Application.CentimetersToPoints(h)
w = Application.CentimetersToPoints(w)
With ActiveSheet.Shapes.Range(Array("Group 1"))
.Top = 100
.Left = 100
.Height = h
.Width = w
End With
End Sub
ご回答を有難うございました。
無事、マクロを実行することが出来ました。
センチをポイントに換算してから、入力すれば良いと思いましたが、
センチでの入力が出来れば、いっそう効率的と生意気にも思ってしまいました。
ご指導を頂けて、感謝です。有難うございました。
これからも、よろしくお願いします。
No.3
- 回答日時:
.Top = 5*72/2.54
.Left = 10*72/2.54
.Height = ActiveSheet.Range("A2").Value*72/2.54
.Width = ActiveSheet.Range("A3").Value*72/2.54
だから、
.Top = 5*28.35
.Left = 10*28.35
.Height = ActiveSheet.Range("A2").Value*28.35
.Width = ActiveSheet.Range("A3").Value*28.35
入力したセンチの数値に*28.35を加えればよいのですね。
目からうろこです。
生意気にもエクセルで手仕事の計算などをしていますので、
教えて頂くことが出来て、感謝するばかりです。
手取り足取りのご指導を再度お礼申し上げます。有難うございました。
No.2
- 回答日時:
.Top = Application.CentimetersToPoints(5)
.Left = Application.CentimetersToPoints(10)
.Height = Application.CentimetersToPoints(ActiveSheet.Range("A1").Value)
.Width = Application.CentimetersToPoints(ActiveSheet.Range("A2").Value)
okormazd様
昨日に引き続き、ご回答を有難うございました。
センチで入力が無事に動作いたしました。
重ねて感謝申し上げます。有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Libre office マクロ
-
マクロを組んで作業するのは実...
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
マクロを使って結合セルに丸を...
-
IF関数を使ってマクロを実行さ...
-
エクセルで縦に並んだデータを...
-
最小化したoutlook元に戻すマクロ
-
エクセルのマクロでワードの任...
-
ExcelのVBA。public変数の値が...
-
EXCELのVBAマクロでパソコンを...
-
非表示の列をすべて削除するマクロ
-
既存のマクロをコンボボックス...
-
VBSからのエクセル操作での初期...
-
ASP.NETからEXCEL起動
-
エクセルでA1セルに時刻をリア...
-
エクセルVBAでエラー、Changeの...
-
Wordのマクロでクリップボード...
-
VB初心者です。メールから添付...
-
Sub ***( ) と Private Sub ***...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
メッセージボックスのOKボタ...
-
Excelのセル値に基づいて図形の...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
Excel_マクロ_現在開いているシ...
-
ExcelVBAでPDFを閉じるソース
-
ExcelのVBA。public変数の値が...
-
エクセルに張り付けた写真のフ...
-
エクセルで縦に並んだデータを...
-
TERA TERMを隠す方法
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
UWLSの記録でマクロを作成し使...
-
エクセルで別のセルにあるふり...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
-
wordを起動した際に特定のペー...
おすすめ情報