私は両方の方法の下に与えられていますボタン。ボタン
Public Class Form1
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
Dim masterTable As New DataTable
Dim cnnStr As String = "Provider=Microsoft.ACE.OLEDB.12.0;Extended Properties=""Excel 12.0 Xml;HDR=NO"";Data Source=""{0}"";"
Using da As New OleDb.OleDbDataAdapter("select * from [Sheet1$] Where F1 = 'Test1'", String.Format(cnnStr, "C:\Book1.xlsx"))
da.Fill (masterTable)
End Using
DataGridView1.DataSource = masterTable
End Sub
End Class
にこのコードを配置し、私は限られたデータを使用しています:)
SNAPSHOT
を行っています。

また、あなたがそれを行う方法を不思議に思っている場合には

EDIT
以下のようにヘッダを表示するために"select * from [Sheet1$] Where F1 = 'Test1'"
"select F1 as Name,F2 as PN, F3 as [Inventory Loc] from [Sheet1$] Where F1 = 'Test1'"
にあなたの文字列を変更することができますVBA
USING VBA
リストボックスとコマンドボタンをフォームに配置し、このコードを使用します。
Option Explicit
Private Sub CommandButton1_Click()
Dim ws As Worksheet, ws1 As Worksheet
Dim rng As Range
Dim lastRow As Long
Dim Ar As Variant
Set ws = Sheets("Sheet1")
lastRow = ws.Cells.Find(What:="*", After:=ws.Range("A1"), _
Lookat:=xlPart, LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious, _
MatchCase:=False).Row
Set rng = ws.Range("A1:C" & lastRow)
Set ws1 = Sheets.Add
With rng
ws.AutoFilterMode = False
.AutoFilter Field:=1, Criteria1:="Test1"
.SpecialCells(xlCellTypeVisible).Copy ws1.Range("A1")
ws.AutoFilterMode = False
lastRow = ws1.Cells.Find(What:="*", After:=ws1.Range("A1"), _
Lookat:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, _
SearchDirection:=xlPrevious, MatchCase:=False).Row
Ar = ws1.Range("A1:C" & lastRow)
Application.DisplayAlerts = False
ws1.Delete
Application.DisplayAlerts = True
End With
With Me.ListBox1
.Clear
.ColumnHeads = False
.ColumnCount = 3
.List = Ar
.ColumnWidths = "50;50;50"
.TopIndex = 0
End With
End Sub
SNAPSHOT

MOREフォロー
こんにちはシッダールタ、コードの両方のためにどうもありがとうございました。 VBの場合。ネットそれは素晴らしいです。 ExelのVBAの場合、Ctrl + Cキーを使用してデータをコピーする方法はありますか?複数の行をコピーする方が望ましいですが、単一行は問題ありません。 "Test1"をテキストボックスi49.tinypic.com/2ceq3yfに置き換えることができます。jpg - user1370854 5時間前
はい選択した1つまたは複数の項目をリストボックスからクリッパーボードにコピーすることは可能です。 listobx multiselectを作成するには、デザインモードでリストボックスのプロパティをfmMultiSelectMulti1
に設定します。次へコマンドボタンを追加し、このコードを貼り付けます。
このコードは、私が上記のデータを元にしていますので、適切に修正してください。 Copy
ボタンを押すと、データがクリップボードにコピーされ、CTL V
を使用して必要な場所にデータを貼り付けることができます。たとえば、メモ帳で。
Private Sub CommandButton2_Click()
Dim MyData As DataObject
Dim i As Long
Dim strCopiedText As String
Set MyData = New DataObject
With Me.ListBox1
For i = 1 To .ListCount
If .Selected(i - 1) Then
strCopiedText = strCopiedText & _
.List(i - 1, 0) & vbTab & _
.List(i - 1, 1) & vbTab & _
.List(i - 1, 2) & vbCrLf
End If
Next i
If Len(strCopiedText) > 0 Then
MyData.Clear
MyData.SetText strCopiedText
MyData.PutInClipboard
MsgBox "Data copied to clipboard"
End If
End With
End Sub

それはVBAとVB.Netの両方で行うことができます。あなたはどれが欲しいですか? –
VBで行うことができる場合。タブ(アドイン)としてのネットhttp://i47.tinypic.com/tsoj.png - それは最高です – NCC