[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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
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)
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を使ったのも作ってみました。 でも、かみちゃんさんのを是非使わせていただこうと思います。 ありがとうございました!
かみちゃんさん、あと一つご教示ください。 コンボボックスを一つ追加(コンボ番号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.