私の必要に応じてExcelデータを操作する方法を知りたいと思います。別のシートに行をコピーし、重複するコードを作成する
私はいくつかの行を手で選択し、あらかじめ定義された列を持つ別のシートにコピーして、あらかじめ定義された列に合わせて一意のコードを作成したいと考えているテーブルがあります。私は2つの2つの列に基づいて重複を考慮する行。私は写真とよりを説明しますので、
この
は非常に明確ではないかもしれません。 ここ私は手で選択された行と私のテーブルを持って、私は列H、I、Kをコピーしたいと思います、AA、AJ別のシートへの私の他のテーブルの列に合わせていくつかの特定のために:
私は列A、列Eの私のAA列で私の列Kの私のAJ列を希望します列Fなど...
私はまた、(21から17は、列Bの青いシートで同じキーを持つことになり、ここで最初の画像行の例えば)列F及びIに基づいて独自のキーの
を作成したいでしょう私は自分の選択した行を取り出し、必要な列を別のシートにコピーすることができます。
2番目のシートにテンプレートに合わせて並べ替える方法がわかりません。私はまた、キーを作成し、最初のシートの列FとIの組み合わせごとに、それを2番目のシートに挿入する方法も知らない。
Sub ajout_commande()
Set DataSheet = ThisWorkbook.Worksheets("0")
Dim a As Range, b As Range
Set a = Selection
i = Selection.Rows.Count
For Each b In a.Rows
DataSheet.Cells(2, 1).EntireRow.Insert
Next
Dim r1 As Range, r2 As Range, r3 As Rang, r4 As Range, r5 As Range, res_range As Range
Let copyrange1 = "I1" & ":" & "I" & i
Let copyrange2 = "K1" & ":" & "K" & i
Let copyrange3 = "L1" & ":" & "L" & i
Let copyrange4 = "AA1" & ":" & "AA" & i
Let copyrange5 = "AJ1" & ":" & "AJ" & i
Set r1 = a.Range(copyrange1)
Set r2 = a.Range(copyrange2)
Set r3 = a.Range(copyrange3)
Set r4 = a.Range(copyrange4)
Set r5 = a.Range(copyrange5)
Set res_range = Union(r1, r2, r3, r4, r5)
res_range.Copy
DataSheet.Cells(2, 1).PasteSpecial xlPasteValues
End Sub
これは実装するのが難しい場合や、不可能な場合は別の方法を見つけるようにコメントに教えてください。私はVBAを初めて使い、作業を簡素化して同僚を助けようとしています。
ありがとうございました。
あなただけの金利ワース(例えば)'の二つのフィールドを連結することができますキーを作成するには(コピーするために特に細胞内で)いくつかのadjustementsを必要としています。既存のコードをお持ちの場合は、それをあなたの質問に含める必要があります。 –
okありがとう私は明確にするために私のコードを追加します。 –
Powerquery(無料のアドイン2010-2013、内蔵2016)のタスクのように聞こえるかもしれませんが、2つの他の列の値を連結するカスタム列を追加し、列をドラッグするだけで簡単に並べ替えることができます簡単)。重複をマークすることができます(それに慣れるともう少し複雑ですが簡単です)、行をフィルタリング/削除することができます。 – QHarr