[[20091013144822]] 『VBAの分割について』(エクセルしょしんしゃ) ページの最後に飛ぶ

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

 

『VBAの分割について』(エクセルしょしんしゃ)
 VBAで行数が多いのもありますが、プロシージャーが
 大きすぎますというエラーが出ました。
 解決策を教えてください。よろしくお願いします。
 出来ましたら、VBAを分割してもマクロを実行するボタンは
 同じボタンで出来たらありがたいです。
 マクロの構文を下に書かせてもらいます。(長くてすいません。)
 無駄な構文ばかりと思いますが、併せてアドバイスもいただければ
 助かります。
 よろしくお願いいたします。

 Sub 契約台帳転写()
 Application.ScreenUpdating = False
 Sheets("契約台帳データ").Select
    Range("B5:go5").Select
    Selection.AutoFilter
    Dim tes1
    tes1 = Range("f2")
    Rows("6:1000").Select
    Selection.Sort Key1:=Range("B6"), Order1:=xlAscending, Key2:=Range("C6") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
        False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _
        xlSortNormal, DataOption2:=xlSortNormal
    Selection.AutoFilter Field:=1, Criteria1:=tes1
    Range("b6:go1000").Select
    Selection.Copy
    Sheets("転記シート").Select
    Range("B6").Select
    Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=False
    Range("A1").Select
    Selection.ClearContents
    Sheets("契約台帳データ").Select
    Range("A1").Select
    Selection.ClearContents
    Selection.AutoFilter
    Range("B6").Select

'【A転記シートから台帳へ転写(空白行を無くして転写】

    Sheets("転記シート").Select
    Range("D6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=4, Criteria1:="<>"
    Range("D6:D10").Select
    Selection.Copy
    Sheets("台帳").Select
    Range("K8").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("E6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=5, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("S5:T5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("F6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=6, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("D5:J5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("G6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=7, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("Q7:S7").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("H6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=8, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("K5:M5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("I6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=9, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("N5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("J6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=10, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("O5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("K6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=11, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B7").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("L6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=12, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B8").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("M6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=13, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B9").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("N6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=14, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B10").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("O6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=15, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B11").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("P6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=16, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B12").Select
    ActiveSheet.Paste
    Range("B18:E18").Select
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("Q6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=17, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("D7").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("R6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=18, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("D8").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("S6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=19, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("D9").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("T6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=20, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("D10").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("U6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=21, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("D11").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("V6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=22, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("D12").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("W6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter Field:=24, Criteria1:="<>"
    Range("X6:X10").Select
    Selection.Copy
    Sheets("台帳").Select
    Range("L8").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("Y6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=25, Criteria1:="<>"
    Range("Y6:Y10").Select
    Selection.Copy
    Sheets("台帳").Select
    Range("G8").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("Z6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=26, Criteria1:="<>"
    Range("Z6:Z10").Select
    Selection.Copy
    Sheets("台帳").Select
    Range("H8").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AA6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=27, Criteria1:="<>"
    Range("AA6:AA10").Select
    Selection.Copy
    Sheets("台帳").Select
    Range("I8").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AB6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=28, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F7").Select
    ActiveSheet.Paste
    Range("K8").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("B5:C5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AC6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=29, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("A5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AD6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=30, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("Q9:S9").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AE6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=31, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("Q11:S11").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AF6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=32, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.ScrollColumn = 10
    Range("T7:V7").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AG6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=33, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("T9:V9").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AH6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=34, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("T11:V11").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AI6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=35, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=3
    Range("T13:V13").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AJ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=36, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=3
    Range("T15:V15").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AK6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=37, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("T17:V17").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AL6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=38, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=3
    Range("T19:V19").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AM6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=39, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("T21:V21").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("AN6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=40, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("S13").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AO6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=41, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H14:L14").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("AP6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=42, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M14").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    ActiveWindow.ScrollColumn = 41
    Range("AQ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=43, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H15:L15").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Range("AR6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=44, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M15").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AS6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=45, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H16:L16").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AT6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=46, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M16").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AU6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=47, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H17:L17").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AV6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=48, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M17").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AW6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=49, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H18:L18").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AX6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=50, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M18").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AY6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=51, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H19:L19").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("AZ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=52, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M19").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BA6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=53, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H20:L20").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BB6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.Copy
    Sheets("台帳").Select
    Range("M20").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BC6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=55, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H21:L21").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BD6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=56, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M21").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BE6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=57, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=15
    Range("H22:L22").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BF6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=58, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M22").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BG6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=59, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H23:L23").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BH6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=60, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M23").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BI6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=61, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H24:L24").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BJ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=62, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M24").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BK6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=63, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H25:L25").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BL6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=64, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M25").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BM6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=65, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H26:L26").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BN6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=66, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M26").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BO6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=67, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H27:L27").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BP6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=68, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=3
    Range("M27").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BQ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=69, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H28:L28").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BR6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=70, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M28").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BS6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=71, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H29:L29").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BT6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=72, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M29").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BU6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=73, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=21
    Range("H30:L30").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BV6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=74, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M30").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BW6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=75, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H31:L31").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BX6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=76, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M31").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BY6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H32:L32").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("BZ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M32").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CA6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H33:L33").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CB6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M33").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CC6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H34:L34").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CD6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M34").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CE6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H35:L35").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CF6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M35").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CG6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H36:L36").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CH6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M36").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CI6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H37:L37").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CJ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M37").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CK6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H38:L38").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CL6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M38").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CM6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H39:L39").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CN6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M39").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CO6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H40:L40").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CP6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M40").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CQ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H41:L41").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CR6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M41").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CS6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H42:L42").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CT6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M42").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CU6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("H43:L43").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CV6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("M43").Select
    ActiveSheet.Paste

    Sheets("転記シート").Select
    Range("CW6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B14:E14").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CX6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F14").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CY6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B15:E15").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("CZ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F15").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DA6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B16:E16").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DB6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F16").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DC6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B17:E17").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DD6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F17").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DE6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B18:E18").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DF6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F18").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DG6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B19:E19").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DH6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F19").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DI6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B20:E20").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DJ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F20").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DK6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B21:E21").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DL6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F21").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DM6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B22:E22").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DN6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F22").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DO6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B23:E23").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DP6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F23").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DQ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B24:E24").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DR6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F24").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DS6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B25:E25").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DT6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F25").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DU6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B26:E26").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DV6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F26").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DW6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B27:E27").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DX6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F27").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DY6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B28:E28").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("DZ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F28").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EA6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B29:E29").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EB6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F29").Select
    ActiveSheet.Paste

    Sheets("転記シート").Select
    Range("EC6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B30:E30").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("ED6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F30").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EE6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B31:E31").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EF6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F31").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EG6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B32:E32").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EH6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F32").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EI6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B33:E33").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EJ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F33").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EK6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B34:E34").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EL6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F34").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EM6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B35:E35").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EN6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F35").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EO6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B36:E36").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EP6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F36").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EQ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B37:E37").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("ER6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F37").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("ES6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B38:E38").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("ET6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F38").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EU6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B39:E39").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EV6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F39").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EW6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B40:E40").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EX6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F40").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EY6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B41:E41").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("EZ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F41").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FA6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B42:E42").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FB6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F42").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FC6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=77, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("B43:E43").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FD6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=78, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("F43").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FE3").Select
    Selection.Copy
    Sheets("台帳").Select
    Range("P7").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("転記シート").Select
    Range("FF6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter Field:=162, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("P8").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FG6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=163, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("P9").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FH6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=164, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("P10").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FI6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=165, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=9
    Range("S18:S21").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FJ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=166, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=3
    Range("S22:V22").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FK6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=167, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=-15
    Range("P5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FL6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=168, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("Q5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FM6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=169, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("R5").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FN6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=170, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    ActiveWindow.SmallScroll Down:=18
    Range("S26").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FO6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=171, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("S27").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FP6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=172, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("S28").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FQ6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Range("J24").Select
    Range("FQ6").Select
    Selection.AutoFilter Field:=173, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("S29").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FR6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=174, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("S24").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FS6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=175, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("S25").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FT6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=176, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("V24").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FU6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter
    Selection.AutoFilter
    Selection.AutoFilter Field:=177, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("V25").Select
    ActiveSheet.Paste
    Sheets("転記シート").Select
    Range("FV6").Select
    Application.CutCopyMode = False
    Selection.AutoFilter

End Sub


 まずはこれ。
http://www.officetanaka.net/excel/vba/speed/s2.htm

 >Sheets("契約台帳データ").Select

 下の部分の意、セル範囲B5:go5を選択、選択したセル範囲をオートフィルタする。
 >   Range("B5:go5").Select
 >   Selection.AutoFilter

 選択してから、選択したものって同じだと思わないとダメ。
 とりあえす、不要そうな物を削除し縮めてテスト。
 (プロシジャーがでかいとか言われたら、別のプロシジャーで試す。)
 Range("B5:go5").AutoFilter

 更に、
 Sheets("契約台帳データ").Range("B5:go5").AutoFilter
 でも、試す。
 BJ


    Application.CutCopyMode = False
 
これは最後の一つ以外、全部不要。削除。
 
  ActiveWindow.SmallScroll Down:=??
 
これもスクロール動作が記録されているだけなので削除可能。
 
(みやほりん)(-_∂)b

 BJさん、みやほりんさん、ありがとうございます。

 みやほりんさんのアドバイス、非常に助かります。スクロールは削除した
 のですが、結構削除漏れがあり、助かりました。
 ご指摘の箇所を削除したら、VBAの実行が少し遅いものの、正常に動き
 ました。

 これ以上軽くする事は難しいでしょうか?
 一つ一つの操作をマクロに保存して作ったので、かなり美しくないと思います
 し、効率的ではないかと思います。

 素人質問で申し訳ないのですが、アドバイスいただければ助かります。

 よろしくお願いします。

 コードの行数が長いので、読み解くには時間がかかりますし、なにより根気・根性が必要です。
 
やりたいことを表を使って説明した方が早いと思います。
 
(ROUGE)


 アドバイスはすでに書きましたけど。
 全く読んでないのかな。

 追加でおまけ、
 効率的ってどう効率を考えているのか知らないけど、
 速度だけで見ると、初心者が書くベタコードの方が速い事もあるとの事。
 BJ

BJさんのコメント見ました。で、selectを取ってみるとエラーが出ました。

 Sheets("転記シート").Range("D6").Select
 Sheets("台帳").Range("K8").Select

 ↑Sheets( )のあとのselectをとって、rangeにつなげたんですが、
 デバックが出てます。BJさんのアドバイスを参考にしたのですが、
 これはどういう事なのでしょうか?

 BJさんのアドバイスはSelectをなくすってことだと思いますが、上記はSelectしていますよね?
 ActiveSheetがSheets("台帳")ならば、Sheets("転記シート").Range("D6").Selectは当然実行時エラーになります。
 (ROUGE)

 ROUGEさん、ありがとうございます。
 すいません、理解できてなくて・・・。
 Sheets("転記シート").Range("D6")
 Sheets("台帳").Range("K8")ということでしょうか?


 ときに形をまねることも大切ですが、
 きちんと内容を理解したほうが早道ではないでしょうか。
 (Mook)


    Sheets("転記シート").Range("D6").AutoFilter Field:=4, Criteria1:="<>"
    Sheets("転記シート").Range("D6:D10").Copy
    Sheets("台帳").Range("K8").PasteSpecial
    Sheets("転記シート").ShowAllData

    'Range("E6").Select  ←E6を選択してからオートフィルタをしているけど、
                           D6選択した時と範囲は変わらないはずなので、
                           範囲左上の明細?セル、D6でかまわない。
                           フィルタで絞る列は、Field:=列 で指定するから。
                                ↓
    Sheets("転記シート").Range("D6").AutoFilter Field:=5, Criteria1:="<>"
    Selection.Copy
        ↑
 範囲がわからないので、その時のセル選択状態によって変わりそうで、なんとも言えない。
 BJ

 エクセルしょしんしゃさん、こんにちは。佳です。

 > BJさんのコメント見ました。で、selectを取ってみるとエラーが出ました。 

 えっとですね。一般論としてですね。
   ●●.Select
   Seleltion.■■
 こういうコードは、たいていのばあいSelectを取って
   ●●.■■
 と書きかえることができるのですが、

 ごく一部ですが、書きかえのできないパターンがあります。
   Worksheets("aaa").Range("A1").Select
 じつわこれは問題のあるコードでして
 シートaaa以外がアクティブな状態でこのコードを実行するとエラーになるのです。
 なので、このコードに限っては
   Worksheets("aaa").Select
   Range("A1").Select
 こう書くしか仕方ありません。
 でも、Range("A1").Select の次の行が Selection.〜 となっていたら
 そちらを繋ぐことはできます。
 いろいろ試してください (^^ 

 −佳−

 BJさん、ありがとうございます。
 恐らく言われてるのは、("D6:D10").Copyの範囲の事と
 思われますが、これは各列で6〜10列目までのデータを
 空白以外のセルを選択した後、コピーという形にして
 います。コメントの一番下に書かれてる式ではその部分を
 削除しているように見えますが、それでも同じようになるの
 でしょうか?

 佳さん、今回の場合はselectをとるとエラーが出るんですね。
 情報、ありがとうございます。
 取れたらかなり行が削れるんですけど、残念ですね。


 >佳さん、今回の場合はselectをとるとエラーが出るんですね。
Selectしなくてもオートフィルタも可能だし、コピー貼り付けも可能です。
したがって、
 
> なので、このコードに限っては
>   Worksheets("aaa").Select
>   Range("A1").Select
> こう書くしか仕方ありません。
  
このような意見には俄かには承服しかねます。
BJさんの最初の投稿をよくご参考ください。
(みやほりん)(-_∂)b


 あまりにも長いコードなので、マクロで何がしたいかを把握する気にもなりません。
ただ、短くすることは十分可能でしょう。
ROUGEさんもおっしゃっていますが、表を使ってやりたいことを説明することが、
解決の近道だと思いますが…
なんとなく、やりたいことが分かった時、オートフィルタやコピペを使わないコードが出来上がるのではないかと予想します。

 (1or8)

 【1】
    Sheets("転記シート").Select
    Range("D6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=4, Criteria1:="<>"
    Range("D6:D10").Select
    Selection.Copy
 
これが
「これは各列で6〜10列目までのデータを空白以外のセルを選択した後、コピーという形にしています。」
ですね。(混乱を避けるために「各列で6〜10行目まで」というExcelでの共通表現をお願いしますね)
その後は「各列で6〜10行目までのデータを空白以外のセルを選択した後」が記録されていません。
例えば、そのすぐ後、
    Range("E6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=5, Criteria1:="<>"
    Selection.Copy
これなどは選択されているのはセルE6。コピーされるのもセルE6です。
当然その後の貼り付けされるものもE6だけ。
BJさんの
>その時のセル選択状態によって変わりそうで、なんとも言えない。
このコメントはこの部分がどのようになるか不明確であった為。
  
【2】
Field:=?? の部分で、Field番号が重複しているものがかなりあります。
単なるミスですか?
各列順番にオートフィルタしていけばよいのなら、セル選択は全く関係なくて、
このField番号を順番に変更していけばよいだけです。
 
【3】
貼り付け位置も規則性があるのなら、その説明をすべきです。
 
(みやほりん)(-_∂)b ループ処理をすれば、相当短くなる。

 みやほりんさん、ありがとうございます。
 なぜ各列毎にオートフィルターしなおして、選択して
 コピーしているかですが・・・例えば下記のようなデータに
 なってます。

      A列   B列   C列   D列
 1行目  300   AA   ああ   アア
 2行目            いい   
 3行目  500   BB        イイ
 4行目                 ウウ
 5行目           CC

 という入力になっていた場合、A列のオートフィルーで空白以外に
 してしまうと2行目、4行目、5行目は表示されなくなると思います。
 要はA,B,C,Dそれぞれ、データを別シートに貼り付けたいために
 オートフィルターをしなおしているのです。
 そうしなくてもいいなら確かに行数は相当減ると思うのですが・・・。

 各列ごとにオートフィルタしなおししていることに疑問はありません。
私が疑問に思っているのは、ご提示のコードが本当にエクセルしょしんしゃさんの
思い通りに記録され動いているものなのかどうか、ということです。
 
具体的には【1】の例であると、コピーされるのがE6だけになると言う点です。
本来の動作が、E6:E10をコピーすると言うものであれば、
 
  Sheets("転記シート").Select
    Range("E6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=5, Criteria1:="<>"
    Range("E6:E10").Select'★
    Selection.Copy
    Sheets("台帳").Select
    Range("S5:T5").Select
    ActiveSheet.Paste
 
このように記録されなければなりません(★部分)。
また、このコードは次のように書書き換えることが出来ます。
(D列がこの前にフィルタ状態だと仮定して)
 
  Sheets("転記シート").Range("E6").AutoFilter Field:=4'                     Rem D列のフィルタを「全て表示」 
  Sheets("転記シート").Range("E6").AutoFilter Field:=5, Criteria1:="<>"'    Rem E列でフィルタ、空白以外
    Sheets("転記シート").Range("E6:E10").Copy  Sheets("台帳").Range("S5:T5")' Rem フィルタ後の範囲を貼り付け先指定コピー
 
上記の書き換えを他の部分に適用しても相当行数は減りますが、さらに、
D列からFV列まで「フィルタしてコピー、貼り付け」の繰り返しのコードは、
条件によっては10行前後で作ることが出来ます。
 
「条件によっては」というのは貼り付け位置の規則性。
貼り付け先セルが1セルであったり3セルであったりとまちまちなので、
規則性があれば、その説明を頂きたいですね。
(みやほりん)(-_∂)b 

 こんにちは。佳です。

to みやほりんさん

 > このような意見には俄かには承服しかねます。
 > BJさんの最初の投稿をよくご参考ください。

 つまりこういうことですよね。
  (1) 原則 Selectは削除すべし
  (2) 例外 削除できないケースもある
  (3) 例外の例外
    (2)のように見えて、でも削除できるケースもある

 BJさんの最初の投稿は(1)、ただし(2)については注意深く言及を避けていた
 ところが質問者さんはいきなり(2)に出くわして、とまどっている
 わたしは(2)を説明した というつもりです。

 ご理解いただけるでしょうか。

エクセルしょしんしゃさん、こんにちは。佳です。

 誤解があるといけないので念のため。
 たいていのケースで Select は削除できます。
 今回のエクセルしょしんしゃさんのコードにも削除できる Select はいっぱいあります。

 Worksheets("aaa").Select
 Range("A1").Select 
 の、シートのほうのSelectは削除できませんが(しかしこれにも例外がある^^;)

 ほかの部分でSelectを削除できないか、どんどん試して下さいね。

 −佳−

 みやほりんさん、佳さんありがとうございます。
 まずみやほりんさんのいただいたことについて・・・

 >私が疑問に思っているのは、ご提示のコードが本当にエクセルしょしんしゃさんの
 思い通りに記録され動いているものなのかどうか、ということです。

 まずこの問いですが、転写は何度もVBAを実行して確認してますので、転写はされて
 ます。
 みやほりんさんの【1】でいうところは、下記箇所が該当すると思います。

 Sheets("転記シート").Select
    Range("D6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=4, Criteria1:="<>"
    Range("D6:D10").Select
    Selection.Copy
    Sheets("台帳").Select
    Range("K8").Select
    ActiveSheet.Paste

 これは転記シートのD6〜D10のデータを台帳シートの
 K6(〜K10)まで貼り付ける箇所ですが、ちゃんと転写
 出来てます。

 次にフィールドですが、これは実際にフィルターをかけて転写した
 のをマクロに記録してたのですが、途中VBAをコピー、はりつけ
 して加工してたので、間違い箇所があったかもしれません。
 もう一度確認してみます。
 (ただし、VBAの転写は何度もためしてますが全てうまくいってます。)

 みやほりんさんの書き込みで、下記の箇所が理解できなくてすいませんが、
 教えていただければ助かります。

 Sheets("転記シート").Range("E6").AutoFilter Field:=4'
 Rem D列のフィルタを「全て表示」 
 Sheets("転記シート").Range("E6").AutoFilter Field:=5, Criteria1:="<>"'
 Rem E列でフィルタ、空白以外
 Sheets("転記シート").Range("E6:E10").Copy  Sheets("台帳").Range("S5:T5")' 
 Rem フィルタ後の範囲を貼り付け先指定コピー
 
上記の書き換えを他の部分に適用しても相当行数は減りますが、さらに、
D列からFV列まで「フィルタしてコピー、貼り付け」の繰り返しのコードは、
条件によっては10行前後で作ることが出来ます。

 最後の1セルだったり、3セルだったりしてるのは貼り付け先が結合セルになってる
 ところがあるためです。

 よろしくお願いします。


  >エクセルしょしんしゃさん
現段階では理解する必要はありません。わかっている状況だけで書いたコードですから。
今の段階では、編集して短く出来るケースがある、とだけ覚えておいてください。
 
さて、以下の抜粋を切り出して、単独のプロシージャとします。
(★の行は私が書き足した部分ですので覚書にしておきます)
 
 Sub test()
     Sheets("転記シート").Select
     Range("E6").Select
     Selection.AutoFilter
     Selection.AutoFilter Field:=5, Criteria1:="<>"
     'Range("E6:E10").Select '★
     Selection.Copy
     Sheets("台帳").Select
     Range("S5:T5").Select
     ActiveSheet.Paste
 End Sub
 
これを実行した場合、台帳に転記されるのはE6だけとなります。
E6をコピー、貼り付けするのが目的であれば、オートフィルタは必要ありませんよね?
「フィルタ後にE6:E10の範囲で表示されているデータをコピーし、S5:T5へ貼り付ける」
と言うことであれば、★印の行は実行する必要があります。
ただし、S5;T5が結合セルで、E6:E10の範囲でフィルタ表示が複数ある場合は
ActiveSheet.Pasteはそのままでは実行できません。一工夫必要になります。
 
それでは、私の疑問に答えてください。
 
たまたまフィルタ後にE6:E10の範囲で表示されていたのがE6だった為このような記録になったのか。
それとも、E6だけ貼り付けられればよいのか。
さて、どちらでしょう。
 
(みやほりん)(-_∂)b

      A列   B列   C列   D列
 1行目  300   AA   ああ   アア
 2行目            いい   
 3行目  500   BB        イイ
 4行目                 ウウ
 5行目           CC

 A:D列の空白を無視して上に詰めるのであれば、
 
Sub test()
Dim tbl, ans, x, i As Long, ii As Long, iii As Long
With Sheets("元のシート")
    tbl = .Range("A1", .SpecialCells(xlLastCell)).Value
End With
ReDim ans(1 To UBound(tbl, 1), 1 To UBound(tbl, 2))
For ii = 1 To UBound(tbl, 2)
    iii = 0
    For i = 1 To UBound(tbl, 1)
        If Len(tbl(i, 1)) > 0 Then
           iii = iii + 1
           ans(iii, ii) = tbl(i, ii)
        End If
    Next
Next
Sheets("転記先").Cells.ClearContents
Sheets("転記先").Range("A1").Resize(UBound(ans, 1), UBound(tbl, 2)).Value = ans
End If
 
などとすれば可能です。
ご覧のとおりAutoFilterは使いません(Selectも)。
 
 
 佳さんへ。

 > Worksheets("aaa").Select
 > Range("A1").Select 
 > の、シートのほうのSelectは削除できませんが(しかしこれにも例外がある^^;)

 なぜ、Rangeオブジェクトに直接メソッドなりプロパティなりくっつけるようにすることを伝えてあげないのでしょうか?
このことにより、他のオブジェクトがない限りSelectは削除できるはずです(上記の例も削除可能です)。
逆に、上記のSelectする方法をそのまま踏襲している限り、Sheet ModuleでのVBA作成など不可能になりますよ?
 
たとえば、"bbb"という名前のシートモジュールに下記プロシジャがあったらどうなりますか?
 
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("aaa").Select
Range("A1").Select
Application.EnableEvents = False
Selection.Value = Target.Value
Application.EnableEvents = True
End Sub
 
お答えお待ちしています。
 
(ROUGE)

みやほりんさん、ありがとうございます。
 みやほりんさんの書かれてることが理解できません。
 すいません。先にみやほりんさんの疑問にお答えします。

 それでは、私の疑問に答えてください。
 たまたまフィルタ後にE6:E10の範囲で表示されていたのがE6だった為このような記録になったのか。
 それとも、E6だけ貼り付けられればよいのか。
 さて、どちらでしょう。

 → これは各列の動作をマクロに記録してる時に分かりやすいように各列の
     6行目のセルを指定してるだけで意味はありません。コピー先は
     入力自体は、4〜5回程度に分けて入力しますが、どの列も1つしか入力が
     ありません。(よって、上記の例のようになります。)
     E6とありますのは今の所、各列のデータが1つずつしか想定してないためです。
     なので、例ではA〜D列まで2つずつ書いてますが、1つずつでした。すいません。

 よろしくお願いします。


 ROUGEさん、ありがとうございます。
 早速、各列空白を無視するコードを教えていただき、ありがとうございます。
 全部でデータの範囲はB〜GO列になるのですが、教えていただいたコードでは
 どこをいじればいいのでしょうか?

 これが使えたらいいですね。(各列にオートフィルターを使う必要がなくなり
 ますから。)

 是非活用したいと思いますので、ご教示方よろしくお願いします。

 >E6とありますのは今の所、各列のデータが1つずつしか想定してないためです。
では何の為にオートフィルタを使っているのか・・・
なさろうとしていることがよくわかりません。
 Sub test()
     Sheets("転記シート").Select
     Range("E6").Select
     Selection.AutoFilter
     Selection.AutoFilter Field:=5, Criteria1:="<>"
     Range("E6:E10").Select '★
     Selection.Copy
     Sheets("台帳").Select
     Range("S5:T5").Select
     ActiveSheet.Paste
 End Sub
 
 Sub test2()
     Sheets("転記シート").Select
     Range("E6").Select
     Selection.AutoFilter
     Selection.AutoFilter Field:=5, Criteria1:="<>"
     Selection.Copy
     Sheets("台帳").Select
     Range("S5:T5").Select
     ActiveSheet.Paste
 End Sub
 
上記test とtest2はまったく別の範囲がコピー貼り付けされることは理解できますよね?
 
(みやほりん)(-_∂)b

 みやほりんさん、ありがとうございます。
 なぜオートフィルターをするのかは、例で記載しましたように
 入力したデータが一番上に常にあるわけではなく、列によっては
 空白行がずっと続いて、かなり下の方にデータがある場合があります。
 よって、オートフィルター→空白以外のセル指定→一番上にデータが
 あがってくるので(6行目)それをはりつけているためです。

ROUGEさん、こんにちは、佳です。

 >  なぜ、Rangeオブジェクトに直接メソッドなりプロパティなりくっつけるようにすることを伝えてあげないのでしょうか?
 ?? 教えていますが?
 最初のコメントで、
   ●●.select
   selection.▲▲
   となっているとき、たいていの場合はselectを省略して
   ●●.▲▲
   とできます
 と書き、最後に「試して下さい」と書いています。
 この「試して下さい」は、BJさんの最初のご回答にもあったもので
 わたしは特に意識してこの言葉を書きました。
 どんなときにうまくいくのか、どんなときにうまくいかないのか、
 いろいろ試していっぱい見つけてほしいのです。

  > たとえば、"bbb"という名前のシートモジュールに下記プロシジャがあったらどうなりますか?
 逆にお尋ねしますが、エクセルしょしんしゃさんに ただいま現在 この知識が必要でしょうか。

 −佳−

エクセルしょしんしゃさん、こんにちは、佳です。

 ROUGEさんの表をお借りして。
      A列   B列   C列   D列
  1行目  300   AA   ああ   アア
  2行目            いい   
  3行目  500   BB        イイ
  4行目                 ウウ
  5行目           CC

 この表で、たとえば「A列空白以外」でフィルタをかけたとします。
 すると1行目と3行目が表示されて残ります。
 この見えているデータをほかのシートに持っていきたいときは
 A1:A5をコピーして、ほかのシートに貼りつけるといいです。
 フィルタによって非表示になっている行は、コピペのとき着いて来ません。
 どの列でも、1行目から5行目までをコピー元に指定します。

 「どの列も同じ」というかたちに持ち込めたら、コードはとても短くできます。
 「どの列もおなじ規則」でもOKです。
 ところで、貼付先セルの位置に なにか一定のルールがありませんか?

 −佳−

 >入力したデータが一番上に常にあるわけではなく、列によっては
 >空白行がずっと続いて、かなり下の方にデータがある場合があります。
 >よって、オートフィルター→空白以外のセル指定→一番上にデータが
 >あがってくるので(6行目)それをはりつけているためです。
 
オートフィルタの動作について、誤解があると思われます。
オートフィルタは「行を上に上げてくる」機能ではなくて、
「該当しない行を非表示にする」機能です。
したがって、該当するデータがE10にあるならば、オートフィルタを
かけた状態でもそのデータはE10にあります。
したがって、オートフィルタを利用する場合は
「データの存在する可能性のあるセル範囲」を常にコピー元のセル範囲として
指定する必要が出てきます。
 
配列変数を使用する方法が提示されていますので、オートフィルタを使用するものと、
どちらの方針にされるか意思表示があるまで、ちょっと投稿控えますね。
(みやほりん)(-_∂)b

 エクセルしょしんしゃさん、

 私のサンプルを使うにしても、オートフィルタを使うにしても、みやほりんさんの疑問が解決しないとコードは組めません。
 私のコードは小さなサンプルに対する回答であって、実際のものに適用できるかは分かりません。
 ですから、最初にしたいことを説明した方が早いと書きました。
 そこから色々なサンプルコードが掲載されて、コードの理解が深まると思います。
 (実際のもので実施した方が理解は早いものですから)

 佳さん、

 > Worksheets("aaa").Select
 > Range("A1").Select 
 > の、シートのほうのSelectは削除できませんが(しかしこれにも例外がある^^;)

 このシートのほうのSelectは削除できませんが、の部分に齟齬があると思いました。
 削除できないわけではないことを何故書かないのかという疑問です(決して例外ではないです)。
 そのまま進まれては、Sheetオブジェクトは必ずSelectしないといけないと植え付けられてしまうと懸念しました。

 (ROUGE)

おはようございます。いろいろありがとうございます。
 したいことですが、VBAが重くなっているので軽くしたいのが
 一番です。(実行するのに10数秒かかってます。)

 まず佳さんのA1〜A5の範囲をコピーして、他のシートに貼り付けと
 ありますが、その次はどのようにするのでしょうか?
 また、想定するデータ量では1000行程度は出てくるかもしれませんが
 その場合でもいけるでしょうか?(入力箇所、空白箇所はバラバラに配置
 されてます。)

 次にみやほりんさんの疑問ですが、確かに上にあげる機能ではないのですが、
 結果的に空白行をなくして、データ入力行だけ表示するのでオートフィルター
 がいいのかなと思って使ってます。
 別にオートフィルターにこだわるつもりはありませんが、1000行程度の
 データがあるなかで空白以外をなくて、データ入力行だけはりつけ出来るのが
 他にありましたら、そちらを教えていただいても助かります。

 ROUGEさん、やりたいことは以下のとおりです。
 VBAの大半が入力データのみを他のシートに転写しています。
 今のVBAでは実行にかなり時間がかかるため、改善すべきものがありましたら
 (オートフィルターにこだわってませんので)教えていただければ助かります。

 よろしくお願いします。


 ですから、何がどうなっているのか
 なさいたいことをきちんと説明されるのが良いと思いますよ。

 処理に関係の有るシートは何枚有るのですか?
 それぞれのシート名は何ですか?
 元データはどの範囲にどの様なデータが入っていますか?
 処理をした結果、どのシートがどの様に成れば良いですか?

 表は、エクセルから貼り付けると簡単に記入出来ると思います。
 サンプルデータを作るのは大変ですが、
 なさいたいことが分かる様な表を作成し
  ↓な感じで載せて
 シート名
    [A]     [B]      [C]       [D]
 [1]
 [2]
 [3]

 説明も付け加えておくのが良いと思います。

 データの状況を不完全なコードから読みとるのは難しいです。

 (HANA)

こんにちは、佳です

 > まず佳さんのA1〜A5の範囲をコピーして、他のシートに貼り付けと
 > ありますが、その次はどのようにするのでしょうか?

 A列でフィルタをかけてA1〜A5をコピー、別シートのしかるべき位置に貼り付け
 B列でフィルタをかけてB1〜B5をコピー、別シートのしかるべき位置に貼り付け
 C列でフィルタをかけてC1〜C5をコピー、別シートのしかるべき位置に貼り付け
 D列でフィルタをかけてD1〜D5をコピー、別シートのしかるべき位置に貼り付け
  :

 なさりたいことはこういうことと思っていますが?

 > また、想定するデータ量では1000行程度は出てくるかもしれませんが
 > その場合でもいけるでしょうか?(入力箇所、空白箇所はバラバラに配置
 > されてます。)

 試されたうえでのご質問でしょうか。
 1000行どころか全行でもいけます。

 ところで、コピー元の各列に、データはかならず1つあるのでしょうか?
 2つ以上でなく、0でもなく、1つ? 

 ROUGEさん
 >  そのまま進まれては、Sheetオブジェクトは必ずSelectしないといけないと植え付けられてしまうと懸念しました。

 わたしが書いたのは、「アクティブでないシートのセルは選択できない」です。 

 先のことになりますが、もし本件を配列を使わず処理するとしたら、
 おそらくコピペのコードを書きかえることになるでしょうから、もういちどSheetオブジェクトが登場します。
 たぶんそのときに説明するほうが あのときに説明していたより分かりやすいと思います。
 あ、配列を使うとしてもやっぱりSheetオブジェクトは登場しますが(笑)。


 私としては、このスレッドをこれで終わりにしてほしいです。
 人の話を全く聴こうしないし、自分で調べよう、テストしてみよう、
 とか思わないみたいですので。
 最初の趣旨と変わっているし。
 新しいスレッドを立ててほしいです。
 そうすればこのスレッドに参加したことが消える??ないですけど、気分的に。

 佳さんの言っている事は、最初から解っています。
 みやほりんさんに突っ込もうかと思いましたが、
 このスレッドに参加したくなくなったので。
 BJ

 すいません。上手く説明できなくて・・・。
 やりたいことと状況を書きますね。

 ・使用するシートは2つ(転写元のシート(転記シート)と貼付先のシート(台帳)
 ・転記シートにはB列からGO列まであり、データ数は各列とも最大1,000行を想定。
 ・転記シートにあるデータは空白行もあるが、各列ともデータは1つで、この各列のデータを
  台帳シートに貼付けしたい。
 ・貼付先には単独セルもあれば結合セルもある。

 【転写シートの状況】
      B列  C列  D列  E列  F列 ・・・・GO列
 1行目         ○○組
 2行目  ああ    
 3行目              ○○課
 4行目                  EE
  ・
   ・
   ・
 1,000行目    イイ

 【貼付先のシート】
 台帳様式になっているのですが、例えば転写元のB列のデータは貼付先の
 B:C5行目へ貼付等になっています。(結合セルが多いです。)
  
 すいません、上手く説明できなくて。


 >各列ともデータは1つで
LOOKUP関数を1001行目に仕込めばAutoFilterの処理は全て不要


 >すいません、上手く説明できなくて。
 そうですね。ご提示のデータでは
 オートフィルタの設定も上手く出来ているのか疑問に思います。
 (見出し行が在りませんし。)

 お話を最初に戻しますと
 >プロシージャーが
 >大きすぎますというエラーが出ました。
 >解決策を教えてください。
 と言うご質問内容でした。

 しかし
 >VBAが重くなっているので軽くしたいのが
 >一番です。(実行するのに10数秒かかってます。)
 と言う事は、動いていると言う事ですよね?

 動いているのか、動いていないのか。。。。???

 以下、最初に載せて居られるコードを主体に考えてみます。

 >確かに上にあげる機能ではないのですが、
 >結果的に空白行をなくして、データ入力行だけ表示するのでオートフィルター
 >がいいのかなと思って使ってます。
 ここがどうしても気になるので、コメントしておきます。

 以下のようなデータを用意して、B列のオートフィルタで空白行を非表示にすると
 	[A]	[B]
[1]	番号 ▼	内容 ▼
[2]	1	
[3]	2	
[4]	3	あ
[5]	4	
[6]	5	
 ↓の状態に成りますね?
	[A]	[B]
[1]	番号 ▼	内容 ▼
[4]	3	あ

 B1セルのすぐ下に表示されているのは、B4セルです。
 B2セルではありません。

 B4セルをコピーして別の場所へ貼り付ければ「あ」が貼り付きますが
 B2セルをコピーして別の場所へ貼り付けても、何も貼り付きません。
 B2:B6セルをコピーして別の場所へ貼り付ければ「あ」が貼り付きます。

 動いているコードがどの様なコードなのかよく分かりませんが
 「B2セルをコピーして別の場所へ貼り付け」の様に
 単独のセルを選択してコピーして貼り付けるコードになっていて
   ↓の様な
    Sheets("転記シート").Select
    Range("I6").Select
    Selection.AutoFilter
    Selection.AutoFilter Field:=9, Criteria1:="<>"
    Selection.Copy
    Sheets("台帳").Select
    Range("N5").Select
    ActiveSheet.Paste
 それで希望する結果を得られているのであれば
 オートフィルタは不要 と言う事になると思います。

 ご提示のデータのイメージでは
 それぞれの列で、入力が在る行が移動するような印象を受けないのですが
 実際は移動するのですか?
 今後移動した場合でも、柔軟に対応出来るコードにしたい と言う事なのでしょうか?

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


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