[[20090623211406]] 『VBAの重さについて』(どしろうと) ページの最後に飛ぶ

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

 

『VBAの重さについて』(どしろうと)

下記のようなVBAを作成したのですが、ユーザー

 フォームを開く際、ものすごく重くなりました。
 (ユーザーフォームに行くまで数秒かかる。)
 原因はコンボボックスが多いためデータを読みにいく
 手間だと思うのですが、出来ればコンボボックスは
 生かしたいのです。
 アドバイスを是非よろしくお願いします。
 (バージョン エクセル2000)

 (VBAの内容)
 ユーザーフォームから「マクロ」シートにデータを
 飛ばして、それを「データ」のシートに貼り付けます。
 @ユーザーフォームは入力項目が多いのと入力時期が
 異なるため、5つのタブに分けています。
 Aデータを飛ばすボタンは今のところ一つです。

 Private Sub TextBox1_Change()

 End Sub

 Private Sub CommandButton1_Click()

 '【入力表からマクロへデータを貼り付けます。】
 Sheets("マクロ").Select
 Range("U3").Select
 ActiveCell.Value = TextBox4.Value
 Range("V3").Select
 ActiveCell.Value = TextBox5.Value
 Range("M3").Select
 ActiveCell.Value = TextBox6.Value
 Range("Q3").Select
 ActiveCell.Value = TextBox7.Value
 Range("K3").Select
 ActiveCell.Value = TextBox8.Value
 Range("L3").Select
 ActiveCell.Value = TextBox9.Value
 Range("N3").Select
 ActiveCell.Value = TextBox10.Value
 Range("R3").Select
 ActiveCell.Value = TextBox11.Value
 Range("O3").Select
 ActiveCell.Value = TextBox19.Value
 Range("S3").Select
 ActiveCell.Value = TextBox20.Value
 Range("Z3").Select
 ActiveCell.Value = TextBox21.Value
 Range("AA3").Select
 ActiveCell.Value = TextBox22.Value
 Range("Y3").Select
 ActiveCell.Value = TextBox23.Value
 Range("W3").Select
 ActiveCell.Value = TextBox24.Value
 Range("D3").Select
 ActiveCell.Value = TextBox25.Value
 Range("FK3").Select
 ActiveCell.Value = TextBox26.Value
 Range("FL3").Select
 ActiveCell.Value = TextBox27.Value
 Range("FM3").Select
 ActiveCell.Value = TextBox28.Value
 Range("FE3").Select
 ActiveCell.Value = TextBox29.Value
 Range("FG3").Select
 ActiveCell.Value = TextBox30.Value
 Range("FH3").Select
 ActiveCell.Value = TextBox31.Value
 Range("fz3").Select
 ActiveCell.Value = TextBox32.Value
 Range("GA3").Select
 ActiveCell.Value = TextBox33.Value
 Range("GB3").Select
 ActiveCell.Value = TextBox34.Value
 Range("GC3").Select
 ActiveCell.Value = TextBox35.Value
 Range("GD3").Select
 ActiveCell.Value = TextBox36.Value
 Range("GE3").Select
 ActiveCell.Value = TextBox37.Value
 Range("GF3").Select
 ActiveCell.Value = TextBox38.Value
 Range("GG3").Select
 ActiveCell.Value = TextBox39.Value
 Range("GH3").Select
 ActiveCell.Value = TextBox40.Value
 Range("GI3").Select
 ActiveCell.Value = TextBox41.Value
 Range("FN3").Select
 ActiveCell.Value = TextBox42.Value
 Range("FO3").Select
 ActiveCell.Value = TextBox43.Value
 Range("FP3").Select
 ActiveCell.Value = TextBox44.Value
 Range("FQ3").Select
 ActiveCell.Value = TextBox45.Value
 Range("GJ3").Select
 ActiveCell.Value = TextBox46.Value
 Range("GK3").Select
 ActiveCell.Value = TextBox47.Value
 Range("GL3").Select
 ActiveCell.Value = TextBox48.Value
 Range("D3").Select
 ActiveCell.Value = TextBox49.Value
 Range("Z3").Select
 ActiveCell.Value = TextBox50.Value
 Range("AA3").Select
 ActiveCell.Value = TextBox51.Value
 Range("W3").Select
 ActiveCell.Value = TextBox52.Value
 Range("FM3").Select
 ActiveCell.Value = TextBox53.Value
 Range("FE3").Select
 ActiveCell.Value = TextBox54.Value
 Range("FG3").Select
 ActiveCell.Value = TextBox55.Value
 Range("FH3").Select
 ActiveCell.Value = TextBox56.Value
 Range("FZ3").Select
 ActiveCell.Value = TextBox57.Value
 Range("GA3").Select
 ActiveCell.Value = TextBox58.Value
 Range("GB3").Select
 ActiveCell.Value = TextBox59.Value
 Range("GC3").Select
 ActiveCell.Value = TextBox60.Value
 Range("GD3").Select
 ActiveCell.Value = TextBox61.Value
 Range("GE3").Select
 ActiveCell.Value = TextBox62.Value
 Range("GF3").Select
 ActiveCell.Value = TextBox63.Value
 Range("GG3").Select
 ActiveCell.Value = TextBox64.Value
 Range("GH3").Select
 ActiveCell.Value = TextBox65.Value
 Range("GI3").Select
 ActiveCell.Value = TextBox66.Value
 Range("FV3").Select
 ActiveCell.Value = TextBox67.Value
 Range("FW3").Select
 ActiveCell.Value = TextBox68.Value
 Range("FX3").Select
 ActiveCell.Value = TextBox69.Value
 Range("FY3").Select
 ActiveCell.Value = TextBox70.Value
 Range("GM3").Select
 ActiveCell.Value = TextBox71.Value
 Range("f3").Select
 ActiveCell.Value = ComboBox1.Value
 Range("H3").Select
 ActiveCell.Value = ComboBox2.Value
 Range("b3").Select
 ActiveCell.Value = ComboBox3.Value
 Range("c3").Select
 ActiveCell.Value = ComboBox4.Value
 Range("I3").Select
 ActiveCell.Value = ComboBox5.Value
 Range("CW3").Select
 ActiveCell.Value = ComboBox6.Value
 Range("CX3").Select
 ActiveCell.Value = ComboBox7.Value
 Range("CY3").Select
 ActiveCell.Value = ComboBox8.Value
 Range("CZ3").Select
 ActiveCell.Value = ComboBox9.Value
 Range("DA3").Select
 ActiveCell.Value = ComboBox10.Value
 Range("db3").Select
 ActiveCell.Value = ComboBox11.Value
 Range("DC3").Select
 ActiveCell.Value = ComboBox12.Value
 Range("dd3").Select
 ActiveCell.Value = ComboBox13.Value
 Range("de3").Select
 ActiveCell.Value = ComboBox14.Value
 Range("df3").Select
 ActiveCell.Value = ComboBox15.Value
 Range("dg3").Select
 ActiveCell.Value = ComboBox16.Value
 Range("dh3").Select
 ActiveCell.Value = ComboBox17.Value
 Range("di3").Select
 ActiveCell.Value = ComboBox18.Value
 Range("dj3").Select
 ActiveCell.Value = ComboBox19.Value
 Range("dk3").Select
 ActiveCell.Value = ComboBox20.Value
 Range("dl3").Select
 ActiveCell.Value = ComboBox21.Value
 Range("dm3").Select
 ActiveCell.Value = ComboBox22.Value
 Range("dn3").Select
 ActiveCell.Value = ComboBox23.Value
 Range("do3").Select
 ActiveCell.Value = ComboBox24.Value
 Range("dp3").Select
 ActiveCell.Value = ComboBox25.Value
 Range("dq3").Select
 ActiveCell.Value = ComboBox26.Value
 Range("dr3").Select
 ActiveCell.Value = ComboBox27.Value
 Range("ds3").Select
 ActiveCell.Value = ComboBox28.Value
 Range("dt3").Select
 ActiveCell.Value = ComboBox29.Value
 Range("du3").Select
 ActiveCell.Value = ComboBox30.Value
 Range("dv3").Select
 ActiveCell.Value = ComboBox31.Value
 Range("dw3").Select
 ActiveCell.Value = ComboBox32.Value
 Range("dx3").Select
 ActiveCell.Value = ComboBox33.Value
 Range("dy3").Select
 ActiveCell.Value = ComboBox34.Value
 Range("dz3").Select
 ActiveCell.Value = ComboBox35.Value
 Range("ea3").Select
 ActiveCell.Value = ComboBox36.Value
 Range("eb3").Select
 ActiveCell.Value = ComboBox37.Value
 Range("ec3").Select
 ActiveCell.Value = ComboBox38.Value
 Range("ed3").Select
 ActiveCell.Value = ComboBox39.Value
 Range("ee3").Select
 ActiveCell.Value = ComboBox40.Value
 Range("ef3").Select
 ActiveCell.Value = ComboBox41.Value
 Range("eg3").Select
 ActiveCell.Value = ComboBox42.Value
 Range("eh3").Select
 ActiveCell.Value = ComboBox43.Value
 Range("ei3").Select
 ActiveCell.Value = ComboBox44.Value
 Range("ej3").Select
 ActiveCell.Value = ComboBox45.Value
 Range("ek3").Select
 ActiveCell.Value = ComboBox46.Value
 Range("el3").Select
 ActiveCell.Value = ComboBox47.Value
 Range("em3").Select
 ActiveCell.Value = ComboBox48.Value
 Range("en3").Select
 ActiveCell.Value = ComboBox49.Value
 Range("eo3").Select
 ActiveCell.Value = ComboBox50.Value
 Range("ep3").Select
 ActiveCell.Value = ComboBox51.Value
 Range("eq3").Select
 ActiveCell.Value = ComboBox52.Value
 Range("er3").Select
 ActiveCell.Value = ComboBox53.Value
 Range("es3").Select
 ActiveCell.Value = ComboBox54.Value
 Range("et3").Select
 ActiveCell.Value = ComboBox55.Value
 Range("eu3").Select
 ActiveCell.Value = ComboBox56.Value
Range("ev3").Select
ActiveCell.Value = ComboBox57.Value
Range("ew3").Select
ActiveCell.Value = ComboBox58.Value
Range("ex3").Select
ActiveCell.Value = ComboBox59.Value
Range("ey3").Select
ActiveCell.Value = ComboBox60.Value
Range("ez3").Select
ActiveCell.Value = ComboBox61.Value
Range("fa3").Select
ActiveCell.Value = ComboBox62.Value
Range("fb3").Select
ActiveCell.Value = ComboBox63.Value
Range("fc3").Select
ActiveCell.Value = ComboBox64.Value
Range("fd3").Select
ActiveCell.Value = ComboBox65.Value
Range("ao3").Select
ActiveCell.Value = ComboBox66.Value
Range("ap3").Select
ActiveCell.Value = ComboBox67.Value
Range("aq3").Select
ActiveCell.Value = ComboBox68.Value
Range("ar3").Select
ActiveCell.Value = ComboBox69.Value
Range("as3").Select
ActiveCell.Value = ComboBox70.Value
Range("at3").Select
ActiveCell.Value = ComboBox71.Value
Range("au3").Select
ActiveCell.Value = ComboBox72.Value
Range("av3").Select
ActiveCell.Value = ComboBox73.Value
Range("aw3").Select
ActiveCell.Value = ComboBox74.Value
Range("ax3").Select
ActiveCell.Value = ComboBox75.Value
Range("ay3").Select
ActiveCell.Value = ComboBox76.Value
Range("az3").Select
ActiveCell.Value = ComboBox77.Value
Range("ba3").Select
ActiveCell.Value = ComboBox78.Value
Range("bb3").Select
ActiveCell.Value = ComboBox79.Value
Range("bc3").Select
ActiveCell.Value = ComboBox80.Value
Range("bd3").Select
ActiveCell.Value = ComboBox81.Value
Range("be3").Select
ActiveCell.Value = ComboBox82.Value
Range("bf3").Select
ActiveCell.Value = ComboBox83.Value
Range("bg3").Select
ActiveCell.Value = ComboBox84.Value
Range("bh3").Select
ActiveCell.Value = ComboBox85.Value
Range("bi3").Select
ActiveCell.Value = ComboBox86.Value
Range("bj3").Select
ActiveCell.Value = ComboBox87.Value
Range("bk3").Select
ActiveCell.Value = ComboBox88.Value
Range("bl3").Select
ActiveCell.Value = ComboBox89.Value
Range("bm3").Select
ActiveCell.Value = ComboBox90.Value
Range("bn3").Select
ActiveCell.Value = ComboBox91.Value
Range("bo3").Select
ActiveCell.Value = ComboBox92.Value
Range("bp3").Select
ActiveCell.Value = ComboBox93.Value
Range("bq3").Select
ActiveCell.Value = ComboBox94.Value
Range("br3").Select
ActiveCell.Value = ComboBox95.Value
Range("bs3").Select
ActiveCell.Value = ComboBox96.Value
Range("bt3").Select
ActiveCell.Value = ComboBox97.Value
Range("bu3").Select
ActiveCell.Value = ComboBox98.Value
Range("bv3").Select
ActiveCell.Value = ComboBox99.Value
Range("bw3").Select
ActiveCell.Value = ComboBox100.Value
Range("bx3").Select
ActiveCell.Value = ComboBox101.Value
Range("by3").Select
ActiveCell.Value = ComboBox102.Value
Range("bz3").Select
ActiveCell.Value = ComboBox103.Value
Range("ca3").Select
ActiveCell.Value = ComboBox104.Value
Range("cb3").Select
ActiveCell.Value = ComboBox105.Value
Range("cc3").Select
ActiveCell.Value = ComboBox106.Value
Range("cd3").Select
ActiveCell.Value = ComboBox107.Value
Range("ce3").Select
ActiveCell.Value = ComboBox108.Value
Range("cf3").Select
ActiveCell.Value = ComboBox109.Value
Range("cg3").Select
ActiveCell.Value = ComboBox110.Value
Range("ch3").Select
ActiveCell.Value = ComboBox111.Value
Range("ci3").Select
ActiveCell.Value = ComboBox112.Value
Range("cj3").Select
ActiveCell.Value = ComboBox113.Value
Range("ck3").Select
ActiveCell.Value = ComboBox114.Value
Range("cl3").Select
ActiveCell.Value = ComboBox115.Value
Range("cm3").Select
ActiveCell.Value = ComboBox116.Value
Range("cn3").Select
ActiveCell.Value = ComboBox117.Value
Range("co3").Select
ActiveCell.Value = ComboBox118.Value
Range("cp3").Select
ActiveCell.Value = ComboBox119.Value
Range("cq3").Select
ActiveCell.Value = ComboBox120.Value
Range("cr3").Select
ActiveCell.Value = ComboBox121.Value
Range("cs3").Select
ActiveCell.Value = ComboBox122.Value
Range("ct3").Select
ActiveCell.Value = ComboBox123.Value
Range("cu3").Select
ActiveCell.Value = ComboBox124.Value
Range("cv3").Select
ActiveCell.Value = ComboBox125.Value
Range("cr3").Select
ActiveCell.Value = ComboBox126.Value
Range("cs3").Select
ActiveCell.Value = ComboBox122.Value
Range("ct3").Select
ActiveCell.Value = ComboBox123.Value
Range("cu3").Select
ActiveCell.Value = ComboBox124.Value
Range("cv3").Select
ActiveCell.Value = ComboBox125.Value
Range("ab3").Select
ActiveCell.Value = ComboBox126.Value
Range("g3").Select
ActiveCell.Value = ComboBox127.Value
Range("ad3").Select
ActiveCell.Value = ComboBox128.Value
Range("ae3").Select
ActiveCell.Value = ComboBox129.Value
Range("af3").Select
ActiveCell.Value = ComboBox130.Value
Range("ag3").Select
ActiveCell.Value = ComboBox131.Value
Range("ah3").Select
ActiveCell.Value = ComboBox132.Value
Range("ai3").Select
ActiveCell.Value = ComboBox133.Value
Range("aj3").Select
ActiveCell.Value = ComboBox134.Value
Range("ak3").Select
ActiveCell.Value = ComboBox135.Value
Range("al3").Select
ActiveCell.Value = ComboBox136.Value
Range("am3").Select
ActiveCell.Value = ComboBox137.Value
Range("j3").Select
ActiveCell.Value = ComboBox138.Value
Range("e3").Select
ActiveCell.Value = ComboBox139.Value
Range("gn3").Select
ActiveCell.Value = ComboBox140.Value
Range("go3").Select
ActiveCell.Value = ComboBox141.Value
Range("ff3").Select
ActiveCell.Value = ComboBox142.Value
Range("fr3").Select
ActiveCell.Value = ComboBox143.Value
Range("fs3").Select
ActiveCell.Value = ComboBox144.Value
Range("an3").Select
ActiveCell.Value = ComboBox145.Value
Range("ft3").Select
ActiveCell.Value = ComboBox146.Value
Range("fu3").Select
ActiveCell.Value = ComboBox147.Value

 '【マクロシートのデータをコピーし、データに貼り付けます。】

 Sheets("マクロ").Select
 ActiveSheet.Calculate
 Range("b3:go3").Select
 Selection.Copy
 Range("a1").Select
 Sheets("データ").Select
 Range("b65536").End(xlUp).Activate
 ActiveCell.Offset(1, 0).Activate
 ActiveCell.PasteSpecial Paste:=xlPasteValues, 
  Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
 Sheets("データ").Select
     Range("b6:c2000").Select
     Selection.NumberFormatLocal = "000"
     Range("B6").Select

 TextBox1.Value = Empty
 TextBox2.Value = Empty
 TextBox3.Value = Empty
 TextBox4.Value = Empty
 TextBox5.Value = Empty
 TextBox6.Value = Empty
 TextBox7.Value = Empty
 TextBox8.Value = Empty
 TextBox9.Value = Empty
 TextBox10.Value = Empty
 TextBox11.Value = Empty
 TextBox12.Value = Empty
 TextBox13.Value = Empty
 TextBox14.Value = Empty
 TextBox15.Value = Empty
 TextBox16.Value = Empty
 TextBox17.Value = Empty
 TextBox18.Value = Empty
 TextBox19.Value = Empty
 TextBox20.Value = Empty
 TextBox21.Value = Empty
 TextBox22.Value = Empty
 TextBox23.Value = Empty
 TextBox24.Value = Empty
 TextBox25.Value = Empty
 TextBox26.Value = Empty
 TextBox27.Value = Empty
 TextBox28.Value = Empty
 TextBox29.Value = Empty
 TextBox30.Value = Empty
 TextBox31.Value = Empty
 TextBox32.Value = Empty
 TextBox33.Value = Empty
 TextBox34.Value = Empty
 TextBox35.Value = Empty
 TextBox36.Value = Empty
 TextBox37.Value = Empty
 TextBox38.Value = Empty
 TextBox39.Value = Empty
 TextBox40.Value = Empty
 TextBox41.Value = Empty
 TextBox42.Value = Empty
 TextBox43.Value = Empty
 TextBox44.Value = Empty
 TextBox45.Value = Empty
 TextBox46.Value = Empty
 TextBox47.Value = Empty
 TextBox48.Value = Empty
 TextBox49.Value = Empty
 TextBox50.Value = Empty
 TextBox51.Value = Empty
 TextBox52.Value = Empty
 TextBox53.Value = Empty
 TextBox54.Value = Empty
 TextBox55.Value = Empty
 TextBox56.Value = Empty
 TextBox57.Value = Empty
 TextBox58.Value = Empty
 TextBox59.Value = Empty
 TextBox60.Value = Empty
 TextBox61.Value = Empty
 TextBox62.Value = Empty
 TextBox63.Value = Empty
 TextBox64.Value = Empty
 TextBox65.Value = Empty
 TextBox66.Value = Empty
 TextBox67.Value = Empty
 TextBox68.Value = Empty
 TextBox69.Value = Empty
 TextBox70.Value = Empty
 TextBox71.Value = Empty
 ComboBox1.Value = Empty
 ComboBox2.Value = Empty
 ComboBox3.Value = Empty
 ComboBox4.Value = Empty
 ComboBox5.Value = Empty
 ComboBox6.Value = Empty
 ComboBox7.Value = Empty
 ComboBox8.Value = Empty
 ComboBox9.Value = Empty
 ComboBox10.Value = Empty
 ComboBox11.Value = Empty
 ComboBox12.Value = Empty
 ComboBox13.Value = Empty
 ComboBox14.Value = Empty
 ComboBox15.Value = Empty
 ComboBox16.Value = Empty
 ComboBox17.Value = Empty
 ComboBox18.Value = Empty
 ComboBox19.Value = Empty
 ComboBox20.Value = Empty
 ComboBox21.Value = Empty
 ComboBox22.Value = Empty
 ComboBox23.Value = Empty
 ComboBox24.Value = Empty
 ComboBox25.Value = Empty
 ComboBox26.Value = Empty
 ComboBox27.Value = Empty
 ComboBox28.Value = Empty
 ComboBox29.Value = Empty
 ComboBox30.Value = Empty
 ComboBox31.Value = Empty
 ComboBox32.Value = Empty
 ComboBox33.Value = Empty
 ComboBox34.Value = Empty
 ComboBox35.Value = Empty
 ComboBox36.Value = Empty
 ComboBox37.Value = Empty
 ComboBox38.Value = Empty
 ComboBox39.Value = Empty
 ComboBox40.Value = Empty
 ComboBox41.Value = Empty
 ComboBox42.Value = Empty
 ComboBox43.Value = Empty
 ComboBox44.Value = Empty
 ComboBox45.Value = Empty
 ComboBox46.Value = Empty
 ComboBox47.Value = Empty
 ComboBox48.Value = Empty
 ComboBox49.Value = Empty
 ComboBox50.Value = Empty
 ComboBox51.Value = Empty
 ComboBox52.Value = Empty
 ComboBox53.Value = Empty
 ComboBox54.Value = Empty
 ComboBox55.Value = Empty
 ComboBox56.Value = Empty
 ComboBox57.Value = Empty
 ComboBox58.Value = Empty
 ComboBox59.Value = Empty
 ComboBox60.Value = Empty
 ComboBox61.Value = Empty
 ComboBox62.Value = Empty
 ComboBox63.Value = Empty
 ComboBox64.Value = Empty
 ComboBox65.Value = Empty
 ComboBox66.Value = Empty
 ComboBox67.Value = Empty
 ComboBox68.Value = Empty
 ComboBox69.Value = Empty
 ComboBox70.Value = Empty
 ComboBox71.Value = Empty
 ComboBox72.Value = Empty
 ComboBox73.Value = Empty
 ComboBox74.Value = Empty
 ComboBox75.Value = Empty
 ComboBox76.Value = Empty
 ComboBox77.Value = Empty
 ComboBox78.Value = Empty
 ComboBox79.Value = Empty
 ComboBox80.Value = Empty
 ComboBox81.Value = Empty
 ComboBox82.Value = Empty
 ComboBox83.Value = Empty
 ComboBox84.Value = Empty
 ComboBox85.Value = Empty
 ComboBox86.Value = Empty
 ComboBox87.Value = Empty
 ComboBox88.Value = Empty
 ComboBox89.Value = Empty
 ComboBox90.Value = Empty
 ComboBox91.Value = Empty
 ComboBox92.Value = Empty
 ComboBox93.Value = Empty
 ComboBox94.Value = Empty
 ComboBox95.Value = Empty
 ComboBox96.Value = Empty
 ComboBox97.Value = Empty
 ComboBox98.Value = Empty
 ComboBox99.Value = Empty
 ComboBox100.Value = Empty
 ComboBox101.Value = Empty
 ComboBox102.Value = Empty
 ComboBox103.Value = Empty
 ComboBox104.Value = Empty
 ComboBox105.Value = Empty
 ComboBox106.Value = Empty
 ComboBox107.Value = Empty
 ComboBox108.Value = Empty
 ComboBox109.Value = Empty
 ComboBox110.Value = Empty
 ComboBox111.Value = Empty
 ComboBox112.Value = Empty
 ComboBox113.Value = Empty
 ComboBox114.Value = Empty
 ComboBox115.Value = Empty
 ComboBox116.Value = Empty
 ComboBox117.Value = Empty
 ComboBox118.Value = Empty
 ComboBox119.Value = Empty
 ComboBox120.Value = Empty
 ComboBox121.Value = Empty
 ComboBox122.Value = Empty
 ComboBox123.Value = Empty
 ComboBox124.Value = Empty
 ComboBox125.Value = Empty
 ComboBox126.Value = Empty
 ComboBox127.Value = Empty
 ComboBox128.Value = Empty
 ComboBox129.Value = Empty
 ComboBox130.Value = Empty
 ComboBox131.Value = Empty
 ComboBox132.Value = Empty
 ComboBox133.Value = Empty
 ComboBox134.Value = Empty
 ComboBox135.Value = Empty
 ComboBox136.Value = Empty
 ComboBox137.Value = Empty
 ComboBox138.Value = Empty
 ComboBox139.Value = Empty
 ComboBox140.Value = Empty
 ComboBox141.Value = Empty
 ComboBox142.Value = Empty
 ComboBox143.Value = Empty
 ComboBox144.Value = Empty
 ComboBox145.Value = Empty
 ComboBox146.Value = Empty
 ComboBox147.Value = Empty
 Sheets("マクロ").Select

 End Sub

 Private Sub TextBox4_Change()

 End Sub

 '【マクロに登録されている項目を選びます。】
 Private Sub userform_activate()
 Sheets("マクロ").Select
 ComboBox1.RowSource = "f6:f50"
 ComboBox1.ListRows = 50
 Sheets("マクロ").Select
 ComboBox2.RowSource = "h6:h30"
 ComboBox2.ListRows = 20
 Sheets("マクロ").Select
 ComboBox3.RowSource = "b6:b500"
 ComboBox3.ListRows = 50
 Sheets("マクロ").Select
 ComboBox4.RowSource = "c6:c104"
 ComboBox4.ListRows = 20
 Sheets("マクロ").Select
 ComboBox5.RowSource = "i6:i50"
 ComboBox5.ListRows = 20
 Sheets("マクロ").Select
 ComboBox6.RowSource = "cw6:cw50"
 ComboBox6.ListRows = 20
 Sheets("マクロ").Select
 ComboBox7.RowSource = "cx6:cx30"
 ComboBox7.ListRows = 10
 Sheets("マクロ").Select
 ComboBox8.RowSource = "cy6:cy50"
 ComboBox8.ListRows = 20
 Sheets("マクロ").Select
 ComboBox9.RowSource = "cz6:cz30"
 ComboBox9.ListRows = 10
 Sheets("マクロ").Select
 ComboBox10.RowSource = "da6:da50"
 ComboBox10.ListRows = 20
 Sheets("マクロ").Select
 ComboBox11.RowSource = "db6:db30"
 ComboBox11.ListRows = 10
 Sheets("マクロ").Select
 ComboBox12.RowSource = "dc6:dc50"
 ComboBox12.ListRows = 20
 Sheets("マクロ").Select
 ComboBox13.RowSource = "dd6:dd30"
 ComboBox13.ListRows = 10
 Sheets("マクロ").Select
 ComboBox14.RowSource = "de6:de50"
 ComboBox14.ListRows = 20
 Sheets("マクロ").Select
 ComboBox15.RowSource = "df6:df30"
 ComboBox15.ListRows = 10
 Sheets("マクロ").Select
 ComboBox16.RowSource = "dg6:dg50"
 ComboBox16.ListRows = 20
 Sheets("マクロ").Select
 ComboBox17.RowSource = "dh6:dh30"
 ComboBox17.ListRows = 10
 Sheets("マクロ").Select
 ComboBox18.RowSource = "di6:di50"
 ComboBox18.ListRows = 20
 Sheets("マクロ").Select
 ComboBox19.RowSource = "dj6:dj30"
 ComboBox19.ListRows = 10
 Sheets("マクロ").Select
 ComboBox20.RowSource = "dk6:dk50"
 ComboBox20.ListRows = 20
 Sheets("マクロ").Select
 ComboBox21.RowSource = "dl6:dl30"
 ComboBox21.ListRows = 10
 Sheets("マクロ").Select
 ComboBox22.RowSource = "dm6:dm50"
 ComboBox22.ListRows = 20
 Sheets("マクロ").Select
 ComboBox23.RowSource = "dn6:dn30"
 ComboBox23.ListRows = 10
 Sheets("マクロ").Select
 ComboBox24.RowSource = "do6:do50"
 ComboBox24.ListRows = 20
 Sheets("マクロ").Select
 ComboBox25.RowSource = "dp6:dp30"
 ComboBox25.ListRows = 10
 Sheets("マクロ").Select
 ComboBox65.RowSource = "fd6:fd30"
 ComboBox65.ListRows = 10
 Sheets("マクロ").Select
 ComboBox66.RowSource = "ao6:ao30"
 ComboBox66.ListRows = 10
 Sheets("マクロ").Select
 ComboBox67.RowSource = "ap6:ap50"
 ComboBox67.ListRows = 20
 Sheets("マクロ").Select
 ComboBox68.RowSource = "aq6:aq30"
 ComboBox68.ListRows = 10
 Sheets("マクロ").Select
 ComboBox69.RowSource = "ar6:ar50"
 ComboBox69.ListRows = 20
 Sheets("マクロ").Select
 ComboBox70.RowSource = "as6:as30"
 ComboBox70.ListRows = 10
 Sheets("マクロ").Select
 ComboBox71.RowSource = "at6:at50"
 ComboBox71.ListRows = 20
 Sheets("マクロ").Select
 ComboBox72.RowSource = "au6:au30"
 ComboBox72.ListRows = 10
 Sheets("マクロ").Select
 ComboBox73.RowSource = "av6:av50"
 ComboBox73.ListRows = 20
 Sheets("マクロ").Select
 ComboBox74.RowSource = "aw6:aw30"
 ComboBox74.ListRows = 10
 Sheets("マクロ").Select
 ComboBox75.RowSource = "ax6:ax50"
 ComboBox75.ListRows = 20
 Sheets("マクロ").Select
 ComboBox76.RowSource = "ay6:ay30"
 ComboBox76.ListRows = 10
 Sheets("マクロ").Select
 ComboBox77.RowSource = "az6:az50"
 ComboBox77.ListRows = 20
 Sheets("マクロ").Select
 ComboBox78.RowSource = "ba6:ba30"
 ComboBox78.ListRows = 10
 Sheets("マクロ").Select
 ComboBox79.RowSource = "bb6:bb50"
 ComboBox79.ListRows = 20
 Sheets("マクロ").Select
 ComboBox80.RowSource = "bc6:bc30"
 ComboBox80.ListRows = 10
 Sheets("マクロ").Select
 ComboBox81.RowSource = "bd6:bd50"
 ComboBox81.ListRows = 20
 Sheets("マクロ").Select
 ComboBox82.RowSource = "be6:be30"
 ComboBox82.ListRows = 10
 Sheets("マクロ").Select
 ComboBox83.RowSource = "bf6:bf50"
 ComboBox83.ListRows = 20
 Sheets("マクロ").Select
 ComboBox84.RowSource = "bg6:bg30"
 ComboBox84.ListRows = 10
 Sheets("マクロ").Select
 ComboBox85.RowSource = "bh6:bh50"
 ComboBox85.ListRows = 20
 Sheets("マクロ").Select
 ComboBox127.RowSource = "g6:g50"
 ComboBox127.ListRows = 20
 Sheets("マクロ").Select
 ComboBox128.RowSource = "ad6:ad30"
 ComboBox128.ListRows = 10
 Sheets("マクロ").Select
 ComboBox130.RowSource = "af6:af50"
 ComboBox130.ListRows = 20
 Sheets("マクロ").Select
 ComboBox132.RowSource = "ah6:ah30"
 ComboBox132.ListRows = 10
 Sheets("マクロ").Select
 ComboBox134.RowSource = "aj6:aj50"
 ComboBox134.ListRows = 20
 Sheets("マクロ").Select
 ComboBox136.RowSource = "al6:al50"
 ComboBox136.ListRows = 20
 Sheets("マクロ").Select
 ComboBox138.RowSource = "j6:j30"
 ComboBox138.ListRows = 10
 Sheets("マクロ").Select
 ComboBox139.RowSource = "e6:e50"
 ComboBox139.ListRows = 20
 Sheets("マクロ").Select
 ComboBox140.RowSource = "gn6:gn50"
 ComboBox140.ListRows = 20
 Sheets("マクロ").Select
 ComboBox141.RowSource = "go6:go30"
 ComboBox141.ListRows = 10
 Sheets("マクロ").Select
 ComboBox142.RowSource = "ff6:ff50"
 ComboBox142.ListRows = 20
 Sheets("マクロ").Select
 ComboBox145.RowSource = "an6:an50"
 ComboBox145.ListRows = 20

 TextBox1.SetFocus

 Sheets("データ").Select
 ActiveWindow.SmallScroll Down:=-3
 Range("D6:D2000,K6:K2000,L6:L2000,M6:M2000,N6:N2000,O6:O2000,P6:P2000,Q6:Q2000,R6:R2000,S6:S2000,T6:T2000,U6:U2000,V6:V2000,FG6:FG2000,FH6:FH2000,FK6:FK2000,FM6:FM2000").Select
 Selection.NumberFormatLocal = "[$-411]ggge""年""m""月""d""日"";@"
 Range("B6").Select
 End Sub


 こんにちは。かみちゃん です。

 > フォームを開く際、ものすごく重くなりました。
 > (ユーザーフォームに行くまで数秒かかる。)
 > 原因はコンボボックスが多いためデータを読みにいく
 > 手間だと思うのですが、出来ればコンボボックスは
 > 生かしたい

 動作確認はしていないのですが、提示されたコードをまとめると以下のような感じになります。

 Private Sub CommandButton1_Click()
   '【入力表からマクロへデータを貼り付けます。】
   Dim vntColumnName As Variant
   Dim i As Long
   Dim t As Single

   '再計算を手動にする
   Application.Calculation = xlManual
   t = Timer

   vntColumnName = Array(, , , , "U", "V", "M", "Q", "K", "L", "N", "R", , , , , , , , _
                         "O", "S", "Z", "AA", "Y", "W", "D", "FK", "FL", "FM", "FE", "FG", _
                         "FH", "FZ", "GA", "GB", "GC", "GD", "GE", "GF", "GG", "GH", _
                         "GI", "FN", "FO", "FP", "FQ", "GJ", "GK", "GL", "D", "Z", _
                         "AA", "W", "FM", "FE", "FG", "FH", "FZ", "GA", "GB", "GC", _
                         "GD", "GE", "GF", "GG", "GH", "GI", "FV", "FW", "FX", "FY", _
                         "GM")
   For i = 4 To 11
     Sheets("マクロ").Range(vntColumnName(i) & "3").Value = Me.Controls("TextBox" & i).Value
   Next
   For i = 19 To 71
     Sheets("マクロ").Range(vntColumnName(i) & "3").Value = Me.Controls("TextBox" & i).Value
   Next

   vntColumnName = Array(, "F", "H", "B", "C", "I", "CW", "CX", "CY", "CZ", "DA", _
                         "DB", "DC", "DD", "DE", "DF", "DG", "DH", "DI", "DJ", "DK", _
                         "DL", "DM", "DN", "DO", "DP", "DQ", "DR", "DS", "DT", "DU", _
                         "DV", "DW", "DX", "DY", "DZ", "EA", "EB", "EC", "ED", "EE", _
                         "EF", "EG", "EH", "EI", "EJ", "EK", "EL", "EM", "EN", "EO", _
                         "EP", "EQ", "ER", "ES", "ET", "EU", "EV", "EW", "EX", "EY", _
                         "EZ", "FA", "FB", "FC", "FD", "AO", "AP", "AQ", "AR", "AS", _
                         "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB", "BC", _
                         "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BM", _
                         "BN", "BO", "BP", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", _
                         "BX", "BY", "BZ", "CA", "CB", "CC", "CD", "CE", "CF", "CG", _
                         "CH", "CI", "CJ", "CK", "CL", "CM", "CN", "CO", "CP", "CQ", _
                         "CR", "CS", "CT", "CU", "CV", "CR", "G", "AD", "AE", "AF", _
                         "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "J", "E", "GN", _
                         "GO", "FF", "FR", "FS", "AN", "FT", "FU")
   For i = 1 To 147
     Sheets("マクロ").Range(vntColumnName(i) & "3").Value = Me.Controls("ComboBox" & i).Value
   Next

   '【マクロシートのデータをコピーし、データに貼り付けます。】

   With Sheets("マクロ")
     .Calculate
     With .Range("b3:go3")
       Sheets("データ").Range("B65536").End(xlUp).Offset(1, 0).Resize(, .Columns.Count).Value = .Value
     End With
     Sheets("データ").Range("B6:C2000").NumberFormatLocal = "000"
   End With

   For i = 1 To 71
     Me.Controls("TextBox" & i).Value = Empty
   Next
   For i = 1 To 147
     Me.Controls("ComboBox" & i).Value = Empty
   Next
   Sheets("マクロ").Select

   '再計算を自動にする
   Application.Calculation = xlAutomatic

   MsgBox "CommandButton1が終了しました " & Timer - t & " 秒"
 End Sub

 '【マクロに登録されている項目を選びます。】
 Private Sub UserForm_Activate()
   Dim vntRowSource As Variant
   Dim vntListRows As Variant
   Dim i As Long
   Dim t As Single

   '再計算を手動にする
   Application.Calculation = xlManual
   t = Timer

   vntRowSource = Array(, "f6:f50", "h6:h30", "b6:b500", "c6:c104", "i6:i50", _
                          "cw6:cw50", "cx6:cx30", "cy6:cy50", "cz6:cz30", "da6:da50", _
                          "db6:db30", "dc6:dc50", "dd6:dd30", "de6:de50", "df6:df30", _
                          "dg6:dg50", "dh6:dh30", "di6:di50", "dj6:dj30", "dk6:dk50", _
                          "dl6:dl30", "dm6:dm50", "dn6:dn30", "do6:do50", "dp6:dp30", _
                          , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , "fd6:fd30", _
                          "ao6:ao30", "ap6:ap50", "aq6:aq30", "ar6:ar50", "as6:as30", _
                          "at6:at50", "au6:au30", "av6:av50", "aw6:aw30", "ax6:ax50", _
                          "ay6:ay30", "az6:az50", "ba6:ba30", "bb6:bb50", "bc6:bc30", _
                          "bd6:bd50", "be6:be30", "bf6:bf50", "bg6:bg30", "bh6:bh50", _
                          , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , "g6:g50", "ad6:ad30", , "af6:af50", _
                          , "ah6:ah30", , "aj6:aj50", , "al6:al50", , "j6:j30", "e6:e50", "gn6:gn50", _
                          "go6:go30", "ff6:ff50", , , "an6:an50")

   vntListRows = Array(, 50, 20, 50, 20, 20, 20, 10, 20, 10, 20, _
                         10, 20, 10, 20, 10, 20, 10, 20, 10, 20, _
                         10, 20, 10, 20, 10, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 10, 10, 20, 10, 20, _
                         20, 10, 20, 10, 20, 10, 20, 10, 20, 10, _
                         20, 10, 20, 10, 20, , , , , , _
                         , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , _
                         , , , , , , , 20, 10, , 20, _
                         , 10, , 20, , 20, , 10, 20, 20, 10, 20, , , 20)

   Sheets("マクロ").Select
   For i = 1 To 145
     If Not IsError(vntRowSource(i)) Then
       With Me.Controls("ComboBox" & i)
         .RowSource = vntRowSource(i)
         .ListRows = vntListRows(i)
       End With
     End If
   Next

   TextBox1.SetFocus

   Sheets("データ").Range("D6:D2000,K6:K2000,L6:L2000,M6:M2000,N6:N2000,O6:O2000,P6:P2000,Q6:Q2000,R6:R2000,S6:S2000,T6:T2000,U6:U2000,V6:V2000,FG6:FG2000,FH6:FH2000,FK6:FK2000,FM6:FM2000") _
     .NumberFormatLocal = "[$-411]ggge""年""m""月""d""日"";@"

   '再計算を自動にする
   Application.Calculation = xlAutomatic

   MsgBox "UserForm_Activateが終了しました " & Timer - t & " 秒"
 End Sub

 (かみちゃん)
 2009-06-23 23:52


かみちゃんさん、ありがとうございます。
 早速試してみましたが、デバックがでました。
 下から10行目位の「.ListRows = vntListRows(i)」
 の部分です。
 すいませんが、原因が分かりましたら、教えてください。
 よろしくお願いします。

 こんにちは。かみちゃん です。

 > 下から10行目位の「.ListRows = vntListRows(i)」
 > の部分です。

 .ListRows = vntListRows(i)
 の上に、
 Debug.Print i
 として、エラーが発生したときのイミディエイト・ウィンドウの最終行の表示内容を教えてください。
 あと、デバッグの表示内容(エラーメッセージ)も教えてください。

 (かみちゃん)
 2009-06-24 11:15


ありがとうございます。
 エラー内容ですが・・・

 実行時エラー'449': 引数は省略できません。
 これでわかるでしょうか?

 どしろうとさん

 1) 前半部分でセルがダブっているところがありますが、理由はありますか?

 Range("D3").Select
 ActiveCell.Value = TextBox25.Value
 Range("D3").Select
 ActiveCell.Value = TextBox49.Value

 上記の他にもあります。

 2) .Select から 次の行の ActiveCell までを削除するだけで結構変わると思いますよ?

 例
 Range("D3").Value = TextBox25.Value

 3) Empty は Variant 型での使用になりますので "" もしくは vbNullString に変更してください。

 (seiya)


 こんにちは。かみちゃん です。

 > エラー内容ですが・・・
 >
 > 実行時エラー'449': 引数は省略できません。

 こちらで、ComboBoxを145個も配置して検証するのは大変なので、

 > Debug.Print i
 > として、エラーが発生したときのイミディエイト・ウィンドウの最終行の表示内容を教えてください。

 は、わかりませんか?

 (かみちゃん)
 2009-06-24 13:49


seiyaさん、ありがとうございます。
 1)は単純なミスでした。すいません。
 2)は確かにアクティブセルを削除したら若干早くなりました。
 ただ、emptyを""にするとエラーが出ました。


かみちゃんさん、小まめなフォローありがとうございます。
 すごく助かります。
 ですが・・・エラーがどの行で出てるか分かりません。
 F8ボタンで一つずつ追っていくと・・・

 If Not IsError(vntRowSource(i)) Then
       With Me.Controls("ComboBox" & i)
         .RowSource = vntRowSource(i)
         .ListRows = vntListRows(i)
       End With
     End If
   Next
 この箇所で延々と動いています。
 ここが原因なのでしょうか?

 >  ただ、emptyを""にするとエラーが出ました。
 TextBox1.Value = ""
 でエラーですか?
 考えられないのですが?

 追伸:
 >  2)は確かにアクティブセルを削除したら若干早くなりました。
 Calculation を xlManual にして
 全ての .Select ActiveCell を削除したなら、それ以上の速さには
 ならないような気がしますが?

 コードの長さと、速さは単純に比例しませんよ?
 (seiya)


seiyaさん、ありがとうございます。
 emptyはもう一度してみたら上手くいきました。
 2)については、私が一番最初に書いてたコードを修正したので
 追伸のような所は訂正してませんでした。
 なので、早くなったと思うのですが・・・。

 どしろうとさん

 Empty でもOKのようですね、失礼しました。

 速度に大きく関与するのは、コードの長さではなく、いかにオブジェクトへの
 アクセスを減らすかなのです。
 配列を使用しても、コード自体は短くなりますが、配列内をループさせて各要素
 ごとにオブジェクトへアクセスしていては、速度に変化は期待できないし、かえって
 遅くなることもあります。

 例えば

 1)
 Range("a1:a10000").Value = 配列
 と
 2)
 For i = 1 To 10000
     Cells(i, 1).Value = 配列(i)
 Next
 とした場合は、明らかに 1) の方が高速に処理できます。
 なぜなら レンジオブジェクト, Range("a1:a1000") へのアクセスが一度で済むからです。

 同様に Me.Controls("..." & i).Value も
 TextBox1.Value とした方が最終オブジェクトに直接いけるので、速度的には
 早いはずです(検証していません)

 速さだけを求めるのであれば、シートもSelectしないで

 With Sheets("マクロ")
     .Range("U3").Value = Me.TextBox4.Value
     .Range("V3").Value = Me.TextBox5.Value
     .Range("M3").Value = Me.TextBox6.Value
     .Range("Q3").Value = Me.TextBox7.Value
     .Range("K3").Value = Me.TextBox8.Value
     .
     .
 End With
 というように、Selectしないで羅列した方がよいのでは?
 (seiya)

 こんにちは。かみちゃん です。

 > エラーがどの行で出てるか分かりません。
 > F8ボタンで一つずつ追っていくと・・・

 変数iの値を教えていただければ、どのComboBoxの設定でエラーになっているのかわかるので、
 イミディエイト・ウィンドウでその値の確認をしていただきたかったのですが、ご理解いただけていないようですね。
 仕方ないので、ComboBox147個を配置して、検証してみました。

 それで、原因がわかりました。

  vntListRows = Array(, 50, 20, 50, 20, 20, 20, 10, 20, 10, 20, _
                        10, 20, 10, 20, 10, 20, 10, 20, 10, 20, _
                        10, 20, 10, 20, 10, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 10, 10, 20, 10, 20, _
                        20, 10, 20, 10, 20, 10, 20, 10, 20, 10, _
                        20, 10, 20, 10, 20, , , , , , _
                        , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , _
                        , , , , , , , 20, 10, , 20, _
                        , 10, , 20, , 20, , 10, 20, 20, 10, 20, , , 20)

 の部分については、以下の誤りです。申し訳ありません。

  vntListRows = Array(, 50, 20, 50, 20, 20, 20, 10, 20, 10, 20, _
                        10, 20, 10, 20, 10, 20, 10, 20, 10, 20, _
                        10, 20, 10, 20, 10, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 10, 10, 20, 10, 20, 10, _
                        20, 10, 20, 10, 20, 10, 20, 10, 20, 10, _
                        20, 10, 20, 10, 20, , , , , , _
                        , , , , , , , , , , , , , , , , , , , , , , , , , , , , , _
                        , , , , , , , 20, 10, , 20, _
                        , 10, , 20, , 20, , 10, 20, 20, 10, 20, , , 20)

 (かみちゃん)
 2009-06-25  0:12


 どしろうとさん、

 最近私はほとんど使用しなくなりましたが
 Application.ScreenUpdating = False
 をコードの処理開始行の前に記述することで、かなり早くなります。
 (seiya)


かみちゃんさん、おはようございます。
 早速ありがとうございます!!
 すばらしいです!
 しかも重たくないし、助かりました!

 あの後、少し考えたのですが、タブが複数ある場合、各タブに
 あるコンボボックスはそのタブを開いた時にだけデータを読みに
 いけばいいみたいですね。

 Private Sub MultiPage1_Change()
 If MultiPage1.Value = 1 Thenを使ったのも作ってみました。
 でも、かみちゃんさんのを是非使わせていただこうと思います。
 ありがとうございました!

seiyaさん、ありがとうございます。
 かみちゃんさん、あと一つご教示ください。
 コンボボックスを一つ追加(コンボ番号148)で、データの貼付先及び
 読込元はマクロシートのAC列です。
 すいません、かみちゃんさんに教えていただいたVBAをどういじればいいのかが
 分かりませんので、教えてください。
 お手数をおかけして申し訳ないですが、よろしくお願いします。

 ActiveCell.Value = ComboBox119.Value
 Range("ac3").Select
 ComboBox147.Value = Empty
 Sheets("マクロ").Select
 ComboBox10.RowSource = "ac6:ac50"
 ComboBox10.ListRows = 20


 こんにちは。かみちゃん です。

 > コンボボックスを一つ追加(コンボ番号148)で、データの貼付先及び
 > 読込元はマクロシートのAC列です。
 >
 > ComboBox10.RowSource = "ac6:ac50"
 > ComboBox10.ListRows = 20

 質問内容と提示のコードの関連性がまったくわからないのですが、
   ComboBox10.RowSource = "da6:da50"
   ComboBox10.ListRows = 20
 というコードがすでにありますから、提示されたコードが何かの原因で
   ComboBox148.RowSource = "ac6:ac50"
   ComboBox148.ListRows = 20
 の誤り゛あると仮定すると、

   vntRowSource = Array( 〜 途中省略〜
                             , "ah6:ah30", , "aj6:aj50", , "al6:al50", , "j6:j30", "e6:e50", "gn6:gn50", _
                             "go6:go30", "ff6:ff50", , , "an6:an50", , , ●)
   vntListRows = Array( 〜 途中省略〜
                        , , , , , , , 20, 10, , 20, _
                        , 10, , 20, , 20, , 10, 20, 20, 10, 20, , , 20, , ,▲)

 のコードの●や▲は、148番目の位置になりますので、
 ●の部分に "ac6:ac50" を記述( " も含めて)し、
 ▲の部分に 20 と記述します。

 あとは、
   For i = 1 To 145
 の部分を
   For i = 1 To 148
 と修正します。

 さらに、
   For i = 1 To 147
 の部分は、
   For i = 1 To 148
 としておいたほうがいいかもしれません。

 (かみちゃん)
 2009-06-27 12:21


かみちゃんさん、ありがとうございます。
 すいません、デバックが1箇所でます。
 If Not IsError(vntRowSource(i)) Thenの箇所です。
 原因は分かるでしょうか?
 ちなみにコンボボックス148を配置しているタブは
 コンボボックス145と同じです。

 こんにちは。かみちゃん です。

 > デバックが1箇所でます。
 > If Not IsError(vntRowSource(i)) Thenの箇所です。
 > 原因は分かるでしょうか?
 > ちなみにコンボボックス148を配置しているタブは
 > コンボボックス145と同じです。

 デバッグは出るのは、わかるのですが、エラーメッセージがわかりません。
 コンボボックスは、1〜148までの148個あるのですか?
 現在どのようなコードにしていますか?

 (かみちゃん)
 2009-06-30 21:01


 seiyaさんが書いて居られますが、やはり
 コードが短ければ処理速度が速いかと言うと
 一概にそうとは言えないと思います。

 最初に載せられたコード
 (データのセットリセットに関して)
 を、もう一度検討されてはどうでしょう。
  1.Selectしない
  2.更新停止・計算停止 等の処理を入れる

 短いコードはすっきりしていて分かりやすい様に感じますが
 変更のたびに大変な思いをするので有れば
 決して分かりやすいコードとは言えないと思います。
 寧ろ 自力で変更出来ないコードは、問題が有るのではないでしょうか。

 コンボボックスの番号が飛んでいるのは何故ですか?
 ここを連番にするだけでも、色々簡単になりそうに思いますが。

 同じ様なコードが続くことになりますが
 連番部分だけを連続で処理することにする等の変更でも
 vntRowSource と vntListRows の関係が分かりやすく成るかもしれません。

 (HANA)

かみちゃんさん、ありがとうございます。
 現在のコードを記載します。
Private Sub ComboBox145_Change()

End Sub

Private Sub ComboBox148_Change()

End Sub

Private Sub CommandButton1_Click()

   '【入力表からマクロへ契約台帳データを貼り付けます。】
   Dim vntColumnName As Variant
   Dim i As Long
   Dim t As Single

   '再計算を手動にする
   Application.Calculation = xlManual
   t = Timer

   vntColumnName = Array(, , , , "U", "V", "M", "Q", "K", "L", "N", "R", , , , , , , , _
                         "O", "S", "Z", "AA", "Y", "W", "D", "FK", "FL", "FM", "FE", "FG", _
                         "FH", "FZ", "GA", "GB", "GC", "GD", "GE", "GF", "GG", "GH", _
                         "GI", "FN", "FO", "FP", "FQ", "GJ", "GK", "GL", "D", "Z", _
                         "AA", "W", "FM", "FE", "FG", "FH", "FZ", "GA", "GB", "GC", _
                         "GD", "GE", "GF", "GG", "GH", "GI", "FV", "FW", "FX", "FY", _
                         "GM")
   For i = 4 To 11
     Sheets("マクロ").Range(vntColumnName(i) & "3").Value = Me.Controls("TextBox" & i).Value
   Next
   For i = 19 To 71
     Sheets("マクロ").Range(vntColumnName(i) & "3").Value = Me.Controls("TextBox" & i).Value
   Next

   vntColumnName = Array(, "F", "H", "B", "C", "I", "CW", "CX", "CY", "CZ", "DA", _
                         "DB", "DC", "DD", "DE", "DF", "DG", "DH", "DI", "DJ", "DK", _
                         "DL", "DM", "DN", "DO", "DP", "DQ", "DR", "DS", "DT", "DU", _
                         "DV", "DW", "DX", "DY", "DZ", "EA", "EB", "EC", "ED", "EE", _
                         "EF", "EG", "EH", "EI", "EJ", "EK", "EL", "EM", "EN", "EO", _
                         "EP", "EQ", "ER", "ES", "ET", "EU", "EV", "EW", "EX", "EY", _
                         "EZ", "FA", "FB", "FC", "FD", "AO", "AP", "AQ", "AR", "AS", _
                         "AT", "AU", "AV", "AW", "AX", "AY", "AZ", "BA", "BB", "BC", _
                         "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BK", "BL", "BM", _
                         "BN", "BO", "BP", "BQ", "BR", "BS", "BT", "BU", "BV", "BW", _
                         "BX", "BY", "BZ", "CA", "CB", "CC", "CD", "CE", "CF", "CG", _
                         "CH", "CI", "CJ", "CK", "CL", "CM", "CN", "CO", "CP", "CQ", _
                         "CR", "CS", "CT", "CU", "CV", "CR", "G", "AD", "AE", "AF", _
                         "AG", "AH", "AI", "AJ", "AK", "AL", "AM", "J", "E", "GN", _
                         "GO", "FF", "FR", "FS", "AN", "FT", "FU")
   For i = 1 To 148
     Sheets("マクロ").Range(vntColumnName(i) & "3").Value = Me.Controls("ComboBox" & i).Value
   Next

   '【マクロシートの契約台帳データをコピーし、契約台帳データに貼り付けます。】

   With Sheets("マクロ")
     .Calculate
     With .Range("b3:go3")
       Sheets("契約台帳データ").Range("B65536").End(xlUp).Offset(1, 0).Resize(, .Columns.Count).Value = .Value
     End With
     Sheets("契約台帳データ").Range("B6:C2000").NumberFormatLocal = "000"
   End With

   For i = 1 To 71
     Me.Controls("TextBox" & i).Value = Empty
   Next
   For i = 1 To 148
     Me.Controls("ComboBox" & i).Value = Empty
   Next
   Sheets("マクロ").Select

   '再計算を自動にする
   Application.Calculation = xlAutomatic

   MsgBox "CommandButton1が終了しました " & Timer - t & " 秒"
 End Sub

 '【マクロに登録されている項目を選びます。】
 Private Sub UserForm_Activate()
   Dim vntRowSource As Variant
   Dim vntListRows As Variant
   Dim i As Long
   Dim t As Single

   '再計算を手動にする
   Application.Calculation = xlManual
   t = Timer

   vntRowSource = Array(, "f6:f50", "h6:h30", "b6:b500", "c6:c104", "i6:i50", _
                          "cw6:cw50", "cx6:cx30", "cy6:cy50", "cz6:cz30", "da6:da50", _
                          "db6:db30", "dc6:dc50", "dd6:dd30", "de6:de50", "df6:df30", _
                          "dg6:dg50", "dh6:dh30", "di6:di50", "dj6:dj30", "dk6:dk50", _
                          "dl6:dl30", "dm6:dm50", "dn6:dn30", "do6:do50", "dp6:dp30", _
                          , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , "fd6:fd30", _
                          "ao6:ao30", "ap6:ap50", "aq6:aq30", "ar6:ar50", "as6:as30", _
                          "at6:at50", "au6:au30", "av6:av50", "aw6:aw30", "ax6:ax50", _
                          "ay6:ay30", "az6:az50", "ba6:ba30", "bb6:bb50", "bc6:bc30", _
                          "bd6:bd50", "be6:be30", "bf6:bf50", "bg6:bg30", "bh6:bh50", _
                          , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , "g6:g50", "ad6:ad30", , "af6:af50", _
                          , "ah6:ah30", , "aj6:aj50", , "al6:al50", , "j6:j30", "e6:e50", "gn6:gn50", _
                          "go6:go30", "ff6:ff50", , , "an6:an50", "ac6:ac50")

   vntListRows = Array(, 50, 20, 50, 20, 20, 20, 10, 20, 10, 20, _
                        10, 20, 10, 20, 10, 20, 10, 20, 10, 20, _
                        10, 20, 10, 20, 10, , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 10, 10, 20, 10, 20, 10, _
                        20, 10, 20, 10, 20, 10, 20, 10, 20, 10, _
                        20, 10, 20, 10, 20, , , , , , _
                        , , , , , , , , , , , , , , , , , , , , , , , , , , , , , _
                        , , , , , , , 20, 10, , 20, _
                        , 10, , 20, , 20, , 10, 20, 20, 10, 20, , , 20, 20)

   Sheets("マクロ").Select
   For i = 1 To 148
     If Not IsError(vntRowSource(i)) Then
       With Me.Controls("ComboBox" & i)
         .RowSource = vntRowSource(i)
         .ListRows = vntListRows(i)
       End With
     End If
   Next

   TextBox1.SetFocus

   Sheets("契約台帳データ").Range("D6:D2000,K6:K2000,L6:L2000,M6:M2000,N6:N2000,O6:O2000,P6:P2000,Q6:Q2000,R6:R2000,S6:S2000,T6:T2000,U6:U2000,V6:V2000,FG6:FG2000,FH6:FH2000,FK6:FK2000,FM6:FM2000") _
     .NumberFormatLocal = "[$-411]ggge""年""m""月""d""日"";@"

   '再計算を自動にする
   Application.Calculation = xlAutomatic

   MsgBox "UserForm_Activateが終了しました " & Timer - t & " 秒"
 End Sub

 アドバイスいただいた箇所で直っていないところがあるかもしれません。
 よろしくお願いします。


 そんなことより

 > 1) 前半部分でセルがダブっているところがありますが、理由はありますか?

 > Range("D3").Select
 > ActiveCell.Value = TextBox25.Value
 > Range("D3").Select
 > ActiveCell.Value = TextBox49.Value

 > 上記の他にもあります。

 これを解決しないで、先に進むこと自体がナンセンスだと思う。
 (seiya)


 seiyaさん、ご指摘ありがとうございます。
 D3はtextbox25、49ともに対応させています。
 契約の日付(当初の日付がtextbox25、変更の日付が49)という
 入力内容ですが、当初と変更時で入力した内容は上塗りしあわ
 ないようにしています。

 他のところとはどこでしょうか?

 かみちゃんさんに作っていただいたもので正常に動いてますので、
 他に支障はないと思うのですが・・・。


 vntColumnName = Array(, , , , "U", "V", "M", "Q", "K", "L", "N", "R", , , , , , , , _
                         "O", "S", "Z", "AA", "Y", "W", "D", "FK", "FL", "FM", "FE", "FG", _
                                  ^^^^  ^^^              ^^^
                         "FH", "FZ", "GA", "GB", "GC", "GD", "GE", "GF", "GG", "GH", _
                         "GI", "FN", "FO", "FP", "FQ", "GJ", "GK", "GL", "D", "Z", _
                                                                        ^^^^  ^^^
                         "AA", "W", "FM", "FE", "FG", "FH", "FZ", "GA", "GB", "GC", _
                         ^^^^
                         "GD", "GE", "GF", "GG", "GH", "GI", "FV", "FW", "FX", "FY", _
                         "GM")
 これって、上書きしているのでは?
 (seiya)


 上書ききではないですよ。
 契約当初に入力したデータの後に変更時のデータを入力すると
 1行下に行くようにしてますので・・・。
 あの後、勉強のため、別のVBAを作ってみましたが、うまくいって
 ます。

 Private Sub ComboBox1_Change()
 End Sub
 Private Sub ComboBox3_Change()
 End Sub

 Private Sub CommandButton1_Click()
 Application.ScreenUpdating = False
 '【入力表からマクロへデータを貼り付けます。】
 Sheets("マクロ").Select
 Range("U3").Select
 ActiveCell.Value = TextBox4.Value
 Range("V3").Select
 ActiveCell.Value = TextBox5.Value
 Range("M3").Select
 ActiveCell.Value = TextBox6.Value
 Range("Q3").Select
 ActiveCell.Value = TextBox7.Value
 Range("K3").Select
 ActiveCell.Value = TextBox8.Value
 Range("L3").Select
 ActiveCell.Value = TextBox9.Value
 Range("N3").Select
 ActiveCell.Value = TextBox10.Value
 Range("R3").Select
 ActiveCell.Value = TextBox11.Value
 Range("O3").Select
 ActiveCell.Value = TextBox19.Value
 Range("S3").Select
 ActiveCell.Value = TextBox20.Value
 Range("Z3").Select
 ActiveCell.Value = TextBox21.Value
 Range("AA3").Select
 ActiveCell.Value = TextBox22.Value
 Range("Y3").Select
 ActiveCell.Value = TextBox23.Value
 Range("W3").Select
 ActiveCell.Value = TextBox24.Value
 Range("D3").Select
 ActiveCell.Value = TextBox25.Value
 Range("FK3").Select
 ActiveCell.Value = TextBox26.Value
 Range("FL3").Select
 ActiveCell.Value = TextBox27.Value
 Range("FM3").Select
 ActiveCell.Value = TextBox28.Value
 Range("FE3").Select
 ActiveCell.Value = TextBox29.Value
 Range("FG3").Select
 ActiveCell.Value = TextBox30.Value
 Range("FH3").Select
 ActiveCell.Value = TextBox31.Value
 Range("fz3").Select
 ActiveCell.Value = TextBox32.Value
 Range("GA3").Select
 ActiveCell.Value = TextBox33.Value
 Range("GB3").Select
 ActiveCell.Value = TextBox34.Value
 Range("GC3").Select
 ActiveCell.Value = TextBox35.Value
 Range("GD3").Select
 ActiveCell.Value = TextBox36.Value
 Range("GE3").Select
 ActiveCell.Value = TextBox37.Value
 Range("GF3").Select
 ActiveCell.Value = TextBox38.Value
 Range("GG3").Select
 ActiveCell.Value = TextBox39.Value
 Range("GH3").Select
 ActiveCell.Value = TextBox40.Value
 Range("GI3").Select
 ActiveCell.Value = TextBox41.Value
 Range("FN3").Select
 ActiveCell.Value = TextBox42.Value
 Range("FO3").Select
 ActiveCell.Value = TextBox43.Value
 Range("FP3").Select
 ActiveCell.Value = TextBox44.Value
 Range("FQ3").Select
 ActiveCell.Value = TextBox45.Value
 Range("GJ3").Select
 ActiveCell.Value = TextBox46.Value
 Range("GK3").Select
 ActiveCell.Value = TextBox47.Value
 Range("GL3").Select
 ActiveCell.Value = TextBox48.Value
 Range("D3").Select
 ActiveCell.Value = TextBox49.Value
 Range("Z3").Select
 ActiveCell.Value = TextBox50.Value
 Range("AA3").Select
 ActiveCell.Value = TextBox51.Value
 Range("W3").Select
 ActiveCell.Value = TextBox52.Value
 Range("FM3").Select
 ActiveCell.Value = TextBox53.Value
 Range("FE3").Select
 ActiveCell.Value = TextBox54.Value
 Range("FG3").Select
 ActiveCell.Value = TextBox55.Value
 Range("FH3").Select
 ActiveCell.Value = TextBox56.Value
 Range("FZ3").Select
 ActiveCell.Value = TextBox57.Value
 Range("GA3").Select
 ActiveCell.Value = TextBox58.Value
 Range("GB3").Select
 ActiveCell.Value = TextBox59.Value
 Range("GC3").Select
 ActiveCell.Value = TextBox60.Value
 Range("GD3").Select
 ActiveCell.Value = TextBox61.Value
 Range("GE3").Select
 ActiveCell.Value = TextBox62.Value
 Range("GF3").Select
 ActiveCell.Value = TextBox63.Value
 Range("GG3").Select
 ActiveCell.Value = TextBox64.Value
 Range("GH3").Select
 ActiveCell.Value = TextBox65.Value
 Range("GI3").Select
 ActiveCell.Value = TextBox66.Value
 Range("FV3").Select
 ActiveCell.Value = TextBox67.Value
 Range("FW3").Select
 ActiveCell.Value = TextBox68.Value
 Range("FX3").Select
 ActiveCell.Value = TextBox69.Value
 Range("FY3").Select
 ActiveCell.Value = TextBox70.Value
 Range("GM3").Select
 ActiveCell.Value = TextBox71.Value
 Range("f3").Select
 ActiveCell.Value = ComboBox1.Value
 Range("H3").Select
 ActiveCell.Value = ComboBox2.Value
 Range("b3").Select
 ActiveCell.Value = ComboBox3.Value
 Range("c3").Select
 ActiveCell.Value = ComboBox4.Value
 Range("I3").Select
 ActiveCell.Value = ComboBox5.Value
 Range("CW3").Select
 ActiveCell.Value = ComboBox6.Value
 Range("CX3").Select
 ActiveCell.Value = ComboBox7.Value
 Range("CY3").Select
 ActiveCell.Value = ComboBox8.Value
 Range("CZ3").Select
 ActiveCell.Value = ComboBox9.Value
 Range("DA3").Select
 ActiveCell.Value = ComboBox10.Value
 Range("db3").Select
 ActiveCell.Value = ComboBox11.Value
 Range("DC3").Select
 ActiveCell.Value = ComboBox12.Value
 Range("dd3").Select
 ActiveCell.Value = ComboBox13.Value
 Range("de3").Select
 ActiveCell.Value = ComboBox14.Value
 Range("df3").Select
 ActiveCell.Value = ComboBox15.Value
 Range("dg3").Select
 ActiveCell.Value = ComboBox16.Value
 Range("dh3").Select
 ActiveCell.Value = ComboBox17.Value
 Range("di3").Select
 ActiveCell.Value = ComboBox18.Value
 Range("dj3").Select
 ActiveCell.Value = ComboBox19.Value
 Range("dk3").Select
 ActiveCell.Value = ComboBox20.Value
 Range("dl3").Select
 ActiveCell.Value = ComboBox21.Value
 Range("dm3").Select
 ActiveCell.Value = ComboBox22.Value
 Range("dn3").Select
 ActiveCell.Value = ComboBox23.Value
 Range("do3").Select
 ActiveCell.Value = ComboBox24.Value
 Range("dp3").Select
 ActiveCell.Value = ComboBox25.Value
 Range("dq3").Select
 ActiveCell.Value = ComboBox26.Value
 Range("dr3").Select
 ActiveCell.Value = ComboBox27.Value
 Range("ds3").Select
 ActiveCell.Value = ComboBox28.Value
 Range("dt3").Select
 ActiveCell.Value = ComboBox29.Value
 Range("du3").Select
 ActiveCell.Value = ComboBox30.Value
 Range("dv3").Select
 ActiveCell.Value = ComboBox31.Value
 Range("dw3").Select
 ActiveCell.Value = ComboBox32.Value
 Range("dx3").Select
 ActiveCell.Value = ComboBox33.Value
 Range("dy3").Select
 ActiveCell.Value = ComboBox34.Value
 Range("dz3").Select
 ActiveCell.Value = ComboBox35.Value
 Range("ea3").Select
 ActiveCell.Value = ComboBox36.Value
 Range("eb3").Select
 ActiveCell.Value = ComboBox37.Value
 Range("ec3").Select
 ActiveCell.Value = ComboBox38.Value
 Range("ed3").Select
 ActiveCell.Value = ComboBox39.Value
 Range("ee3").Select
 ActiveCell.Value = ComboBox40.Value
 Range("ef3").Select
 ActiveCell.Value = ComboBox41.Value
 Range("eg3").Select
 ActiveCell.Value = ComboBox42.Value
 Range("eh3").Select
 ActiveCell.Value = ComboBox43.Value
 Range("ei3").Select
 ActiveCell.Value = ComboBox44.Value
 Range("ej3").Select
 ActiveCell.Value = ComboBox45.Value
 Range("ek3").Select
 ActiveCell.Value = ComboBox46.Value
 Range("el3").Select
 ActiveCell.Value = ComboBox47.Value
 Range("em3").Select
 ActiveCell.Value = ComboBox48.Value
 Range("en3").Select
 ActiveCell.Value = ComboBox49.Value
 Range("eo3").Select
 ActiveCell.Value = ComboBox50.Value
 Range("ep3").Select
 ActiveCell.Value = ComboBox51.Value
 Range("eq3").Select
 ActiveCell.Value = ComboBox52.Value
 Range("er3").Select
 ActiveCell.Value = ComboBox53.Value
 Range("es3").Select
 ActiveCell.Value = ComboBox54.Value
 Range("et3").Select
 ActiveCell.Value = ComboBox55.Value
 Range("eu3").Select
 ActiveCell.Value = ComboBox56.Value
 Range("ev3").Select
 ActiveCell.Value = ComboBox57.Value
 Range("ew3").Select
 ActiveCell.Value = ComboBox58.Value
 Range("ex3").Select
 ActiveCell.Value = ComboBox59.Value
 Range("ey3").Select
 ActiveCell.Value = ComboBox60.Value
 Range("ez3").Select
 ActiveCell.Value = ComboBox61.Value
 Range("fa3").Select
 ActiveCell.Value = ComboBox62.Value
 Range("fb3").Select
 ActiveCell.Value = ComboBox63.Value
 Range("fc3").Select
 ActiveCell.Value = ComboBox64.Value
 Range("fd3").Select
 ActiveCell.Value = ComboBox65.Value
 Range("ao3").Select
 ActiveCell.Value = ComboBox66.Value
 Range("ap3").Select
 ActiveCell.Value = ComboBox67.Value
 Range("aq3").Select
 ActiveCell.Value = ComboBox68.Value
 Range("ar3").Select
 ActiveCell.Value = ComboBox69.Value
 Range("as3").Select
 ActiveCell.Value = ComboBox70.Value
 Range("at3").Select
 ActiveCell.Value = ComboBox71.Value
 Range("au3").Select
 ActiveCell.Value = ComboBox72.Value
 Range("av3").Select
 ActiveCell.Value = ComboBox73.Value
 Range("aw3").Select
 ActiveCell.Value = ComboBox74.Value
 Range("ax3").Select
 ActiveCell.Value = ComboBox75.Value
 Range("ay3").Select
 ActiveCell.Value = ComboBox76.Value
 Range("az3").Select
 ActiveCell.Value = ComboBox77.Value
 Range("ba3").Select
 ActiveCell.Value = ComboBox78.Value
 Range("bb3").Select
 ActiveCell.Value = ComboBox79.Value
 Range("bc3").Select
 ActiveCell.Value = ComboBox80.Value
 Range("bd3").Select
 ActiveCell.Value = ComboBox81.Value
 Range("be3").Select
 ActiveCell.Value = ComboBox82.Value
 Range("bf3").Select
 ActiveCell.Value = ComboBox83.Value
 Range("bg3").Select
 ActiveCell.Value = ComboBox84.Value
 Range("bh3").Select
 ActiveCell.Value = ComboBox85.Value
 Range("bi3").Select
 ActiveCell.Value = ComboBox86.Value
 Range("bj3").Select
 ActiveCell.Value = ComboBox87.Value
 Range("bk3").Select
 ActiveCell.Value = ComboBox88.Value
 Range("bl3").Select
 ActiveCell.Value = ComboBox89.Value
 Range("bm3").Select
 ActiveCell.Value = ComboBox90.Value
 Range("bn3").Select
 ActiveCell.Value = ComboBox91.Value
 Range("bo3").Select
 ActiveCell.Value = ComboBox92.Value
 Range("bp3").Select
 ActiveCell.Value = ComboBox93.Value
 Range("bq3").Select
 ActiveCell.Value = ComboBox94.Value
 Range("br3").Select
 ActiveCell.Value = ComboBox95.Value
 Range("bs3").Select
 ActiveCell.Value = ComboBox96.Value
 Range("bt3").Select
 ActiveCell.Value = ComboBox97.Value
 Range("bu3").Select
 ActiveCell.Value = ComboBox98.Value
 Range("bv3").Select
 ActiveCell.Value = ComboBox99.Value
 Range("bw3").Select
 ActiveCell.Value = ComboBox100.Value
 Range("bx3").Select
 ActiveCell.Value = ComboBox101.Value
 Range("by3").Select
 ActiveCell.Value = ComboBox102.Value
 Range("bz3").Select
 ActiveCell.Value = ComboBox103.Value
 Range("ca3").Select
 ActiveCell.Value = ComboBox104.Value
 Range("cb3").Select
 ActiveCell.Value = ComboBox105.Value
 Range("cc3").Select
 ActiveCell.Value = ComboBox106.Value
 Range("cd3").Select
 ActiveCell.Value = ComboBox107.Value
 Range("ce3").Select
 ActiveCell.Value = ComboBox108.Value
 Range("cf3").Select
 ActiveCell.Value = ComboBox109.Value
 Range("cg3").Select
 ActiveCell.Value = ComboBox110.Value
 Range("ch3").Select
 ActiveCell.Value = ComboBox111.Value
 Range("ci3").Select
 ActiveCell.Value = ComboBox112.Value
 Range("cj3").Select
 ActiveCell.Value = ComboBox113.Value
 Range("ck3").Select
 ActiveCell.Value = ComboBox114.Value
 Range("cl3").Select
 ActiveCell.Value = ComboBox115.Value
 Range("cm3").Select
 ActiveCell.Value = ComboBox116.Value
 Range("cn3").Select
 ActiveCell.Value = ComboBox117.Value
 Range("co3").Select
 ActiveCell.Value = ComboBox118.Value
 Range("cp3").Select
 ActiveCell.Value = ComboBox119.Value
 Range("cq3").Select
 ActiveCell.Value = ComboBox120.Value
 Range("cr3").Select
 ActiveCell.Value = ComboBox121.Value
 Range("cs3").Select
 ActiveCell.Value = ComboBox122.Value
 Range("ct3").Select
 ActiveCell.Value = ComboBox123.Value
 Range("cu3").Select
 ActiveCell.Value = ComboBox124.Value
 Range("cv3").Select
 ActiveCell.Value = ComboBox125.Value
 Range("cr3").Select
 ActiveCell.Value = ComboBox126.Value
 Range("cs3").Select
 ActiveCell.Value = ComboBox122.Value
 Range("ct3").Select
 ActiveCell.Value = ComboBox123.Value
 Range("cu3").Select
 ActiveCell.Value = ComboBox124.Value
 Range("cv3").Select
 ActiveCell.Value = ComboBox125.Value
 Range("ab3").Select
 ActiveCell.Value = ComboBox126.Value
 Range("g3").Select
 ActiveCell.Value = ComboBox127.Value
 Range("ad3").Select
 ActiveCell.Value = ComboBox128.Value
 Range("ae3").Select
 ActiveCell.Value = ComboBox129.Value
 Range("af3").Select
 ActiveCell.Value = ComboBox130.Value
 Range("ag3").Select
 ActiveCell.Value = ComboBox131.Value
 Range("ah3").Select
 ActiveCell.Value = ComboBox132.Value
 Range("ai3").Select
 ActiveCell.Value = ComboBox133.Value
 Range("aj3").Select
 ActiveCell.Value = ComboBox134.Value
 Range("ak3").Select
 ActiveCell.Value = ComboBox135.Value
 Range("al3").Select
 ActiveCell.Value = ComboBox136.Value
 Range("am3").Select
 ActiveCell.Value = ComboBox137.Value
 Range("j3").Select
 ActiveCell.Value = ComboBox138.Value
 Range("e3").Select
 ActiveCell.Value = ComboBox139.Value
 Range("gn3").Select
 ActiveCell.Value = ComboBox140.Value
 Range("go3").Select
 ActiveCell.Value = ComboBox141.Value
 Range("ff3").Select
 ActiveCell.Value = ComboBox142.Value
 Range("fr3").Select
 ActiveCell.Value = ComboBox143.Value
 Range("fs3").Select
 ActiveCell.Value = ComboBox144.Value
 Range("an3").Select
 ActiveCell.Value = ComboBox145.Value
 Range("ft3").Select
 ActiveCell.Value = ComboBox146.Value
 Range("fu3").Select
 ActiveCell.Value = ComboBox147.Value
 Range("ac3").Select
 ActiveCell.Value = ComboBox148.Value

 '【マクロシートのデータをコピーし、台帳データに貼り付けます。】

 Sheets("マクロ").Select
 ActiveSheet.Calculate
 Range("b3:go3").Select
 Selection.Copy
 Range("a1").Select
 Sheets("台帳データ").Select
 Range("b65536").End(xlUp).Activate
 ActiveCell.Offset(1, 0).Activate
 ActiveCell.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
         :=False, Transpose:=False
 Sheets("台帳データ").Select
     Range("b6:c2000").Select
     Selection.NumberFormatLocal = "000"
     Range("B6").Select

TextBox1.Value = ""

 TextBox2.Value = ""
 TextBox3.Value = ""
 TextBox4.Value = ""
 TextBox5.Value = ""
 TextBox6.Value = ""
 TextBox7.Value = ""
 TextBox8.Value = ""
 TextBox9.Value = ""
 TextBox10.Value = ""
 TextBox11.Value = ""
 TextBox12.Value = ""
 TextBox13.Value = ""
 TextBox14.Value = ""
 TextBox15.Value = ""
 TextBox16.Value = ""
 TextBox17.Value = ""
 TextBox18.Value = ""
 TextBox19.Value = ""
 TextBox20.Value = ""
 TextBox21.Value = ""
 TextBox22.Value = ""
 TextBox23.Value = ""
 TextBox24.Value = ""
 TextBox25.Value = ""
 TextBox26.Value = ""
 TextBox27.Value = ""
 TextBox28.Value = ""
 TextBox29.Value = ""
 TextBox30.Value = ""
 TextBox31.Value = ""
 TextBox32.Value = ""
 TextBox33.Value = ""
 TextBox34.Value = ""
 TextBox35.Value = ""
 TextBox36.Value = ""
 TextBox37.Value = ""
 TextBox38.Value = ""
 TextBox39.Value = ""
 TextBox40.Value = ""
 TextBox41.Value = ""
 TextBox42.Value = ""
 TextBox43.Value = ""
 TextBox44.Value = ""
 TextBox45.Value = ""
 TextBox46.Value = ""
 TextBox47.Value = ""
 TextBox48.Value = ""
 TextBox49.Value = ""
 TextBox50.Value = ""
 TextBox51.Value = ""
 TextBox52.Value = ""
 TextBox53.Value = ""
 TextBox54.Value = ""
 TextBox55.Value = ""
 TextBox56.Value = ""
 TextBox57.Value = ""
 TextBox58.Value = ""
 TextBox59.Value = ""
 TextBox60.Value = ""
 TextBox61.Value = ""
 TextBox62.Value = ""
 TextBox63.Value = ""
 TextBox64.Value = ""
 TextBox65.Value = ""
 TextBox66.Value = ""
 TextBox67.Value = ""
 TextBox68.Value = ""
 TextBox69.Value = ""
 TextBox70.Value = ""
 TextBox71.Value = ""
 ComboBox1.Value = ""
 ComboBox2.Value = ""
 ComboBox3.Value = ""
 ComboBox4.Value = ""
 ComboBox5.Value = ""
 ComboBox6.Value = ""
 ComboBox7.Value = ""
 ComboBox8.Value = ""
 ComboBox9.Value = ""
 ComboBox10.Value = ""
 ComboBox11.Value = ""
 ComboBox12.Value = ""
 ComboBox13.Value = ""
 ComboBox14.Value = ""
 ComboBox15.Value = ""
 ComboBox16.Value = ""
 ComboBox17.Value = ""
 ComboBox18.Value = ""
 ComboBox19.Value = ""
 ComboBox20.Value = ""
 ComboBox21.Value = ""
 ComboBox22.Value = ""
 ComboBox23.Value = ""
 ComboBox24.Value = ""
 ComboBox25.Value = ""
 ComboBox26.Value = ""
 ComboBox27.Value = ""
 ComboBox28.Value = ""
 ComboBox29.Value = ""
 ComboBox30.Value = ""
 ComboBox31.Value = ""
 ComboBox32.Value = ""
 ComboBox33.Value = ""
 ComboBox34.Value = ""
 ComboBox35.Value = ""
 ComboBox36.Value = ""
 ComboBox37.Value = ""
 ComboBox38.Value = ""
 ComboBox39.Value = ""
 ComboBox40.Value = ""
 ComboBox41.Value = ""
 ComboBox42.Value = ""
 ComboBox43.Value = ""
 ComboBox44.Value = ""
 ComboBox45.Value = ""
 ComboBox46.Value = ""
 ComboBox47.Value = ""
 ComboBox48.Value = ""
 ComboBox49.Value = ""
 ComboBox50.Value = ""
 ComboBox51.Value = ""
 ComboBox52.Value = ""
 ComboBox53.Value = ""
 ComboBox54.Value = ""
 ComboBox55.Value = ""
 ComboBox56.Value = ""
 ComboBox57.Value = ""
 ComboBox58.Value = ""
 ComboBox59.Value = ""
 ComboBox60.Value = ""
 ComboBox61.Value = ""
 ComboBox62.Value = ""
 ComboBox63.Value = ""
 ComboBox64.Value = ""
 ComboBox65.Value = ""
 ComboBox66.Value = ""
 ComboBox67.Value = ""
 ComboBox68.Value = ""
 ComboBox69.Value = ""
 ComboBox70.Value = ""
 ComboBox71.Value = ""
 ComboBox72.Value = ""
 ComboBox73.Value = ""
 ComboBox74.Value = ""
 ComboBox75.Value = ""
 ComboBox76.Value = ""
 ComboBox77.Value = ""
 ComboBox78.Value = ""
 ComboBox79.Value = ""
 ComboBox80.Value = ""
 ComboBox81.Value = ""
 ComboBox82.Value = ""
 ComboBox83.Value = ""
 ComboBox84.Value = ""
 ComboBox85.Value = ""
 ComboBox86.Value = ""
 ComboBox87.Value = ""
 ComboBox88.Value = ""
 ComboBox89.Value = ""
 ComboBox90.Value = ""
 ComboBox91.Value = ""
 ComboBox92.Value = ""
 ComboBox93.Value = ""
 ComboBox94.Value = ""
 ComboBox95.Value = ""
 ComboBox96.Value = ""
 ComboBox97.Value = ""
 ComboBox98.Value = ""
 ComboBox99.Value = ""
 ComboBox100.Value = ""
 ComboBox101.Value = ""
 ComboBox102.Value = ""
 ComboBox103.Value = ""
 ComboBox104.Value = ""
 ComboBox105.Value = ""
 ComboBox106.Value = ""
 ComboBox107.Value = ""
 ComboBox108.Value = ""
 ComboBox109.Value = ""
 ComboBox110.Value = ""
 ComboBox111.Value = ""
 ComboBox112.Value = ""
 ComboBox113.Value = ""
 ComboBox114.Value = ""
 ComboBox115.Value = ""
 ComboBox116.Value = ""
 ComboBox117.Value = ""
 ComboBox118.Value = ""
 ComboBox119.Value = ""
 ComboBox120.Value = ""
 ComboBox121.Value = ""
 ComboBox122.Value = ""
 ComboBox123.Value = ""
 ComboBox124.Value = ""
 ComboBox125.Value = ""
 ComboBox126.Value = ""
 ComboBox127.Value = ""
 ComboBox128.Value = ""
 ComboBox129.Value = ""
 ComboBox130.Value = ""
 ComboBox131.Value = ""
 ComboBox132.Value = ""
 ComboBox133.Value = ""
 ComboBox134.Value = ""
 ComboBox135.Value = ""
 ComboBox136.Value = ""
 ComboBox137.Value = ""
 ComboBox138.Value = ""
 ComboBox139.Value = ""
 ComboBox140.Value = ""
 ComboBox141.Value = ""
 ComboBox142.Value = ""
 ComboBox143.Value = ""
 ComboBox144.Value = ""
 ComboBox145.Value = ""
 ComboBox146.Value = ""
 ComboBox147.Value = ""

Sheets("台帳データ").Select
ActiveWindow.SmallScroll Down:=-3
Range("D6:D2000,K6:K2000,L6:L2000,M6:M2000,N6:N2000,O6:O2000,P6:P2000,Q6:Q2000,R6:R2000,S6:S2000,T6:T2000,U6:U2000,V6:V2000,FG6:FG2000,FH6:FH2000,FK6:FK2000,FM6:FM2000").Select
Selection.NumberFormatLocal = "[$-411]ggge""年""m""月""d""日"";@"
Range("B6").Select
End Sub

Private Sub TextBox1_Change()

End Sub

Private Sub TextBox4_Change()

End Sub

'【マクロに登録されている項目を選びます。】
Private Sub userform_activate()
Application.ScreenUpdating = False
Sheets("マクロ").Select
Range("a1:a10").Select
Selection.ClearContents
Range("a1").Select
ComboBox1.RowSource = "f6:f50"
ComboBox1.ListRows = 10
ComboBox2.RowSource = "h6:h30"
ComboBox2.ListRows = 10
ComboBox3.RowSource = "b6:b500"
ComboBox3.ListRows = 10
ComboBox4.RowSource = "c6:c104"
ComboBox4.ListRows = 10
ComboBox5.RowSource = "i6:i50"
ComboBox5.ListRows = 10
ComboBox6.RowSource = "cw6:cw50"
ComboBox6.ListRows = 10
ComboBox138.RowSource = "j6:j30"
ComboBox138.ListRows = 10
ComboBox139.RowSource = "e6:e50"
ComboBox139.ListRows = 10
ComboBox145.RowSource = "an6:an50"
ComboBox145.ListRows = 10
ComboBox148.RowSource = "ac6:ac20"
ComboBox148.ListRows = 5
End Sub

Private Sub MultiPage1_Change()
If MultiPage1.Value = 1 Then
Dim P0 As Integer
P0 = Range("a1")
If P0 = 0 Then
P0 = P0 + 1
Range("a1").Value = P0
ComboBox7.RowSource = "cx6:cx30"
ComboBox7.ListRows = 10
ComboBox8.RowSource = "cy6:cy50"
ComboBox8.ListRows = 10
ComboBox9.RowSource = "cz6:cz30"
ComboBox9.ListRows = 10
ComboBox10.RowSource = "da6:da50"
ComboBox10.ListRows = 10
ComboBox11.RowSource = "db6:db30"
ComboBox11.ListRows = 10
ComboBox12.RowSource = "dc6:dc50"
ComboBox12.ListRows = 10
ComboBox13.RowSource = "dd6:dd30"
ComboBox13.ListRows = 10
ComboBox14.RowSource = "de6:de50"
ComboBox14.ListRows = 10
ComboBox15.RowSource = "df6:df30"
ComboBox15.ListRows = 10
ComboBox16.RowSource = "dg6:dg50"
ComboBox16.ListRows = 10
ComboBox17.RowSource = "dh6:dh30"
ComboBox17.ListRows = 10
ComboBox18.RowSource = "di6:di50"
ComboBox18.ListRows = 10
ComboBox19.RowSource = "dj6:dj30"
ComboBox19.ListRows = 10
ComboBox20.RowSource = "dk6:dk50"
ComboBox20.ListRows = 10
ComboBox21.RowSource = "dl6:dl30"
ComboBox21.ListRows = 10
ComboBox22.RowSource = "dm6:dm50"
ComboBox22.ListRows = 10
ComboBox23.RowSource = "dn6:dn30"
ComboBox23.ListRows = 10
ComboBox24.RowSource = "do6:do50"
ComboBox24.ListRows = 10
ComboBox25.RowSource = "dp6:dp30"
ComboBox25.ListRows = 10
ComboBox24.RowSource = "do6:do50"
ComboBox24.ListRows = 10
ComboBox25.RowSource = "dp6:dp30"
ComboBox25.ListRows = 10
ComboBox26.RowSource = "dq6:dq50"
ComboBox26.ListRows = 10
ComboBox27.RowSource = "dr6:dr30"
ComboBox27.ListRows = 10
ComboBox28.RowSource = "ds6:ds50"
ComboBox28.ListRows = 10
ComboBox29.RowSource = "dt6:dt30"
ComboBox29.ListRows = 10
ComboBox30.RowSource = "du6:du50"
ComboBox30.ListRows = 10
ComboBox31.RowSource = "dv6:dv30"
ComboBox31.ListRows = 10
ComboBox32.RowSource = "dw6:dw50"
ComboBox32.ListRows = 10
ComboBox33.RowSource = "dx6:dx30"
ComboBox33.ListRows = 10
ComboBox34.RowSource = "dy6:dy50"
ComboBox34.ListRows = 10
ComboBox35.RowSource = "dz6:dz30"
ComboBox35.ListRows = 10
ComboBox36.RowSource = "ea6:ea50"
ComboBox36.ListRows = 10
ComboBox37.RowSource = "eb6:eb30"
ComboBox37.ListRows = 10
ComboBox38.RowSource = "ec6:ec50"
ComboBox38.ListRows = 10
ComboBox39.RowSource = "ed6:ed30"
ComboBox39.ListRows = 10
ComboBox40.RowSource = "ee6:ee50"
ComboBox40.ListRows = 10
ComboBox41.RowSource = "ef6:ef30"
ComboBox41.ListRows = 10
ComboBox42.RowSource = "eg6:eg50"
ComboBox42.ListRows = 10
ComboBox43.RowSource = "eh6:eh30"
ComboBox43.ListRows = 10
ComboBox44.RowSource = "ei6:ei50"
ComboBox44.ListRows = 10
ComboBox45.RowSource = "ej6:ej30"
ComboBox45.ListRows = 10
ComboBox46.RowSource = "ek6:ek50"
ComboBox46.ListRows = 10
ComboBox47.RowSource = "el6:el30"
ComboBox47.ListRows = 10
ComboBox48.RowSource = "em6:em50"
ComboBox48.ListRows = 10
ComboBox49.RowSource = "en6:en30"
ComboBox49.ListRows = 10
ComboBox50.RowSource = "eo6:eo50"
ComboBox50.ListRows = 10
ComboBox51.RowSource = "ep6:ep30"
ComboBox51.ListRows = 10
ComboBox52.RowSource = "eq6:eq50"
ComboBox52.ListRows = 10
ComboBox53.RowSource = "er6:er30"
ComboBox53.ListRows = 10
ComboBox54.RowSource = "es6:es50"
ComboBox54.ListRows = 10
ComboBox55.RowSource = "et6:et30"
ComboBox55.ListRows = 10
ComboBox56.RowSource = "eu6:eu50"
ComboBox56.ListRows = 10
ComboBox57.RowSource = "ev6:ev30"
ComboBox57.ListRows = 10
ComboBox58.RowSource = "ew6:ew50"
ComboBox58.ListRows = 10
ComboBox59.RowSource = "ex6:ex30"
ComboBox59.ListRows = 10
ComboBox60.RowSource = "ey6:ey50"
ComboBox60.ListRows = 10
ComboBox61.RowSource = "ez6:ez30"
ComboBox61.ListRows = 10
ComboBox62.RowSource = "fa6:fa50"
ComboBox62.ListRows = 10
ComboBox63.RowSource = "fb6:fb30"
ComboBox63.ListRows = 10
ComboBox64.RowSource = "fc6:fc50"
ComboBox64.ListRows = 10
ComboBox65.RowSource = "fd6:fd30"
ComboBox65.ListRows = 10
End If
End If
If MultiPage1.Value = 2 Then
Dim P1 As Integer
P1 = Range("a2")
If P1 = 0 Then
P1 = P1 + 1
Range("a2").Value = P1
Sheets("マクロ").Select
ComboBox66.RowSource = "ao6:ao30"
ComboBox66.ListRows = 10
ComboBox67.RowSource = "ap6:ap50"
ComboBox67.ListRows = 10
ComboBox68.RowSource = "aq6:aq30"
ComboBox68.ListRows = 10
ComboBox69.RowSource = "ar6:ar50"
ComboBox69.ListRows = 10
ComboBox70.RowSource = "as6:as30"
ComboBox70.ListRows = 10
ComboBox71.RowSource = "at6:at50"
ComboBox71.ListRows = 10
ComboBox72.RowSource = "au6:au30"
ComboBox72.ListRows = 10
ComboBox73.RowSource = "av6:av50"
ComboBox73.ListRows = 10
ComboBox74.RowSource = "aw6:aw30"
ComboBox74.ListRows = 10
ComboBox75.RowSource = "ax6:ax50"
ComboBox75.ListRows = 10
ComboBox76.RowSource = "ay6:ay30"
ComboBox76.ListRows = 10
ComboBox77.RowSource = "az6:az50"
ComboBox77.ListRows = 10
ComboBox78.RowSource = "ba6:ba30"
ComboBox78.ListRows = 10
ComboBox79.RowSource = "bb6:bb50"
ComboBox79.ListRows = 20
ComboBox80.RowSource = "bc6:bc30"
ComboBox80.ListRows = 10
ComboBox81.RowSource = "bd6:bd50"
ComboBox81.ListRows = 10
ComboBox82.RowSource = "be6:be30"
ComboBox82.ListRows = 10
ComboBox83.RowSource = "bf6:bf50"
ComboBox83.ListRows = 10
ComboBox84.RowSource = "bg6:bg30"
ComboBox84.ListRows = 10
ComboBox85.RowSource = "bh6:bh50"
ComboBox85.ListRows = 10
ComboBox86.RowSource = "bi6:bi30"
ComboBox86.ListRows = 10
ComboBox87.RowSource = "bj6:bj50"
ComboBox87.ListRows = 10
ComboBox88.RowSource = "bk6:bk30"
ComboBox88.ListRows = 10
ComboBox89.RowSource = "bl6:bl50"
ComboBox89.ListRows = 10
ComboBox90.RowSource = "bm6:bm30"
ComboBox90.ListRows = 10
ComboBox91.RowSource = "bn6:bn50"
ComboBox91.ListRows = 10
ComboBox92.RowSource = "bo6:bo30"
ComboBox92.ListRows = 10
ComboBox93.RowSource = "bp6:bp50"
ComboBox93.ListRows = 10
ComboBox94.RowSource = "bq6:bq30"
ComboBox94.ListRows = 10
ComboBox95.RowSource = "br6:br50"
ComboBox95.ListRows = 10
ComboBox96.RowSource = "bs6:bs30"
ComboBox96.ListRows = 10
ComboBox97.RowSource = "bt6:bt50"
ComboBox97.ListRows = 10
ComboBox98.RowSource = "bu6:bu30"
ComboBox98.ListRows = 10
ComboBox99.RowSource = "bv6:bv50"
ComboBox99.ListRows = 10
ComboBox100.RowSource = "bw6:bw30"
ComboBox100.ListRows = 10
ComboBox101.RowSource = "bx6:bx50"
ComboBox101.ListRows = 10
ComboBox102.RowSource = "by6:by30"
ComboBox102.ListRows = 10
ComboBox103.RowSource = "bz6:bz50"
ComboBox103.ListRows = 10
ComboBox104.RowSource = "ca6:ca30"
ComboBox104.ListRows = 10
ComboBox105.RowSource = "cb6:cb50"
ComboBox105.ListRows = 10
ComboBox106.RowSource = "cc6:cc30"
ComboBox106.ListRows = 10
ComboBox107.RowSource = "cd6:cd50"
ComboBox107.ListRows = 10
ComboBox108.RowSource = "ce6:ce30"
ComboBox108.ListRows = 10
ComboBox109.RowSource = "cf6:cf50"
ComboBox109.ListRows = 10
ComboBox110.RowSource = "cg6:cg30"
ComboBox110.ListRows = 10
ComboBox111.RowSource = "ch6:ch50"
ComboBox111.ListRows = 10
ComboBox112.RowSource = "ci6:ci30"
ComboBox112.ListRows = 10
ComboBox113.RowSource = "cj6:cj50"
ComboBox113.ListRows = 10
ComboBox114.RowSource = "ck6:ck30"
ComboBox114.ListRows = 10
ComboBox115.RowSource = "cl6:cl50"
ComboBox115.ListRows = 10
ComboBox116.RowSource = "cm6:cm30"
ComboBox116.ListRows = 10
ComboBox117.RowSource = "cn6:cn50"
ComboBox117.ListRows = 10
ComboBox118.RowSource = "co6:co30"
ComboBox118.ListRows = 10
ComboBox119.RowSource = "cp6:cp50"
ComboBox119.ListRows = 10
ComboBox120.RowSource = "cq6:cq30"
ComboBox120.ListRows = 10
ComboBox121.RowSource = "cr6:cr50"
ComboBox121.ListRows = 10
ComboBox122.RowSource = "cs6:cs30"
ComboBox122.ListRows = 10
ComboBox123.RowSource = "ct6:ct50"
ComboBox123.ListRows = 10
ComboBox124.RowSource = "cu6:cu30"
ComboBox124.ListRows = 10
ComboBox125.RowSource = "cv6:cv50"
ComboBox125.ListRows = 10
End If
End If
If MultiPage1.Value = 3 Then
Dim P2 As Integer
P2 = Range("a3")
If P2 = 0 Then
P2 = P2 + 1
Range("a3").Value = P2
ComboBox126.RowSource = "ab6:ab50"
ComboBox126.ListRows = 10
ComboBox127.RowSource = "g6:g50"
ComboBox127.ListRows = 10
ComboBox128.RowSource = "ad6:ad30"
ComboBox128.ListRows = 10
ComboBox129.RowSource = "ae6:ae50"
ComboBox129.ListRows = 10
ComboBox130.RowSource = "af6:af50"
ComboBox130.ListRows = 10
ComboBox131.RowSource = "ag6:ag50"
ComboBox131.ListRows = 10
ComboBox132.RowSource = "ah6:ah30"
ComboBox132.ListRows = 10
ComboBox133.RowSource = "ai6:ai50"
ComboBox133.ListRows = 10
ComboBox134.RowSource = "aj6:aj50"
ComboBox134.ListRows = 10
ComboBox135.RowSource = "ak6:ak30"
ComboBox135.ListRows = 10
ComboBox136.RowSource = "al6:al50"
ComboBox136.ListRows = 10
ComboBox137.RowSource = "am6:am50"
ComboBox137.ListRows = 10
End If
End If
If MultiPage1.Value = 4 Then
Dim P3 As Integer
P3 = Range("a4")
If P3 = 0 Then
P3 = P3 + 1
Range("a4").Value = P3
ComboBox140.RowSource = "gn6:gn50"
ComboBox140.ListRows = 10
ComboBox141.RowSource = "go6:go30"
ComboBox141.ListRows = 10
ComboBox142.RowSource = "ff6:ff50"
ComboBox142.ListRows = 10
ComboBox143.RowSource = "fr6:fr50"
ComboBox143.ListRows = 10
ComboBox144.RowSource = "fs6:fs30"
ComboBox144.ListRows = 10
End If
End If
If MultiPage1.Value = 6 Then
Dim P4 As Integer
P4 = Range("a5")
If P4 = 0 Then
P4 = P4 + 1
Range("a5").Value = P4
ComboBox146.RowSource = "ft6:ft50"
ComboBox146.ListRows = 10
ComboBox147.RowSource = "fu6:fu30"
ComboBox147.ListRows = 10
End If
End If
End Sub


 すいません、改行途中で登録してしまいました。
 申し訳ありません。

 かみちゃんさん、改めてアドバイスいただければ助かります。
 いつも心強いアドバイスいただきまして助かってます。
 よろしくお願いします。

   vntColumnName = Array(, , , , "U", "V", "M", "Q", "K", "L", "N", "R", , , , , , , , _
                         "O", "S", "Z", "AA", "Y", "W", "D", "FK", "FL", "FM", "FE", "FG", _
                         "FH", "FZ", "GA", "GB", "GC", "GD", "GE", "GF", "GG", "GH", _
                         "GI", "FN", "FO", "FP", "FQ", "GJ", "GK", "GL", "D", "Z", _
                         "AA", "W", "FM", "FE", "FG", "FH", "FZ", "GA", "GB", "GC", _
                         "GD", "GE", "GF", "GG", "GH", "GI", "FV", "FW", "FX", "FY", _
                         "GM")
   For i = 4 To 11
     Sheets("マクロ").Range(vntColumnName(i) & "3").Value = Me.Controls("TextBox" & i).Value
                            ^^^^^^^^^^^^^^^^^^^^^^
   Next
   For i = 19 To 71
     Sheets("マクロ").Range(vntColumnName(i) & "3").Value = Me.Controls("TextBox" & i).Value
                            ^^^^^^^^^^^^^^^^^^^^^^^
   Next

 これでどうして上書きしてないのか説明してください。
 わかりませんか?
 D,Z,AA の他にも、殆どが上書きされいます。
 とにかく、私はこれで止めますがどしろうとさんの言う"重い"とか"軽い"とかの意味がわかりません。
 (seiya)


 こんにちは。かみちゃん です。

 > 現在のコードを記載します。
 > 改めてアドバイスいただければ助かります。
 > いつも心強いアドバイスいただきまして助かってます。

 それであれば、

 >> デバックが1箇所でます。
 >> If Not IsError(vntRowSource(i)) Thenの箇所です。
 >> 原因は分かるでしょうか?
 >> ちなみにコンボボックス148を配置しているタブは
 >> コンボボックス145と同じです。
 > 
 > デバッグは出るのは、わかるのですが、エラーメッセージがわかりません。
 > コンボボックスは、1〜148までの148個あるのですか?

 とお聞きしていることに、お答えいただけませんか?
 コンボボックスは、148個あるのか?
 デバッグが出たときのエラーメッセージは何か?

 なお、イミディエイト・ウィンドウはわかりますか?
 それがわかれば、エラーの原因が特定しやすいのですが・・・
http://www.vba-world.com/immediate1.html

 (かみちゃん)
 2009/07/01 22:18


 こんにちは。かみちゃん です。

 > コンボボックスは、148個あるのか?
 > デバッグが出たときのエラーメッセージは何か?
 > 
 > なお、イミディエイト・ウィンドウはわかりますか?

 について、お答えいただきたいところですが、原因がわかりました。

 >>  vntRowSource = Array( 〜 途中省略〜
 >>                            , "ah6:ah30", , "aj6:aj50", , "al6:al50", , "j6:j30", "e6:e50", "gn6:gn50", _
 >>                            "go6:go30", "ff6:ff50", , , "an6:an50", , , ●)
 >>  vntListRows = Array( 〜 途中省略〜
 >>                       , , , , , , , 20, 10, , 20, _
 >>                       , 10, , 20, , 20, , 10, 20, 20, 10, 20, , , 20, , ,▲)
 >>
 >> のコードの●や▲は、148番目の位置になりますので、

 と説明しましたとおり、
 , , , "an6:an50" や , , , 20 のあとの , の数が足りません。

 再度確認してみてください。

 コードをどのように修正したらいいのかわからないのであれば、先に、上記質問にお答えいただけませんか?

 (かみちゃん)
 2009/07/01 22:48


 >あの後、勉強のため、別のVBAを作ってみましたが、うまくいって
 >ます。
 これって「さくさく動いてます」って事ですか?
 それとも根本的に「エラーが出ずに動いてます」って事ですか?

 > '【入力表からマクロへデータを貼り付けます。】
 の部分は、相変わらず
  Range("U3").Select
  ActiveCell.Value = TextBox4.Value
 と、セルをSelectしていますが このSelectをなくして
  Range("U3").Value = TextBox4.Value
 では、うまく行かないのですか?

 また、行数が長くなるのが気に入らないだけなら
 「:」を使って続けて書くことも出来ると思います。
    TextBox1.Value = "": TextBox2.Value = "": TextBox3.Value = "": TextBox4.Value = "": TextBox5.Value = ""
    TextBox6.Value = "": TextBox7.Value = "": TextBox8.Value = "": TextBox9.Value = "": TextBox10.Value = ""

 ちなみに、seiyaさんが言っておられるのは 再度載せられたコードですと
  '【入力表からマクロへデータを貼り付けます。】の中の 例えば
 Range("Z3").Select
 ActiveCell.Value = TextBox21.Value

 Range("Z3").Select
 ActiveCell.Value = TextBox50.Value

 この二つの部分の事です。

 結局Z3セルには TextBox50の値が入るので
 その前に TextBox21の値を入れる必要は
 無さそうに思うのですが・・・?

 (HANA)

 こんにちは。かみちゃん です。

 ちょっと、他の方がコメントされていることが、わかりづらいようなので、私からも一言だけ。

 その前に、一点、書き忘れましたが、

 > For i = 1 To 148
 >   Sheets("マクロ").Range(vntColumnName(i) & "3").Value = Me.Controls("ComboBox" & i).Value
 > Next

 とするならば、
 "GO", "FF", "FR", "FS", "AN", "FT", "FU", ★)
 ★の部分に、ComboBox148の値の転記先のセルの列名を指定する必要があります。

 さて、

 > 上書ききではないですよ。
 > 契約当初に入力したデータの後に変更時のデータを入力すると
 > 1行下に行くようにしてますので・・・。

 エラーが解消されてから、落ち着いて確認していただきたいのですが、
 私は、最初に提示されたコードを単純に短くするならば、という思いで提案していますが、たしかに
 みなさんがおっしゃっているとおり、

   Range("Z3").Select
   ActiveCell.Value = TextBox21.Value
   Range("AA3").Select
   ActiveCell.Value = TextBox22.Value
 と
   Range("Z3").Select
   ActiveCell.Value = TextBox50.Value
   Range("AA3").Select
   ActiveCell.Value = TextBox51.Value
 は、TextBox21 のあとに、TextBox50 の値がZ3セルに転記され、
 TextBox22 のあとに、TextBox51 の値がZ3セルに転記されるので、
   Range("Z3").Select
   ActiveCell.Value = TextBox21.Value
   Range("AA3").Select
   ActiveCell.Value = TextBox22.Value
 のコードは意味がないように思います。

 それとも、
   Range("Z3").Select
   ActiveCell.Value = TextBox50.Value
   Range("AA3").Select
   ActiveCell.Value = TextBox51.Value
 のセル位置が違うのでしょうか?

 このように、同じセルに対して転記しようとしているTextBoxがいくつかあります。
 試しに、TextBox1に"1"、TextBox2に"2"、TextBox3に"3"・・・TetxBox71に"71"
 と入力して、動作確認してみてください。
 "1"〜"71"のうち転記されていない(上書きされている)ことに気づいていただけると思います。
 もちろん、提示されたコードのセル位置が違うということもありますので、それであれば、セル位置
 を修正していただくだけかと思います。

 エラーは出なくなったけれども、転記されないTextBoxがあるという事象に遭遇されることを心配しています。
 もっとも、先にエラーが出ないようにしないと見えてこないとは思いますが。

 (かみちゃん)
 2009/07/02  5:21


みなさま、ありがとうございます。
 一つ一つコメントを見させてもらってから
 確認したいと思います。

 いろいろアドバイスありがとうございます。
 現在使ってるのが別のVBA(上記のもの)ですので、
 かみちゃんさんに作っていただいたのが上書きされてると
 思いませんでした。
 すいません、勘違いでした。

 別のVBAはエラーもなく正常に動いているので、それを
 使いながらかみちゃんさんに作っていただいたものを
 確認していこうと思います。

 少し確認に時間がかかるかもしれませんが、よろしくお願いします。

 こんにちは。かみちゃん です。

 > 作っていただいたのが上書きされてると思いませんでした。

 誤解があるといけないのですが、私が提示しているコードは、
 どしろうとさんが最初に提示されたコードを短くしただけです。
 つまり、どしろうとさんが最初に提示されたコードでも、重いだけでなく、上書きされますが、それで
 いいのでしょうか?ということが疑問です。

 順番に確認されるといいと思いますが、まずは、エラーがなくなったなら、なくなったと知らせていただけると
 ありがたいです。

 (かみちゃん)
 2009/07/02 12:30


 >現在使ってるのが別のVBA(上記のもの)ですので
 私が引用したのは、再度載せられたコードの中から引用しました。
 ですから、現在使って居られるコードも上書きしていますよ?

 現状問題が無い様ですので、
 早急な対処が必要な物ではないのかもしれませんが。

 (HANA)

 どしろうとさん

 まず、そのこと(重複)を確認してください。
 そして、スピードは無視して単純にコードを短くし、尚且つメンテし易くするようなコードなら
 いくらでもできます。
 (seiya)

コメント返信:

[ 一覧(最新更新順) ]


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