advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 978 for チェックボックス (0.008 sec.)
[[20040826003358]]
#score: 5499
@digest: f6b46c3251a9e5d02a8cc25f47153438
@id: 8460
@mdate: 2004-08-29T14:40:20Z
@size: 26098
@type: text/plain
#keywords: ムバ (133667), 鈴本 (116388), 粧台 (83469), 面化 (66227), 洗面 (62409), amt (54857), バス (46797), バケ (33658), スa (33239), ケツ (31050), 化粧 (30667), checkbox1 (17352), プー (16782), chk (16393), シス (15887), テム (12058), additem (11384), フレ (10256), ス1 (10160), combobox3 (10054), ンボ (9529), combobox2 (9507), ボボ (8850), ステ (8502), スピ (8220), ス2 (7733), combobox1 (7721), シャ (7407), 弥太 (6690), ボッ (6101), クボ (6058), ピン (5005)
『ユーザーフォーム内のデーターについて』(鈴本)
お世話になっております。ユーザーフォームについてまたわからないことがありましたので、いくつか質問させていただきます。 例 システムバスA〜システムバスE 洗面化粧台A〜洗面化粧台E タオル シャンプー バケツ等 歯ブラシ 石鹸 コップ等 シート上にデーターはなく、コンボボックス1にシステムバス〜システムバスEの複数の項目から、どれかひとつの項目を選択しても、リストボックス1にタオル、シャンプー、バケツ等、が自動的に選択され、3つ以上同時に表示され、その3つ以上の中から、1つだけ、シフトキーなどを押しながら2つだけと複数の選択が出来るようにして、次にコンボボックス2に洗面化粧台A〜洗面化粧台Eの複数の項目から、どれかひとつの項目を選択しても、リストボックス2に、歯ブラシ、石鹸、コップ等が自動的に選択され、3つ以上同時に表示され、その3つ以上の中から、1つだけ、シフトキーなどを押しながら、2つだけと複数の選択が出来るようにして、さらにシステムバスA=10000・・・とし、コンボボックス1の項目とリストボックス1の項目とコンボボックス2の項目とリストボックス2の項目の文字すべてを規則性がない数字と認識してコマンドボタン1を押すと計算され、計算した答えが1412.5455なら、1500として百の位まで切り上げて、テキストボックス1に表示させるというのを作りたいのですがどのようにコードを記述したら、よいか分かりません。コードの記述が多く、お手数ですが、どなたかご教授お願します。 下記のは計算コードです。 Private Sub CommandButton1_Click() TextBox1.Text = (ComboBox1+ComboBox2+Listbox1+Listbox2)/ (1 - Format(ComboBox3.Value, "0.00") -Format(ComboBox4.Value, "0.000")) ---- どの部分が分からないのでしょうか? なんか質問にまとまりがない気がします。 もっと、具体的に1つ1つ質問しては? (INA) ---- 法律文以上に1文が長い…頭がごちゃごちゃ(^^; (ワケワカラン・る〜) ---- 質問は箇条書きが基本だと思います。 ここまで句点がない文章は、読み手に正確に伝わりませんよ。 文章を書いたら、投稿する前に、 客観的に文章を読み直して、誤解無く伝わる文章かどうか 添削することは重要だと思います。 本来の質問に対しての質疑ではなく、 文章に対しての質疑を繰り返すことになっては 質問者、回答者がお互いに無駄な労力を使うことになってしまいます。 しかしながら、もしあなたが日本の方でないなら 頑張って理解する努力をします。 (INA) ---- 割り込み失礼します。 相談者の(鈴本)さんが、ココまでの書き込みをしたのは下記で [[20040824033446]]『ユーザーフォームについて』(鈴本) 『ネタの後出し、小出し』は能率が悪いですよ、と私が書いてしまったためと 思われます。皆様大目に見てあげてくださいませ。 (鈴本)さんは助言に従って努力していると思いますので。 (KAMIYA) ---- はーい(る〜) ---- >努力していると思いますので。 分かりました。 >皆様大目に見てあげてくださいませ。 しかし、現状の文章では読解できないのも事実です。 (INA) ---- 皆さん、分かりにくい文章でもうしわけありません。分かりやすく説明しますと、 ユーザーフォームの作成をしている途中ですが、分からないことが4点あります。 一つ目は、上記の例示で、コンボボックス1にシステムバス〜システムバスEの複数の項目から、どれかひとつの項目を選択しても、リストボックス1にタオル、シャンプー、バケツ等、が自動的に選択され、3つ以上同時に表示され、その3つ以上の中から、1つだけ、シフトキーなどを押しながら2つだけと複数の選択が出来るようにします。上記の例示の洗面化粧台A〜洗面化粧台E 歯ブラシ 石鹸 コップ等も同様にしたいのですが それは可能でしょうか? 二つ目は、システムバスA=10000等とし、コンボボックス1の項目とリストボックス1の項目とコンボボックス2の項目とリストボックス2の項目の文字すべてを規則性がない数字と認識して計算したいのです。数字は、仕入価格の金額なんですが、仕事の関係上 どうしてもコンボボックスなどに表示せずにシークレットにしておきたいのです。 三つ目は、文字を数字として計算するに当たって、計算のコードの記述で、「comboBox1」「comboBox2」「Listbox1」「Listbox2」の部分をどのようにコードを記述したらよいか分かりません。 四つ目は、コマンドボタン1を押すと計算され、計算した答えがそのままテキストボックス1に表示されるのではなく、答えが1412.5455なら、1500として百の位まで切り上げて、テキストボックス1に表示させたいのですが、百の位まで切り上げて表示するのが わかりません。 以上の4点のコードの記述の仕方が分からなくて困っております。質問が多くてお手数ですが、どなたかご教授お願いします。シート上にデータはありません。 下記のは、計算コードです。 Private Sub CommandButton1_Click() TextBox1.Text = (ComboBox1+ComboBox2+Listbox1+Listbox2)/ (1 - Format(ComboBox3.Value, "0.00") -Format(ComboBox4.Value, "0.000")) (鈴本) ---- ほう、鈴本さんもなかなかやりますなぁ。 小出しにせんといっぺんに出せえと言う報復がこれでっか?(笑) さしずめ、「これでやれるもんならやってみろ!」の挑戦状でんな。 ええでしょう、受けてたちまひょ。 なんせ私のHNは弥ッ太郎っちゅうくらいですからなぁ。(笑) 間違いの無いように作業を進めておくんなはれや。 1)新しいブックを開く 2)ユーザーフォームを1個作る 3)少し大きめにサイズ変更 4)ComboBox1 とComboBox2を正面一番上に横並びに配置 5)ComboBox1の下にCheckBoxが4個並ぶ位の大きさにFrame1を配置 6)ComboBox2の下に同じサイズのFrame2を配置 7)Frame1の中にCheckBox1〜4まで並べる 8)Frame2の中にChecBox5〜8まで並べる 9)TextBox1とComboBox3〜4を適当な空間に配置 10)CommandButton1〜2を適当に配置 中休み 11)下のコードをそのフォームのモジュールにコピペ リストボックスでは複数のデータを選択でけまへんやろからフレーム→チェックボック スで対応しましたけど、データ全部を表示するならスペース的にそう変わりまへんワ。 あと、上の説明ではCombo3,4にどんなデータが入るんか分かりまへんからあんさんの 方で書き換えておくんなはれ。 これだけでけとったら後はあんさんの努力次第でどうにでもなります。 これでどやねん(弥太郎) '-------------------------------------- Dim chk(1 To 8) As Long Dim amt_1 As Long, amt_2 As Long '------------------------------------- Private Sub CheckBox1_Click() chk(1) = 1500 '以下の書き換えはあんさんのしごと End Sub '-------------------------------------- Private Sub CheckBox2_Click() chk(2) = 1000 End Sub '---------------------------------------- Private Sub CheckBox3_Click() chk(3) = 2200 End Sub '-------------------------------------- Private Sub CheckBox4_Click() chk(4) = 1800 End Sub '---------------------------------- Private Sub CheckBox5_Click() chk(5) = 700 End Sub '---------------------------------- Private Sub CheckBox6_Click() chk(6) = 2100 End Sub '---------------------------------- Private Sub CheckBox7_Click() chk(7) = 600 End Sub '------------------------------------ Private Sub CheckBox8_Click() chk(8) = 1800 End Sub '---------------------------------- Private Sub ComboBox1_Change() Dim data Frame1.Visible = True data = Array(10000, 20000, 30000, 40000, 50000) '書き換えはあんさんの仕事 amt_1 = data(ComboBox1.ListIndex) End Sub '------------------------------------ Private Sub ComboBox2_Change() Dim data Frame2.Visible = True data = Array(15000, 25000, 35000, 45000, 55000) '書き換えはあんさんの仕事 amt_2 = data(ComboBox1.ListIndex) End Sub '------------------------------------- Private Sub CommandButton1_Click() For i = 1 To 8 If Me.Controls("CheckBox" & i).Value = True Then totl = totl + chk(i) End If Next i TextBox1.Text = Application.WorksheetFunction.Round((amt_1 + amt_2 + _ totl) / (1 - Format(ComboBox3.Value, _ "0.00") - Format(ComboBox4.Value, "0.000")), -2) End Sub '----------------------------------------- Private Sub UserForm_Initialize() With ComboBox1 .AddItem "システムバスA" .AddItem "システムバスB" .AddItem "システムバスC" .AddItem "システムバスD" .AddItem "システムバスE" End With With ComboBox2 .AddItem "洗面化粧台A" .AddItem "洗面化粧台B" .AddItem "洗面化粧台C" .AddItem "洗面化粧台D" .AddItem "洗面化粧台E" End With Frame1.Visible = False Frame2.Visible = False With ComboBox3 'ここから下は内容が不明やから .AddItem 1.25 '実情に合わせて変更 .AddItem 1.5 .AddItem 1.75 End With With ComboBox4 .AddItem 0.025 .AddItem 0.018 .AddItem 0.137 End With End Sub ---- あら、式が間違うとった。訂正、訂正(汗)TextBox1.Text=の行 やってもた(弥太郎) ---- またや。ComboBox2のコードFrame1.VisibleをFrame2に訂正。(汗)コレは暑いから もう無いで(弥太郎) ---- TextBox1.Text の行訂正したつもりがでけてない!? 今度はホンマに無いでぇ、ハハハ(笑うて誤魔化す 弥太郎) ---- 弥太郎さん、わざわざ質問を全部答えていただきありがとうございます。おかげて解決しました。後、大変申し訳ないのですが、コンボボックス1にシステムバスA〜システムバスEの複数の項目から、システムバスAを選択するとフレーム1内に自動的にチェックボックで複数のデーターが表示され、システムバスBを選択するとフレーム1内にシステムバスAで自動的に選択された複数のデータとは、違う複数のデータが自動的に表示され、システムバスCを選択すると、フレーム1内にシステムバスAシステムBで自動的に選択された複数のデーターとは違う複数のデータが自動的に表示される・・・とした場合は、どのようにコードを記述したらよいかわからないので、これもお手数ですが、ご教授お願します。 ---- さっぱり意味がわかりません。上のINAさんの書き込み読んでますか? 行頭に半角スペース入れて、適当に改行してくれるとさらにいいです。 (wizik) ---- 明確にするためのコーチとしてお聞きください。 【意図(目的、機能)を明確にする】 なにを、どうしたいのか。 自分が実現したいことを明確にする必要があります。 なにを、どうしたいのか。 意図は明確ですか? これを、こうすると、意図が明確であれば、コードがかけます。 コードがかけなくても誰かに聞くことができます。 ですから、もし、意図が不明確なのであれば、 『意図を明確にする』ことから始めてください。 【状況を配達する】 いま、どんな状況になっているのか、何がわかっていて、何がわからないのか? 「ここまでは、自分でやった。ここから先はわからないので、教えてほしい。」と、 いま、ご自分がいらっしゃるところを配達することが必要です。 (ちょうど、宅配便で相手に品物を配達するように、 あなたの意図を届ける必要があります。 そうでないと、相手はあなたが何をしたいのか、あなたの意図がわかりません。 その結果、相手はあなたの質問に対して効果的に対処することができません) 【文は短く】 1)1行に収まる文字数で記述する。 (長い文章は、主語と述語のみで成り立つ「単文」に分ける。 そして、「単文」と「単文」とを、接続詞でつなぐ) 2)主語と述語との対応関係を確認する。 (長い文章を書くと、途中で主語が入れ替わりがちです) 3)修飾語と被修飾語との対応関係を確認する。 (長い修飾語が長い被修飾語に係るような場合や、 強調したいキーワードがある場合には、 ()や「」を用いると明確になります。 4)箇条書きする。 >後、大変申し訳ないのですが、・・・(略)・・・ご教授お願します。 1文280文字あります。 たぶん、こういうことでしょうか? 後、大変申し訳ないのですが、教えてください。 いま、コンボボックス1にシステムバスA〜システムバスEの複数の項目があります。 1)このコンボボックス1から、システムバスAを選択すると フレーム1内に自動的にチェックボックで「複数のデータ」が表示されるようにする方法 2)システムバスBを選択すると、 フレーム1内に「システムバスAで自動的に選択された複数のデータ」とは違う「複数のデータ」が自動的に表示されるようにする方法 3)システムバスCを選択すると、 フレーム1内に「システムバスAシステムBで自動的に選択された複数のデータ」とは違う「複数のデータ」が自動的に表示される方法 以上の1)、2)、3)について、どのようにコードを記述したらよいかわかりません。 これもお手数ですが、ご教授お願いします。 ほとんど、鈴本様の文のままです。 363文字と文字数は増えましたが、文意は明確になったと思います。 いかがでしょうか? (フォームを使った話だと思うのですが、私はまだ詳しくありません。 ですから、意味の取り違えもあるかとは思いますが、ご容赦ください) 気分を悪くなされたかもしれませんが、お許しください。 鈴本様のお役に立てれば何よりです。(まこ) ---- 質問も意味がわかりませんが、それ以上に気になるのは鈴本さんの場合(鈴本さんだけではありませんが) 過去ログ見てもマクロ作ってもらいに来てるようにしか見えないところなんです。 もし、そうではないと言うならどんなマクロ作って駄目だったかをみせてもらえますか? (wizik) ---- 面白そうですね(不謹慎ですが)。 >マクロ作ってもらいに来てるようにしか見えない というよりは自分のできる範疇をゆうに超えているんだと思います。 これが、自分はできないのに上司にヤレといわれて仕事を押し付けられている ような状況ならいいですが、自分で出来ますと見得を切ってやっている仕事だったり SOHOで取ってきた仕事だったりすると、教えるのが... と、それは置いといて そもそもがチェックボックスではなくリストボックスだったのですから、 そこがきっと可変なのでしょう。 抽象的な説明よりも、↓のように具体例を上げたほうがいいですよ。 Combo1 [ システムバスA ] のとき List1 [ シャンプー バケツ 石鹸 コップ ] Combo1 [ システムバスB ] のとき List1 [ シャンプー トリートメント 高級バケツ ソープ ス○ベいす 純金コップ ] Combo1 [ システムバスC ] のとき List1 [ シャンプー リンス バケツ コップ ] : : : システム毎にListが変わってくるんでしょうけど、プログラム中にデータを 入力するのは面倒ですね。 ↓のように、選んだ項目の金額がでればいいということが質問の内容? Combo1 [ vシステムバスC ] Combo2 [ v洗面化粧台B ] List1 [ vシャンプー List2 [ v歯ブラシ vリンス vタオル バケツ カミソリ ] vコップ ] [ Command1 ] Text1 [ 15000 ] (ramrun)今から寝ます〜 ---- 私は文章の読解に労力は使いたくないので、退散させていただきます。 (INA) ---- 通常、最初のスレを読んで何がやりたいのか見当のつく御方はまぁいらっしゃらんでせ うなぁ。 まこさんが当を得た(多分)解析をしてくれたんで、私の推察力もまんざらでも無い と意を強うしましたワ。まこさんおおきに。(笑) ramrun氏が仰有るように鈴本はんには未だチョト荷ぃが重いんかもしれまへんで。 が、しかしでけん事に挑戦する意欲を買いまして、ここは一つあんさんのニーズにお応 えいたしまひょう。 ComboBox2とInitiarizeは触ってまへんからそのままでお願いしま。 (弥太郎) '--------------------- Dim amt_3 Dim chk(1 To 8) As Long Dim amt_1 As Long, amt_2 As Long '---------------------------------- Private Sub CheckBox1_Click() chk(1) = IIf(CheckBox1.Value, amt_3(0), 0) End Sub '------------------------------------- Private Sub CheckBox2_Click() chk(2) = IIf(CheckBox2.Value, amt_3(1), 0) End Sub '------------------------------------ Private Sub CheckBox3_Click() chk(3) = IIf(CheckBox3.Value, amt_3(2), 0) End Sub '------------------------------------ Private Sub CheckBox4_Click() chk(4) = IIf(CheckBox4.Value, amt_3(3), 0) End Sub '---------------------------------- Private Sub CheckBox5_Click() chk(5) = 1200 'ここから下は好きに変更 End Sub '--------------------------------- Private Sub CheckBox6_Click() chk(6) = 1000 End Sub '---------------------------------- Private Sub CheckBox7_Click() chk(7) = 800 End Sub '-------------------------------- Private Sub CheckBox8_Click() chk(8) = 600 End Sub '--------------------------------- Private Sub ComboBox1_Change() Dim data data = Array(10000, 20000, 30000, 40000, 50000) amt_1 = data(ComboBox1.ListIndex) For i = 0 To 3 Me.Controls("checkbox" & i + 1).Caption = get_grp(i) Next i Frame1.Visible = True End Sub '----------------------------------- Private Sub CommandButton1_Click() For i = 1 To 8 totl = totl + chk(i) Next i TextBox1.Text = Application.WorksheetFunction.Roundup((amt_1 + amt_2 + _ totl) / (1 - Format(ComboBox3.Value, _ "0.00") - Format(ComboBox4.Value, "0.000")), 0) End Sub '------------------------------------ Private Function get_grp() As Variant Select Case ComboBox1.ListIndex 'ここから下は好きに変更 Case 0 get_grp = Array("A", "B", "C", "D") amt_3 = Array(1000, 800, 1200, 1300) Case 1 get_grp = Array("E", "F", "G", "H") amt_3 = Array(1500, 900, 600, 1400) Case 2 get_grp = Array("I", "J", "K", "L") amt_3 = Array(500, 1900, 1600, 2400) Case 3 get_grp = Array("M", "N", "O", "P") amt_3 = Array(1000, 700, 900, 1800) Case 4 get_grp = Array("Q", "R", "S", "T") amt_3 = Array(800, 1900, 2200, 2800) End Select End Function ---- まこさん文章の解読ありがとうございます。弥太郎さんも答えていただいてありがとう ございます。amrunさんのおしゃるとおり、自分はできないのに上司に早くやれと仕事 を押し付けられている状態です。 VBAの本で調べてはいるのですが、それでも分からないことが、いくつかありましたの で、今までこの掲示板で、質問させていただきました。 さらに昨日上司からこういった便利な機能を追加しろと言われ、分からないことが増え てしまい困っています。厚かましいですが、また質問させていただきます。 上記の続きなんですが 1) コンボボックス1の項目の中から、システムバスAを選択して、2個以上として計算 する場合、テキストボックス2とスピンボタン1を使って、値を1〜1000まで設定 し,それをテキストボックス2に反映させ、掛けて計算します。コンボボックス2も 同様にします。 この場合はわかるのですが、Frame1内チェックボックスで対応した シャンプー バケツ 石鹸等の複数の項目で、シャンプー2個、バケツ5個、石鹸8個 の場合でもスピンボタンなどを利用して計算ができる方法。(Frame2内の複数のデー ターも同様にします) 2) Frame1内のチェックボックスで対応した、シャンプー バケツ 石鹸等の複数の項目 でどの項目にも選択していない(どの項目にもチェックを入れていない)状態で、 数字の0として認識させ計算する方法。(Frame2内の複数のデーターも同様にします) 以上の1)2)について、どのようにコードを記述したらよいかわかりません。 これもまたお手数ですが、どなたかご教授お願します。 下記のは計算のコードです。 TextBox1.Text = Application.WorksheetFunction.Roundup((amt_1*textbox2+ _ amt_2*textbox3 + totl) / (1 - Format(ComboBox3.Value, _ "0.00") - Format(ComboBox4.Value, "0.000")), -2) (鈴本) ---- 1)の質問について たとえば最初にフレームが表示されていないのは Frame1.Visible = False Frame2.Visible = False コンボボックスを選ぶとフレームが表示されるのは Frame1.Visible = True Frame2.Visible = True という記述があるからです。 これをチェックボックスやテキストボックス、スピンボタンに適用したいなら チェックボックス(非表示)の場合は CheckBox1.Visible = False のようにします。 これを条件に合わせて記述してください。 あとは chk(1) = IIf(CheckBox1.Value, amt_3(0), 0) のところを chk(1) = IIf(CheckBox1.Value, amt_3(0) * 個数, 0) というようにします(↑は例です)。 個数のところにTextBoxの値が入ってくればよいはずです。 2)の質問について コードを見る限り、chk(1)〜chk(4)まではチェックが無ければ 0となるようですので、それを参考に。 (ramrun) ---- (ramrun)さんご回答ありがとうございます。後、コンボボックス1にシステムバスA〜 システムバスEの複数の項目から、どれかひとつの項目を選択しても、自動的にフレー ム内に複数のデーターが表示される場合、 コードは Private Sub CheckBox1_Click() chk(1) = 1000*Textbox4 End Sub と記述すると、計算しても答えが変わらないのですが、 どのようにコードを記述してよいかわかりません。 これもお手数ですが、ご教授お願します。 ---- さ〜て。 どうしたもんでしょう。 私の回答のどこまで理解できましたか? というか正直、鈴本さんのレベルを見るために上記のような回答をしました。 >chk(1) = IIf(CheckBox1.Value, amt_3(0), 0) >のところを >chk(1) = IIf(CheckBox1.Value, amt_3(0) * 個数, 0) >というようにします(↑は例です)。 >個数のところにTextBoxの値が入ってくればよいはずです。 と説明しているのに >chk(1) = 1000*Textbox4 なってしまったのはなぜですか? >自分はできないのに上司にヤレといわれて仕事を押し付けられている >ような状況ならいい と書きましたが、これは「かわいそうだから手伝ってあげるよ」という意味ではなく 「やはり僕にはできません」と上司に言えば、他の人にまわすなり、 外注に出すなりを考えてくれるだろうと思ったからです。 やめるなら早いほうがいいです。 引っ張れば引っ張っただけ、あなたの評価は落ちますよ。 『IIf(CheckBox1.Value, amt_3(0), 0)の意味がわからないんですけど』 というような質問を期待していたんですけど残念です。 と、キツイことを書きましたが、貴方の為を思って書いているつもりです。 (ramrun) ---- 仕事で遅うなりました。 ramrunさん、フォローおおきに。 さ〜て、鈴本さん、上司に難題を吹きかけられてえらい難儀してまんなぁ。 で、ちょっとお訊きしますけど、私のコードを貼り付けて一応最初のあんさんの ご質問クリアでけましたんか? つまり、ComboBox2もComboBox1と同様に複数のパターンをFreme2に表示せなアカン 筈ですけど、それはでけましたんか? ramrunさんと同じ質問になりますけど、なんでchk(1)=IIf(CheckBox1.Value,amt_3 (0),0)が無うなってchk(1)=1000*TextBox4になってしまいましたん? これやったら複数のグループのデータは不要なんとちゃいまっか? 更にあんさんの説明やったらchk(1)=1000*spinbutton.valueになっとかなアカン のんとちゃいまんのん? 勘違いせんとっておくんなはれや。これはあんさんを責めとるわけやおまへんでぇ。 それはそれなりの理由がお有りでっしゃろから咎めとるんや無いんですヨ。 ここは一つ気ぃ沈めて深呼吸してみまひょう、はい、いちにぃ、いちにぃ。 上司には責められる、自分では手ぇに負えない、で、パニックに陥っとんとちゃいま っか? でなきゃ、われわれをおちょくっとるとか・・・。(笑) まぁ、それはどっちゃでもかめしまへんけど、後者でなければあんさんも飯食うて いかなあきまへんさかいなぁ。 どうでっか、ダメ元であんさんの書いたマクロ全部ここへ披瀝してみまっか? いいええな、私のマクロなんぞとてもご期待に添えるもんやおまへんけど、達人は 勿論、マクロにゃ目ぇのない連中も揃うてますさかい、ひょっとして上手い具合に ええ回答が貰えるかもしれまへんで。但し補償はでけまへんけどナ・・・。 それには、質問内容を先生方に良くわかるようにという注文付きでッせぇ。(笑) (弥太郎) ---- 弥太郎さん、ramrunさん、質問の仕方が悪くて申し訳ありません、フレーム内表示され る複数のパターンのデーターと、同じ複数のデーター、2通り必要でしたので、先ほど 質問させていただきました。 ComboBox2もComboBox1と同様に複数のパターンをFreme2に表示する方法は、弥太郎さん のおかげで、解決しました。 しかし、複数のデーターの個数の計算について、弥太郎さん、ramrunさんがご回答し てくれたとおりにコードを記述しても、textbox spinbuttonを入れ替えて、記述し て計算しても答えが変わりません。何か記述を追加しなければならないのでしょう か? これが可能でしたら、完成しますので、これもお手 数ですが、ご教授お願します。 スピンボタンとテキストボックスに関するコードの記述は、下記の通りです。 Private Sub SpinButton3_Change() TextBox4.Text = SpinButton3.Value End Sub Private Sub TextBox4_Change() End Sub TextBox1.Text = Application.WorksheetFunction.Roundup((amt_1*textbox2+ _ amt_2*textbox3 + totl) / (1 - Format(ComboBox3.Value, _ "0.00") - Format(ComboBox4.Value, "0.000")), -2) (鈴本) ---- おはようございます。 Private Sub CheckBox1_Click() chk(1) = IIf(CheckBox1.Value, amt_3(0) * TextBox4.Text, 0) End Sub 'ここ と書いとったら値が変わらない訳はおまへんでぇ。 ここと書いた行のプロジェクト欄との境界をクリックしてEnd Subを茶色に染めて 実行すればそこでマクロがとまります。 ポインターをchk(1)に近づけてみてくだはい。amt_3(0)にTextBox4を掛けた数値が 浮き上がってくるはずですワ。 それとamt_3の値を0に認識云々は理解でけましたんか? (弥太郎) ---- 同じくおはようございます。 弥太郎さんが答えを書いてくれたようですね。 ま、実際にコードを考えた弥太郎さんが答えてますんで、 文句は言いますまい。 と言いながら一言。 「情けは人の為ならず」 (ramrun) ---- ramrunさん、おおきに。 巡り巡って自分にええ報いが訪れるんでっしゃろから、もうちょっと頑張ってみます ワ。今日までええ報いに巡り会うた事おまへんでなぁ。(笑) 鈴本さん、まだ悩んでまっしゃろ? このコードではチェックボックスにチェックがはいった時点でTextBox4の数値が 反映されるようになっております。 チェックが入った後やとなんぼスピンボタンを廻してもその値はチェックボックスに 届きまへん。(おそらくこの現象の事をおっしゃってまんのやろ?) チェックが1個しか選択されんのやったらそれはカバーでけますけど、複数やと どのCheckBoxに反映してええのか分かりまへんさかいなぁ。 試しにチェックを消してスピンを廻し(あるいはスピンを廻してチェックを消し) チェックを入れてコマンドボタンをクリックしてみてくだはい。 ちゃんと計算でけるはずです。 チェックを入れた状態でスピンを反映したいんやったらCheckBox1つ1つにスピン ボタンをとりつけなアカンでせう。 そのばやいですけど、スピンボタンのコードは Private Sub SpinButton△_Change() TextBox○.Text = SpinButton△.Value If CheckBox■.Value = True Then CheckBox■.Value = False CheckBox■.Value = True End If End Sub になりますけど、CommandButtonで一括処理する方法も有りますから試してくだはい。 せやけど、なんとなく巨大なフォームが出来上がりそうでんなぁ。 マルチページを使えばコンパクトにでけるんでしょうけど、それは鈴本さんの勉強 待ちという事にしときまひょか。 (弥太郎) ---- 弥太郎さんの仰る通り、チェックが入った状態でスピンボタンを回していました。チェ ックボタンを消してからスピンをまわし、チェックをいれてからコマンドボタンをクリ ックしたら、計算が出来、解決しました。 たくさんの回答者の方の手助けのおかげで、フォームが完成し、問題はすべて解決しま した。 私の質問に最後まで付き合ってくれて本当にありがとうございます。 (鈴本) ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/200408/20040826003358.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97038 documents and 608190 words.

訪問者:カウンタValid HTML 4.01 Transitional