[[20050329085443]] 『フォームのデータをエクセルシートに転記』(クロ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『フォームのデータをエクセルシートに転記』(クロ)

WindowsXP、Excel2000を使用しています。
顧客管理のデータベースを作成しています。
ユーザーフォームでデータを入力したものを、コマンドボタンで
エクセルシートに転記していくマクロを組んでみたのですが、

B2からB7にかけて、管理番号、氏名、フリガナ、〒、住所、宛名 の
転記先があります。
データの最終行に追加する為、いったん950行にデータを格納した後、
B列の番号順にソートをかけるという方法をとっています。

                Cells(950, 2).Value = TextBox1.Text '管理番号
                Cells(950, 3).Value = TextBox2.Text '氏名
                Cells(950, 4).Value = TextBox3.Text 'フリガナ
                Cells(950, 5).Value = TextBox4.Text '郵便番号
                Cells(950, 6).Value = TextBox5.Text '住所
                Cells(950, 7).Value = TextBox6.Text '宛名
                Range("B2:V1000").Select
                Selection.Sort Key1:=Range("B2"), Order1:=xlAscending, Header:=xlGuess, _
                OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
                :=xlPinYin

今後、データ項目が増えていく予定がありまして、転記をこの方法で
行っている場合、データ列が増えるたびに以下のマクロを追加記述
しないといけないという問題がでてきます(^^;

                Cells(950, ○).Value = TextBox□.Text 

ご教授願いたいのは、データ項目が100あるとしまして、1〜100のデータを

                Cells(950, 2〜100).Value = TextBox1〜100.Text 

みたいな感じで転記範囲を指定するだけで随時変更することが可能と
ならないでしょうか、ということです。

よろしくお願いいたします。


 どうぞ。 

 dim i as long
 dim r as long

 with worksheets("sheet1")

   r = .range("b65536").end(xlup).row + 1

       for i = 1 to 6
          .Cells(r, 1 + i).Value = me.controls("TextBox" & i).Text
      next i 

 end with 

  (INA)


 INAさんに先に書かれてしまいました(^_^A;
 折角書いたので、載せさせてください。
 
Private Sub CommandButton1_Click()
Dim MyAry() As Variant
Const ColCount As Long = 6  '項目数
 
    Set MySh = Worksheets("Sheet1")  'シート名がSheet1
    LastR = MySh.Range("B65536").End(xlUp).Row  '最終行の取得
    ReDim MyAry(ColCount - 1)
    For i = 0 To UBound(MyAry())
        MyAry(i) = Me.Controls("TextBox" & i + 1).Text
    Next i
    With MySh
        .Cells(LastR + 1, 2).Resize(1, ColCount).Value = MyAry()
        .Cells(3, 2).Resize(LastR - 1, ColCount).Sort Key1:=.Range("B2")
    End With
End Sub

 (川野鮎太郎)

こんなに少ないマクロでできてしまうのですね^^
考えていたとおりのものができあがりました。
INAさん、本当にありがとうございました!!

(クロ)


と、御礼の書き込みをしている間に川野さんからも
書き込みが^^

川野さんのマクロも動かして、今後のために勉強
させていただきます。m(__)m
ありがとうございました!^^


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.