| 
    
     |  | ▼ポンタ さん: >早々にありがとうございます。
 あっ、たまたまです。私、レスは結構遅いです・・・。
 
 
 >
 >特に、列を例えばA,B,C,Dのように順次変化させてPGを実行させたいのですが、
 >Cellsを用いる等、良い表現方法はないでしょうか?
 >
 >>
 >>Application.Run "ATPVBAEN.XLA!Histogram", worksheets("Sheet1").Range("$B$1:$B$790") , worksheets("Sheet2").Range("$D$1"), worksheets("Sheet1").Range("$A$1:$A$25"), False, False, False, True
 ↑これをCellsプロパティを交えて記述すると、
 
 '=======================
 Sub test()
 Dim sht1 As Worksheet
 Dim sht2 As Worksheet
 Set sht1 = Worksheets(1)
 Set sht2 = Worksheets(2)
 With sht1
 Application.Run _
 "ATPVBAEN.XLA!Histogram", _
 .Range(.Cells(1, 2), .Cells(790, 2)), _
 sht2.Cells(1, 4), _
 .Range(.Cells(1, 1), .Cells(25, 1)), _
 False, False, True, False
 End With
 End Sub
 
 というような書き方ができまます。
 これでループをさせたいならCellsの()内に変数を使用すれば可能ですよね?
 注意するのは、ブック内でアクティブシート以外のシートのセル範囲の指定でCellsを使用する場合です。
 .Range(.Cells(1, 1), .Cells(25, 1)) Withステートメントで省略していますが、
 Cellsの前にもワークシートオブジェクトの記述が必要だと言う事です。
 
 確認して下さい。
 
 
 |  |