2017-04-23 16 views
1

私は私の入力画面からデータを取得しようとしています:転送データ

Input Screen

およびデータを格納するために、Excelワークシートに転送します。私は現在、このコードを使用しています

Output

ActiveCell=TextBox1.Value 
ActiveCell.Offset(0,1)=TextBox2.Value 

しかし、私は非常に非効率的と思われるすべてのテキストボックスのためにこれをやって維持する必要があり、私はデータが行きたいところです。

このデータをユーザーフォームからシートに転送する効率的な方法はありますか?

ご協力いただければ幸いです。ありがとう!

+1

をループするには、次の構文を試してみてください、私はデータを取り、細胞内に直接それを置くだけで言うと思います。これは大いに役立ち、推奨されています( '.Select' /' .Activate'の使用を避けてください)。(https://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel- vba-macros)。 'ActiveCell'を使う代わりに、例えば' Cells(2,2) 'やそれがどんなセルでも使うことができます。 – BruceWayne

答えて

0

は、より多くのコードを見ずにテキストボックス

for i=0 to n ' n =number of textbox values to copy 
    activecell.offset(0,i)=userform2.controls("textbox"& i+1).value 
next i 
+0

これは、テキストボックスが別のものとして名前が変更されるまで有効です –