2016-11-16 10 views
2

Excelブックを参照してそのブックを変更するVBAマクロをOutlookに作成しています。私は1OutlookのVBAから、Excelでペインをフリーズするにはどうすればよいですか?

ちょうど行の下のペイン(ない "スプリット")を凍結したいここに私が試したコードです:

With Excel.ActiveWindow 
    .SplitColumn = 0 
    .SplitRow = 3 
    .FreezePanes = True 
End With 

は...と...

Dim excApp As Object 
Set excApp = CreateObject("Excel.Application") 

With excApp.ActiveWindow 
    .SplitColumn = 0 
    .SplitRow = 3 
    .FreezePanes = True 
End With 

の両方が実行を投げましたラインエラー.SplitColumn = 0の時エラー91。

私は何か助けや指摘を感謝します。ありがとう!

答えて

2

フリーズペインでは、実際にはカーソル位置に相対的なので、実際には.Selectが必要な数少ない場所の1つです。

このコードは、あなたが求めて何をすべき:

Dim excApp As Excel.Application 
Set excApp = GetObject(, "Excel.Application") 

excApp.ActiveWorkbook.ActiveSheet.Range("2:2").Select 
excApp.ActiveWindow.FreezePanes = True 

それはExcelが既に開いている前提としています。

- EDIT -

パー@ChrisB、恐ろしい.Selectせずにこれを行う方法があります:

With excApp.ActiveWindow 
    .SplitRow = 3 
    .FreezePanes = True 
End With 
+0

私は実際のGetObjectの代わりにCreateObjectを必要としていました。あなたのソリューションは機能します! – ChrisB

+0

実際には '選択 'を使う必要はありません。 [Excel vba freeze pane without select](http://stackoverflow.com/questions/34094445)を参照してください。素晴らしいことだexcApp.ActiveWindow .SplitRow = 3 .FreezePanes = Trueの エンドWITH' – ChrisB

+0

ではまずExcel.Application 設定excApp =のGetObject(、 "まずExcel.Application") として '薄暗いexcApp。私は今日何かを学んだ。ありがとう。私は答えにあなたのフィードバックを取り入れました。 – Hambone

関連する問題