Excel - セルの横にあるデータをコピーして下に貼り付ける
問題
以下のようにデータを整理しました。
セル A | B | C ------------------------------------------------- --- 1 | こんにちは こんにちは 朝2 ヘルプ| してください。 3 | ありがとう じゃあね。 さようなら
私はこのフォーマットになるためにこのデータを作る必要があります
セル A | B | C ------------------------------------------------- - 1 | こんにちは こんにちは 朝2 | 朝| ---------------------------------------------- 3 | ヘルプ| してください。 ---------------------------------------------- 4 | ありがとう じゃあね。 さようなら5 | | さようなら ----------------------------------------------
いくつかの条件を考慮する必要があることを私は理解しています:
C1にデータが含まれているかどうかを確認するには、
- 1)イエスであれば、データをセルB2(比較的左上でC1より下のセル)にコピーする。
次にセルB2の下に継続的に下線を引きます
- 2)いいえの場合は、下線を引いて次の行に進む
- 3)データを含む最後のセルまで続ける
溶液
- まずシート2のデータをコピーします。
- それからマクロ "test"を試してください。
Sub test()整数としてj、整数ワークシートとしてk( "sheet1")j = Range( "A1")をアクティブにします。End(xlDown)。k = jの場合1から-1ステップ-1の場合Cells(k、 " C ")" "その後k = 1の場合セル(k + 1、" A ")EntireRow。セルを挿入(k、" c ")セルをカット(k + 1、" B ")セル(k + 2) EntireRow.FormulaArray = "'-----------------" Cells(k、 "A")の場合はSub Endを終了します。EntireRow.Insert Cells(k +) 1、 "C")カットセル(k + 2、 "B")セル(k + 3、 "A")EntireRow.FormulaArray = "'--------------- - "その他のセル(k、" A ")。EntireRow.Insertセル(k + 2、" a ")。EntireRow.FormulaArray =" '----------------- "次の場合は終了kサブノブサブUndo()ワークシート(" sheet1 ")Cells.Clearワークシート(" sheet2 ")Cells.Copyワークシート(" sheet1 ")範囲(" A1 ")エンドサブ
ご了承ください
フォーラムでこのヒントを提供してくれたvenkat1926に感謝します。