2016-11-18 8 views
1

ユーザーフォームのリストボックスから別のワークシートにデータをエクスポートする方法を熟知している人がいますか?ユーザーフォームの出力からExcelスプレッドシートへのデータのエクスポート

たとえば、3つの列(「名前」、「会社」、「位置」)を複数の行と共にユーザーフォームリストボックスに格納して表示したので、これをExcelワークシートにボタン)を対応する列と行に置き換えます。

アドバイスをお寄せいただきありがとうございます。

「私は基本的にExcelで新しいシートに、OK取り組んでいる 『ResultsListと』で結果を取得しようとしています結果リスト

  Rownum = ResultsList.ListCount 
      ResultsList.AddItem 

      ResultsList.List(Rownum, 0) = Name.Value 
      ResultsList.List(Rownum, 1) = Company.Value 
      ResultsList.List(Rownum, 2) = Position.Value 


    Else 
    End If 
End Sub 

Private Sub CommandButton1_Click() 

Sheets.Add = ResultsList.Value 

End Sub 

の新しい行のすべてのパラメータとのマッチング結果を表示します。

早めに追加してくれないのは残念です。

+0

これまでに試したことを私に見せてもらえますか? –

+0

私の編集したバージョンをご覧ください。乾杯! – Vancky

+0

あなたの質問はテキストボックスを参照していますが、 'ResultsList'はテキストボックス(おそらくリストボックスですか?)ではありません。 –

答えて

0

次はあなたがやろうとしているもののようだ:

Private Sub CommandButton1_Click() 
    Dim m As Long, n As Long 
    Dim ws As Worksheet 
    m = ResultsList.ListCount 
    n = ResultsList.ColumnCount 
    Set ws = Sheets.Add 
    ws.Range(ws.Cells(1, 1), ws.Cells(m, n)).Value = ResultsList.List 
End Sub 

コードは、それが複数列のリストであり、単一の列(私はそれをテストしていません)で失敗する可能性があることを前提としています。新しいシートを作成し、A1から始まる新しいシートに値を入れます。私はこれが実際には良いアイデアだとは確信していません。私はVBAコードを見つける傾向があります。なぜなら、新しいワークシートを作成するのは正当な理由がありません。そのため、現在のシートのどこかで(おそらくユーザーが選択した場所ではなく)新しいシートに配置することをお勧めします。

+0

このコードは、新しいシートを作成し、リストから情報を表示する目的で完全に機能します。私はあなたが新しいシートのアプローチに合っていると思います。同じシートに新しいシートを追加するのではなく、同じシートに新しいシートを追加します(ボタンをクリックしたとき)。しかし、このコードは私の問題を修正するためのアイデアをくれました!私はまだ十分な評判を持っていないので、あなたの答えのクレジットを与えることができないため申し訳ありません。 – Vancky

+0

助けになるのはうれしいです。あなたが望むなら、いつでも答えを受け入れることができます。 –

+0

リストボックスに表示したくない情報を配列に追加する簡単な理由から、結果リストから情報を格納して配列に格納できますが、ワークシートにエクスポートしたいのですか? – Vancky

関連する問題