Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


729 / 13645 ツリー ←次へ | 前へ→

【78701】違うPCだとセルや印刷範囲が変わる acs 16/12/19(月) 14:23 質問[未読]
【78702】追記 acs 16/12/19(月) 15:49 質問[未読]

【78701】違うPCだとセルや印刷範囲が変わる
質問  acs  - 16/12/19(月) 14:23 -

引用なし
パスワード
   VBAのせいなのか、Verのせいなのか
Excel2010 14.0.7177.5000(32bit)
で作成したものを
Excel2010 14.0.4760.1000(32bit)
で開くとセルの高さやVBAで作成した印刷範囲が変わっていしまうのは
なぜでしょうか?

具体的には、

1.セルの高さが38で作成しものが48に変わる
 同様に5→6、45→56
2.印刷範囲が1頁分A1〜D31、2頁分A1〜D62とVBAで作っているので1.の理由により
 1頁目が2頁目の途中まで、2頁目が2頁目の途中から4頁目までと意図しない
 感じになってしまいます。
 Excel2010 14.0.4760.1000(32bit)でセルの高さを6→5、48→38、56→45に
 戻してもうまくいきません

 プリンターのせいなのでしょうか?
 それともVBA?
 ハタマタVerのせいなのでしょうか?

 もしVerのせいなのであれば、どうしたらよいのでしょうか?
 2007、2013、2016と違っていても、書式の統一は出来るのでしょうか?


 環境は以下の通りです
 
 PC:FUJITSU D751/C   Excel2010 14.0.7177.5000(32bit)
 Printer:Canon LBP-3600
 

 PC:FUJITSU CE227D   Excel2010 14.0.4760.1000(32bit)
 Printer:Canon LBP-8620

 余白は共に左2.5、上・下・右1.0

【78702】追記
質問  acs  - 16/12/19(月) 15:49 -

引用なし
パスワード
   Sub Sample1()
   Dim pic As Picture
   Dim f As Variant
   Dim Target As Range
 
   'A1の画像を削除
   For Each pic In ActiveSheet.Pictures
     If pic.TopLeftCell.Address = "$A$2" Then pic.Delete
   Next
 
   Set Target = Range("A2:A10")
 
   f = Application.GetOpenFilename _
      ("jpg bmp tif png gif,*.jpg;*.bmp;*.tif;*.png;*.gif", , "画像の選択", , False)
   If f <> False Then
     With ActiveSheet.Shapes.AddPicture(Filename:=f, LinkToFile:=False, _
       SaveWithDocument:=True, Left:=Target.Left, Top:=Target.Top, _
       Width:=-1, Height:=-1)   '-1 元の大きさで貼り付け
       '===============タテヨコの縮尺を保持して拡大または縮小
       .LockAspectRatio = True   '縦横比率の維持(念のため)
       .Height = Target.Height
     End With
   End If

End Sub

Sub Sample2()
   Dim pic As Picture
   Dim f As Variant
   Dim Target As Range
 
   'A1の画像を削除
   For Each pic In ActiveSheet.Pictures
     If pic.TopLeftCell.Address = "$A$12" Then pic.Delete
   Next
 
   Set Target = Range("A12:A20")
 
   f = Application.GetOpenFilename _
      ("jpg bmp tif png gif,*.jpg;*.bmp;*.tif;*.png;*.gif", , "画像の選択", , False)
   If f <> False Then
     With ActiveSheet.Shapes.AddPicture(Filename:=f, LinkToFile:=False, _
       SaveWithDocument:=True, Left:=Target.Left, Top:=Target.Top, _
       Width:=-1, Height:=-1)   '-1 元の大きさで貼り付け
       '===============タテヨコの縮尺を保持して拡大または縮小
       .LockAspectRatio = True   '縦横比率の維持(念のため)
       .Height = Target.Height
     End With
   End If

End Sub

というVBAを使っているのですが、Excel2007で使用すると、A2に貼られたPICは
よいのですが、A12に貼られたPICはA12のセル左隅から少し下に、さらにA22では
ズレがおおきくなり、最終的にA301ではとんでもなくズレが生じてしまいます。

環境は以下の通りです
 
 PC:FUJITSU D751/C   win7 Excel2010 14.0.7177.5000(32bit)
 Printer:Canon LBP-3600
 

 PC:FUJITSU CE227D   win10 Excel2010 14.0.4760.1000(32bit)
 Printer:Canon LBP-8620

 余白は共に左2.5、上・下・右1.0

729 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free