VBAコードを使用して作成したExcelシートに同じ名前の複数の行を表示するとします。私はExcelシート1にテキストボックスを作成しました。テキストボックスに名前を入力して検索ボタンをクリックすると、同じ人物の複数の行をExcelシート3で表示します。Excelで複数の行を表示するVBAコード
コード: 私は持っています「リスト」というExcelシートが作成され、その中のデータは
NAME CITY
LAKHA LONDON
KIKI US
LAKHA US
ここにコードがあります。
Sub finddata()
Dim erow As Long
Dim ws As Worksheet
Dim lastrow As Long
Dim count As Integer
lastrow = Sheets("List").Cells(Rows.count, 1).End(xlUp).Row
For x = 2 To lastrow
If Sheets("List").Cells(x, 1) = Sheet1.Range("E7") Then
Sheet3.Range("A2") = Sheets("List").Cells(x, 1)
Sheet3.Range("B2") = Sheets("List").Cells(x, 2)
End If
Next x
End Sub
Sub printdata()
Sheet3.Range("A1:B2").PrintPreview
'Sheet3.Range("A1:B2").PrintOut
End Sub
Sub Clear_Cells()
Sheets("Sheet3").Range("A2:B2").ClearContents
Sheets("Sheet1").Range("E7:E7").ClearContents
End Sub
ただし、これは一度に1つの行のみを表示します。
ヒント、すなわち:あなたの質問から、 "すぐに答えてください。私は期限切れです..."を削除してください。 – CMArg
常にセルA2とB2に書き込みます。必要な行をすべて出力していますが、最後の行はすべて上書きされます。 'Range(" A2 ")'を 'Cells(RowOut、1)'に置き換えます。ループの前に 'Range(" B2 ")'を 'Cell(RowOut、2)'に置き換えます。 'End If'の前に' RowOut = RowOut = 2'をループの前に追加してください。 –
'すぐに答えてください。私は締め切りに入っています... - おっと - ごめんなさい - あなたが投稿したときに私は目を覚ましていませんでした - 私はあなたのコードの他のいくつかのエラーについて私の投稿には役に立たないと思います。 – YowE3K