Excel - Makro pro kopírování / vkládání vybraného rozsahu

Problém

Mám přehled údajů za měsíc v jednom listu a surová data v jiném listu. Namísto vytváření více pracovních listů pro moje nezpracovaná data za každý měsíc chci vymazat data předchozího měsíce a nahradit je novými údaji. Za tímto účelem budu muset zkopírovat vzorce, které vytvořily souhrn, do jiného sloupce (pro nový měsíc) a poté zkopírovat a vložit hodnotu souhrnných dat aktuálního měsíce (takže jakmile se změní zdrojová data zdroje, nezmění se to hodnoty).

Příklad

 ABCD Jan Úno Bře 1 5 6 7 

Chtěl bych, aby můj výsledek vypadal (tj. Kopírování z A3: A6 a vložení na B3. Pak příští měsíc bude kopírovat z B3: B6 a vložit na C3 atd.).

 ABCD Jan Úno Bře 1 1 5 5 6 6 7 7 

Jan a Feb jsou v tuto chvíli stejní, protože kopírování a vkládání se uskuteční před nahrazením nových nezpracovaných dat.

Doufám, že to dává smysl. Mám velmi málo znalostí v psaní VB, ale dokážu si přečíst a porozumět jednoduchým. Mohl by mi někdo pomoci s makro, které to udělá automaticky?

Řešení

Toto makro používá vstupní pole a zeptá se, jaký měsíc aktualizujete. Namísto psaní v měsíci použijte číselné hodnoty. Příklad: Jan. = 1, únor = 2, březen = 3. Předpokládám, že byste nechtěli aktualizovat leden, takže makro skončí, pokud je zadáno 1 do vstupního pole (pokud není aktualizováno od prosince, pak můžeme změnit to).

Snad to pomůže.

 Sub Update_Month () Dim odpověď Jako varianta Dim jj = 3 answer = InputBox ("Který měsíc aktualizujete?" & VbCrLf & _ "Ex: leden = 1, únor = 2, březen = 3, atd.") Vyberte případovou odpověď Případ 1 Konec Podpřípad 2 Pro j = 3 až 6 Rozsah ("B" a j) = Rozsah ("A" a j) Další j Případ 3 Pro j = 3 až 6 Rozsah ("C" a j) = Rozsah ( "B" & j) Další j Případ 4 Pro j = 3 až 6 Rozsah ("D" & j) = Rozsah ("C" a j) Další j Případ 5 Pro j = rozsah 3 až 6 ("E" & j ) = Rozsah ("D" a j) Další j Případ 6 Pro j = 3 až 6 Rozsah ("F" & j) = Rozsah ("E" a j) Další j Případ 7 Pro j = 3 až 6 rozsah (" G "& j) = Dosah (" F "a j) Další j Případ 8 Pro j = 3 až 6 Rozsah (" H "& j) = Rozsah (" G "a j) Další j Případ 9 Pro j = 3 Komu 6 Rozsah ("I" & j) = Rozsah ("H" a j) Další j Případ 10 Pro j = 3 až 6 Rozsah ("J" a j) = Rozsah ("I" a j) Další j Případ 11 Pro j = 3 až 6 Rozsah ("K" a j) = Rozsah ("J" a j) Další j Případ 12 Pro rozsah j = 3 až 6 ("L" & j) = Rozsah ("K" a j) Další j Konec Vyberte Konec Sub 

Všimněte si, že

Děkujeme WutUp WutUp za tento tip na fóru]

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

Nejlepší Tipy