現在Excelのスプレッドシートで作業しています。Excel:VBAを使用して別のシートのテーブルに行をコピー
私の目的は、特定の条件を持つ行をブック内の次のシートと「ログシート」にコピーするVBAを作成することです。
私のVBAは、次のようになります。
Sub ImportRows()
Dim xRg As Range
Dim xCell As Range
Dim I As Long
Dim J As Long
Dim K As Long
I = Worksheets("Print").UsedRange.Rows.Count
J = Worksheets("Store").UsedRange.Rows.Count
If J = 1 Then
If Application.WorksheetFunction.CountA(Worksheets("Store").UsedRange) = 0 Then J = 0
End If
Set xRg = Worksheets("Print").Range("I2:I" & I)
On Error Resume Next
Application.ScreenUpdating = False
For K = 1 To xRg.Count
If CStr(xRg(K).Value) = "Print" Then
xRg(K).EntireRow.Copy Destination:=Worksheets("Store").Range("A" & J +1)
xRg(K).EntireRow.Copy Destination:=Worksheets("Log").Range("A" & J +1)
xRg(K).EntireRow.Delete
If CStr(xRg(K).Value) = "Print" Then
K = K - 1
End If
J = J + 1
End If
Next
Application.ScreenUpdating = True
End Sub
問題は、シート1は、データがテーブルにある印刷と呼ばれてから、私はコピーしていたときですが、私は「ストア」と呼ばれる次のシートにコピーする場合(またはログ) - データはテーブルには格納されませんが、テーブルの下の1行目に表示され、データのソートが不可能になります。
これを修正する方法についてのご意見はありますか?私は、それが目的地の範囲と関係があるかもしれないと思うが、私は確信していない。 「:H」ではなく「EntireRow」を「ストア」は、私が唯一のセルをコピーしたいし、「印刷」からのコピー - また、私はコピーしていたデータの量に苦しんだ
。
私はかなりExcelに新しいです!私は助けていただきありがとうございます!
ありがとうございました!
私はマクロを実行した後の "Store"の外観を示すスクリーンショットをアップロードしました。
http://imageshack.com/a/img922/9446/gpL9Ov.png
ごめんなさい、「店」/「ログ」シートにリストテーブルがあり、データがテーブルに入りません?リストテーブル私はINSERTメニューから挿入したものと、テーブルグループの下にあるテーブルを意味します。 – Rosetta
返信いただきありがとうございます! "プリント"シートはテーブルで、 "日付"を並べ替えることができます。 - 次のシート(ストア)に行をコピーするとき、日付を並べ替えることができます。次の期限日が上になる行。 私はこれがより明確になることを願っています – Straarup