2016-12-19 3 views
2

Excelで新しいVBAですが、このコードが印刷している単一の列ではなく、すべてのシートデータをユーザーフォームのテキストボックスに印刷する方法を教えていただけますか?私はListBox代わりのTextBoxを使用すると、あなたのためにはるかに有用であろうことを考えるコラムAAまでsheet6のデータ(「テーブル」)360すべてのワークシートデータをユーザーフォームのテキストボックスに出力

Dim arr As Variant 
    Dim myarr As String 
    Dim i As Long 
    myarr = Sheets("Tables").Range("A:AA").Value 
    For i = LBound(myarr, 1) To UBound(myarr, 1) 
     myarr = myarr & myarr(i, 1) & vbCrLf 
    Next i 
    TextBox1 = myarr 

答えて

1

を持っています。 (あなたがそれを変更していない場合、それはあなたのユーザーフォームの名前です)UserForm1にそれを追加し、値を追加します。

With UserForm1.ListBox1 
    .ColumnCount = 27 
    .ColumnWidths = "50" 
    .RowSource = "'Tables'!A1:AA360" 
End With 

あなたはあなたのデータのためにそれを調整するために.ColumnWidthsの値を操作することができます。

+0

ありがとうございます、それは働いているようですが問題のみです。これはsheet1の列と行を取っています。代わりにsheet6( "Tables")。ユーザーフォームを表示するCommandbtnはシート1にあります。 – Rawaard

+0

申し訳ありませんが、私はあなたの懸念を理解していません。私が知る限り、VBAには 'sheet6(" Tables ")のようなものはありません。 'sheet6'という名前のスプレッドシートオブジェクトを表示したり、その表題を' Sheets( "Tables")で参照することができます。私はあなたが特定のシートにどのようにユーザーフォームを置くことができるのか、またこれを使ってComandbuttonが何をしなければならないかもわかりません。 – Limak

+0

シート「テーブル」からデータを印刷していません。シート1のデータを印刷しないようにしてください。 – Rawaard

関連する問題