[[20140408124906]] 『2013でのマクロが実行されない』(じゃぽね) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『2013でのマクロが実行されない』(じゃぽね)

 いつもありがとうございます。
 2003で作成したブック及びマクロを2013にコピーし、実行してみたのですが
 実行されません。マクロは有効化したつもりなのですが、抽象的で
 申し訳ないのですが、原因はなにかわかるものなのでしょうか。
 いかつたないマクロなのですが。 

 Sub insatsu()

    Application.ScreenUpdating = False

    Sheets("振込依頼書").Select

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "1"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "2"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "3"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "4"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "5"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "6"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "7"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "8"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "9"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "10"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "11"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "12"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "13"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "14"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "15"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "16"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "17"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "18"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "19"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    Range("n1").Select
    ActiveCell.FormulaR1C1 = "20"
    If Range("p1").Value <> "" Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
    End If

    End Sub

< 使用 Excel:Excel2013、使用 OS:Windows7 >


Application.ScreenUpdating = False は、とりあえずコメントアウト。
このマクロ上でF8キーを押し、ステップ実行を試してみてください。

Range("p1") が空欄だったというオチは無いですか?
(???) 2014/04/08(火) 12:55


 何もエラーが出ないのであれば???さんがおっしゃっている通りP1セルが空白なのかも。
 ところでマクロですが

 Sub insatsu()

     Dim i As Long

     Application.ScreenUpdating = False

     Sheets("振込依頼書").Select
     For i = 1 To 20
         Range("N1") = i
         If Range("P1").Value <> "" Then
            ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
         End If
     Next

     Application.ScreenUpdating = True

 End Sub

 のようにすればだいぶすっきりしますよ。(余計なお世話だったらすいません)
(se_9) 2014/04/08(火) 13:03 修正13:05

 ありがとうございました。オチのとおりでした。別のマクロも実行できなかったので
 すいません。たすかりました。 se9さんありがとうございます。このように
 つくりたかったのですが、何分理解不足で到達できなかったものです。
 さっそく取り入れます。ありがとうございました。(じゃぽね)


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.