Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10全般 : Microsoft 365)
セル範囲を画像に変換するときにできる余白をなくしたい
投稿日時: 22/06/08 07:18:15
投稿者: ip8bk

いつもお世話になっております。
下記コードでセル範囲を画像に変換しております。
作成された画像をよく見ると右側と下側に細い余白が見えます。
現在のコードではあまり問題がないように見えますが、条件によっては余白が大きくなることがあるため改善したいです。
修正方法ご存知のかたおられましたらご教示お願いいたします。
 

Option Explicit
Sub test1()

    With Worksheets("Sheet1")
        Dim rg As Range
        Set rg = .Range("a1:b2")
        On Error Resume Next
        Do
            Err.Clear
            rg.CopyPicture appearance:=xlScreen, Format:=xlPicture
        Loop Until Err.Number = 0
        On Error GoTo 0
        Dim cht As Chart
        Set cht = .ChartObjects.Add(0, 0, rg.Width, rg.Height).Chart
        cht.Parent.Select ' Excel2016の不具合回避対応 遅延の為挿入
        Application.Wait Now() + TimeValue("00:00:03") 'エラー対策
        cht.Paste
    End With
            
End Sub

回答
投稿日時: 22/06/08 15:45:41
投稿者: WinArrow
投稿者のウェブサイトに移動

枠線の下、右にでる余白のことですよね?
 
枠線を非表示にすることで対応できませんか?
 
        ActiveWindow.DisplayGridlines = False / True
 
を前後に入れれば、枠線は消えます。

投稿日時: 22/06/10 08:38:51
投稿者: ip8bk

ご回答ありがとうございます。
原因がわからなくて時間がかかりましたが、画面の拡大率が原因だったようです。
先頭の方に下記のコードを追加することで改善できました。
ありがとうございました。
 

ActiveWindow.Zoom = 100