[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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.