質問のタイトルからして、何の質問という感じで
すみません。TextBox1.TextをTextBox10.Textまでつくり
cells(1,1)=TextBox1.Text
l
l
cells(1,10)=TextBox10.Text
各セルにTextBoxの内容を書き込みたいのです。セルとテキストの変化
部分をそれぞれ、変数1、変数2とおいてFor~Next なりDo until loop
なりで、変数を変化させようと思いました。cells(1,変数1)の指定
は上手くいったのですが、TextBox変数2.Textの指定がうまくいきません。
TextBox変数2.Textについてどのように変数の設定をしたら、良いでしょうか?
そもそも、TextBox1.Textの数字部分【1】は変数に指定できないのでしょうか?
すみませんが教えてください。EXCEL2000を使っています。
No.3ベストアンサー
- 回答日時:
書いてみましたが、シート上のコントロールツールボックスのテキストボックスでしょうか。
一番面倒な場合かもしれませんね。
今から出かけますので、数日間連絡できません。ご容赦を。
補足を反映したつもりですが、時間がなくて推敲不足です。別法もありそう?(Excel2000です)
↓
Sub Test02()
Dim ws1 As Worksheet 'ワークシート1
Dim ws2 As Worksheet 'ワークシート2
Set ws1 = Worksheets("Sheet1")
Set ws2 = Worksheets("Sheet2")
Const y0 = 2
Dim myTxt As OLEObject 'TextBox
Dim myTxt2 As OLEObject 'TextBox
Dim txtNo As Integer 'テキストボックスの番号
Dim txtNo2 As Integer 'テキストボックスの番号
Dim colNo As Integer '列
'テキストボックス11~20をクリア
For Each myTxt2 In ws1.OLEObjects
If TypeName(myTxt2.Object) = "TextBox" Then
txtNo2 = Application.Substitute(myTxt2.Name, "TextBox", "")
If 11 <= txtNo2 And txtNo2 <= 20 Then
myTxt2.Object.Text = ""
End If
End If
Next
'比較してセルとテキストボックスの値を更新する
For Each myTxt In ws1.OLEObjects
If TypeName(myTxt.Object) = "TextBox" Then
txtNo = Application.Substitute(myTxt.Name, "TextBox", "")
If 1 <= txtNo And txtNo <= 10 Then
ws2.Cells(txtNo + y0, 3) = ""
If myTxt.Object.Value = Val(ws1.Cells(txtNo + y0, 2)) Then
ws2.Cells(txtNo + y0, 3) = ws1.Cells(txtNo + y0, 3)
'テキストボックス11~20の更新
For Each myTxt2 In ws1.OLEObjects
If TypeName(myTxt.Object) = "TextBox" Then
txtNo2 = Application.Substitute(myTxt2.Name, "TextBox", "")
If txtNo2 = txtNo + 10 Then
myTxt2.Object.Text = ws1.Cells(txtNo + y0, 3)
End If
End If
Next
End If
End If
End If
Next
End Sub
すっごーーーーーーーーーーーーーーーーい!!
度々すみません。感涙です!! ううう。みずしらずの私のような
やからに、お出かけ前にすみません。
しかし、このプログラムを理解するために、少し勉強します。
まだ、うまく飲み込めないところがありますので。
No.2
- 回答日時:
VBと違って、VBAではコントロール配列が使えません。
対応方法としては、1.Collectionオブジェクトを作る
2.WithEvents(クラス)を利用
3.直接コントロール名(テキストボックス名)を利用
が考えられます。
この質問では、TextBox1~TextBox10となっているので、3のテキストボックス名を使ってみます。
テキストボックスはシート上にあってもユーザーフォーム上にあっても同じ考え方でできるでしょう。
2については、
『VBAのフォームでTextBoxがいっぱいある時』
http://www.okweb.ne.jp/kotaeru.php3?q=261042
を参考にして下さい。
標準モジュールに貼り付け
↓
Sub Test01()
Dim myTxt As OLEObject 'TextBox
Dim txtNo As Integer 'テキストボックスの番号
Dim colNo As Integer '列
'アクティブシートのオブジェクトを調べる
For Each myTxt In ActiveSheet.OLEObjects
'テキストボックスだったら
If TypeName(myTxt.Object) = "TextBox" Then
'TextBox名の数値部分を取り出す
txtNo = Application.Substitute(myTxt.Name, "TextBox", "")
'TextBox1~TextBox10だったら
If 1 <= txtNo And txtNo <= 10 Then
'変数1=変数2 にした
colNo = txtNo
'セルに書き出す
Cells(1, colNo) = myTxt.Object.Value
End If
End If
Next
End Sub
参考URL:http://www.okweb.ne.jp/kotaeru.php3?q=261042
この回答への補足
すみません。教えた頂いた内容を元に、試行錯誤したのですがうまくアイデアが
浮かびませんでした。
実は、
(1)TextBox1.Textに入力した内容をWorksheets("sheet1").Cells(Y, 2)
と比較する。
(2)内容が一致していたらWorksheets("sheet2")のCells(Y, 3)にWorksheets("sheet1")のCells(Y, 3)情報をセットする。
(3)さらにTextBox11.TextにWorksheets("sheet1")のCells(Y, 3)情報を表示させるようにしたかったのです。
For Y = 3 To 10
X = Worksheets("sheet1").Cells(Y, 2) Like TextBox1.Text
If X = True Then
Worksheets("sheet2").Cells(Y, 3)=Worksheets("sheet1").Cells(Y, 3)
TextBox11.Text = Worksheets("sheet1").Cells(Y, 3)
End If
Next
次にTextBox2.TextはTextBox12.Text
次にTextBox3.TextはTextBox13.Text
とTextBox10.TextはTextBox20.Textまで同様のことをやらせたかったのです。
TextBoxの数字が変数にならないので、同様のプログラムを10個書いています。
度々お手数をおかけいたします。
VBAを始めたばかりの初心者でこれを理解するのにもう少し自分で勉強の必要
があるかと思います。詳細なご説明どうもありがとうございました。
参考にさせて頂きたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
セックスする度に胸が大きくな...
-
週1ペースで会うカップルでデー...
-
恋人とセフレの違いはなんです...
-
セックスする時なぜ声出るの
-
アナルファックと普通のセック...
-
付き合って1ヶ月でヤった後別れ...
-
おじさんになってから若い女性に
-
初めて泊まりにきてくれる彼女...
-
彼女が噛んできます。 歯型がつ...
-
彼女とのセックスに新鮮味を感...
-
彼氏が私の性格も見た目も褒め...
-
未成年同士でラブホに行った際...
-
一番多くて週に何回セックスし...
-
セックスについて。 彼が正常位...
-
女性に質問です。 僕はセックス...
-
彼女と旅行
-
貞操観念の低い女性について
-
セックスしてる時に気持ちいい...
-
Excel VBA : 文字列の属性も含...
-
セックス前にAV
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
セックスする度に胸が大きくな...
-
週1ペースで会うカップルでデー...
-
恋人とセフレの違いはなんです...
-
セックスする時なぜ声出るの
-
彼氏が私の性格も見た目も褒め...
-
セックスについて。 彼が正常位...
-
おじさんになってから若い女性に
-
彼女とのセックスに新鮮味を感...
-
付き合って1ヶ月でヤった後別れ...
-
初めて泊まりにきてくれる彼女...
-
性欲と、人を好きになるって別...
-
セックス前にAV
-
30代前半男性の性欲
-
未成年同士でラブホに行った際...
-
俗にいうセフレの定義を知りた...
-
彼女が噛んできます。 歯型がつ...
-
女性に質問です。 僕はセックス...
-
セックスの2回目が無理
-
一番多くて週に何回セックスし...
-
アナルファックと普通のセック...
おすすめ情報