過去ログ

                                Page     726
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼連番のTextBoxからの繰り返しコピー  まこぴ 03/2/11(火) 17:58
   ┗Re:連番のTextBoxからの繰り返しコピー  biginner 03/2/11(火) 19:01
      ┗Re:連番のTextBoxからの繰り返しコピー  biginner 03/2/11(火) 19:06
         ┗Re:連番のTextBoxからの繰り返しコピー  まこぴ 03/2/12(水) 9:03
            ┗Re:連番のTextBoxからの繰り返しコピー  つん 03/2/12(水) 11:04
               ┗Re:連番のTextBoxからの繰り返しコピー  まこぴ 03/2/12(水) 13:14

 ───────────────────────────────────────
 ■題名 : 連番のTextBoxからの繰り返しコピー
 ■名前 : まこぴ
 ■日付 : 03/2/11(火) 17:58
 -------------------------------------------------------------------------
   初めて投稿させて頂きます。
VBA始めて間が無くちょっとしたソースにも2,3時間が平気で掛かるこの頃です。
皆様の力を貸してくださいm(_ _)m

UserForm1 に TextBoxを連番で3列並べてあります
TextBox101 TextBox201 TextBox301
TextBox102 TextBox202 TextBox302
TextBox103 TextBox203 TextBox303
TextBox104 TextBox204 TextBox304
        ・
        ・
        ・
これを
Cmdコピー というコマンドボタンをクリックした時に
TEST.xls の sheet1 の
A1,2,3〜はTextBox101,102,103・・・
B1,2,3〜はTextBox201,202,203・・・
C1,2,3〜はTextBox301,302,303・・・

とコピーしていきたいのです
数が少ない時は直接コピーしていたんですが
あまりにもただの繰り返しになってきたので
ループ処理しようとしたのですがうまくいきません。
なにかすっきりとしたソースを教えて頂けたらと思います

よろしく御願い致します
 ───────────────────────────────────────  ■題名 : Re:連番のTextBoxからの繰り返しコピー  ■名前 : biginner  ■日付 : 03/2/11(火) 19:01  -------------------------------------------------------------------------
   ▼まこぴ さん:
こんばんは。
こういうのはどうでしょう。

Private Sub CommandButton1_Click()
va = Array(TextBox101.Text, TextBox102.Text, TextBox103.Text, TextBox104.Text)
vb = Array(TextBox201.Text, TextBox202.Text, TextBox203.Text, TextBox204.Text)
vc = Array(TextBox201.Text, TextBox202.Text, TextBox203.Text, TextBox204.Text)

For i = 0 To UBound(va)
  [a1].Select
  ActiveCell.Offset(i).Value = va(i)
Next i
For i = 0 To UBound(vb)
  [b1].Select
  ActiveCell.Offset(i).Value = vb(i)
Next i
For i = 0 To UBound(vc)
  [c1].Select
  ActiveCell.Offset(i).Value = vc(i)
Next i

Unload UserForm1

End Sub

面倒なので変数の宣言してません。ごめんなさい。
 ───────────────────────────────────────  ■題名 : Re:連番のTextBoxからの繰り返しコピー  ■名前 : biginner  ■日付 : 03/2/11(火) 19:06  -------------------------------------------------------------------------
   vc = Array(TextBox301.Text, TextBox302.Text, TextBox303.Text, TextBox304.Text)

でした。すみません。
 ───────────────────────────────────────  ■題名 : Re:連番のTextBoxからの繰り返しコピー  ■名前 : まこぴ  ■日付 : 03/2/12(水) 9:03  -------------------------------------------------------------------------
   biginner さん 解答ありがとうございます

実はですね、TextBoxは 連番で22個あるので配列を使用すると
 非常に長くなってしまので使えなかったんです
FOR 〜 NEXT なんかで 
 TextBox"i"みたいな形では使用できないんでしょうか?
 ───────────────────────────────────────  ■題名 : Re:連番のTextBoxからの繰り返しコピー  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 03/2/12(水) 11:04  -------------------------------------------------------------------------
   まこぴ さん、biginner おはようございます。
横から失礼します。

>実はですね、TextBoxは 連番で22個あるので配列を使用すると
> 非常に長くなってしまので使えなかったんです
>FOR 〜 NEXT なんかで 
> TextBox"i"みたいな形では使用できないんでしょうか?

こんな感じではどうですか?

  Dim i As Long
  
  For i = 1 To 10

    With Worksheets("Sheet1")
      .Cells(i, 1).Value = Me.Controls("Textbox1" & Format(i, "0#")).Value
      .Cells(i, 2).Value = Me.Controls("Textbox2" & Format(i, "0#")).Value
      .Cells(i, 3).Value = Me.Controls("Textbox3" & Format(i, "0#")).Value
    End With
  Next i

とりあえず、10個ずつテキストボックス作って試してみたんですが・・
良かったら試して見てください。
 ───────────────────────────────────────  ■題名 : Re:連番のTextBoxからの繰り返しコピー  ■名前 : まこぴ  ■日付 : 03/2/12(水) 13:14  -------------------------------------------------------------------------
   参考ソースありがとうございました
 つんさん のソースを参考に以下のソースで動作が思ったとおりになりました
beginnerさん、つんさん ありがとうございました。

  Dim count As Integer
  Dim i As Long
  
  count = 101
 
  For i = 2 To 23

    With Worksheets("反番")
      .Range("A" & i).Value = Me.Controls("Textbox" & count).Value
      .Range("B" & i).Value = Me.Controls("Textbox" & count + 100).Value
      .Range("C" & i).Value = Me.Controls("Textbox" & count + 200).Value
    End With
    count = count + 1
  Next i
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 726