2016-09-14 11 views
0

私は、テーブルでシートを取得し、表示されているセルのみを新しいワークシートに貼り付け、ヘッダー行をフリーズするコードを記述しようとしています。私はworkseetクラスの1004貼り付けメソッドを取得し続けるエラーが発生し、デバッガは問題としてactivesheet.pasteを強調表示します。私はかなりVBAの新しいので、なぜ私はこのような一見簡単なコマンドでエラーが発生しているかわからない?可視セルのペーストエラーを貼り付けます。1004

Sub Macro6() 
' 
' Macro6 Macro 
' 

' 
    Sheets("Midwest Log").Select 
    Range("A1").Select 
    Selection.SpecialCells(xlCellTypeVisible).Select 
    Selection.Copy 
    Sheets.Add After:=Sheets(Sheets.Count) 
    Sheets(Sheets.Count).Name = "MW Log" 
    Application.CutCopyMode = False 
    Sheets("MW Log").Paste 
    Columns("A:I").Select 
    Columns("A:I").EntireColumn.AutoFit 
    Rows("4:4").Select 
    ActiveWindow.FreezePanes = True 
    Range("A1").Select 
End Sub 

答えて

0

あなたはそこにApplication.CutCopyMode = Falseがあります。それを取り除くとうまくいくはずです。

私は選択肢をクリアするために自由を取った。選択肢は、VBAが非常に悪いとみなされます。なぜなら、それらは遅くて信頼性が低いからです。あなたは通常、凍結はいえ少しトリッキーだった

something.dosomething 

something.Select 
Selection.dosomething 

を置き換えることによって、かなり簡単にそれらを取り除くことができると私はそれがいずれかの理想的な方法だか分かりません。

Sheets("Midwest Log").Range("A1").SpecialCells(xlCellTypeVisible).Copy 
Sheets.Add After:=Sheets(Sheets.Count) 
Sheets(Sheets.Count).Name = "MW Log" 
Sheets("MW Log").Paste 
Columns("A:I").AutoFit 
ActiveWindow.SplitRow = 3 
ActiveWindow.FreezePanes = True 
+0

コードは機能しません.Excelは利用可能なリソースで処理できないとし、引き続き貼り付け行にエラーメッセージを表示します。 – AngelOfDef

+0

あなたのシートかもしれませんか?それは多くのデータを含んでいますか?そうでない場合は、新しい/空白のシートで試しましたか? – arcadeprecinct

関連する問題