Excel - Zkopírujte data vedle buňky a vložte ji níže

Problém

Data jsou uspořádána níže:

 buňka | A | B | C ------------------------------------------------- --- 1 | Ahoj Dobrý den Dopoledne 2 | Nápověda | Prosím | 3 | Díky Uvidíme se sbohem 

Potřebuji, aby se tato data stala tímto formátem

 buňka | A | B | C ------------------------------------------------- - 1 | Ahoj Dobrý den Dopoledne 2 | | Ráno | ---------------------------------------------- 3 | Nápověda | Prosím | ---------------------------------------------- 4 | Díky Uvidíme se Bye 5 | | Bye | ---------------------------------------------- 

Uvědomuji si, že je třeba vzít v úvahu některé podmínky:

Chcete-li zkontrolovat, zda C1 obsahuje data nebo ne,

  • 1) pokud ano, zkopírujte data do buňky B2 (buňka relativně vlevo a pod C1)

Poté podtrhněte kontinuálně pod buňku B2

  • 2) pokud ne, podtržení a pokračujte dalším řádkem
  • 3) pokračovat, dokud poslední buňka, která obsahuje data

Řešení

  • Nejdříve zkopírujte data do listu2.
  • Pak zkuste "test" makra

 Sub test () Dim j jako celé číslo, k jako celočíselné pracovní listy ("sheet1") Aktivace j = rozsah ("A1") Konec (xlDown) .Row Pro k = j Do 1 kroku -1 Pokud buňky (k, " C ")" "Pak Pokud k = 1 Pak buňky (k + 1, " A ") EntireRow.Insert Buňky (k, " c ") Buňky (k + 1, " B ") Buňky (k + 2) EntireRow.FormulaArray = "'-----------------" Konec Sub End If Cells (k, "A") EntireRow.Insert Cells (k + 1, "C") Řezané buňky (k + 2, "B") Buňky (k + 3, "A") EntireRow.FormulaArray = "'--------------- - "Else Cells (k, " A ") EntireRow.Insert Cells (k + 2, " a "). EntireRow.FormulaArray =" '----------------- "End If Next k End Sub Sub undo () Pracovní listy (" sheet1 ") Cells.Clear Worksheets (" sheet2 ") Cells.Copy Listy (" sheet1 ") Rozsah (" A1 ") Konec Sub 

Všimněte si, že

Díky venkat1926 za tento tip na fóru.

Předchozí Článek Následující Článek

Nejlepší Tipy