Excel - Makro na kopírovanie / prilepenie vybratého rozsahu

Problém

Mám zhrnutie údajov podľa mesiaca v jednom hárku a nespracované údaje v inom hárku. Namiesto vytvárania viacerých pracovných hárkov pre moje nespracované údaje za každý mesiac chcem vymazať údaje z predchádzajúceho mesiaca a nahradiť ich novými údajmi. Ak to chcete urobiť, budem musieť skopírovať vzorce, ktoré vytvorili súhrn, do iného stĺpca (pre nový mesiac) a potom skopírovať a vložiť hodnotu súhrnných údajov aktuálneho mesiaca (takže po zmene zdrojových údajov by sa nezmenili moje údaje). hodnoty).

príklad

 ABCD Jan Feb Mar Apr 1 5 6 7 

Chcel by som, aby môj konečný výsledok vyzeral (napr. Kópia z formátu A3: A6 a prilepenie na B3. Potom budúci mesiac sa skopíruje z B3: B6 a vloží sa na C3 atď.).

 ABCD Jan Feb Mar Apr 1 1 5 5 6 6 7 7 

Jan a Feb sú v tomto okamihu rovnaké, pretože kopírovanie a vkladanie sa uskutoční pred nahradením nových nespracovaných údajov.

Dúfam, že to dáva zmysel. Mám veľmi málo vedomostí o písaní VB, ale dokážu si prečítať a porozumieť jednoduchým. Mohol by mi niekto pomôcť s makrom, ktoré to urobí automaticky?

Riešenie

Toto makro používa vstupné pole, aby sa opýtalo, aký mesiac aktualizujete. Namiesto písania v mesiaci použite číselné hodnoty. Príklad: Jan. = 1, február = 2, marec = 3. Predpokladám, že by ste nechceli aktualizovať január, takže makro sa ukončí, ak sa zadá 1 do vstupného poľa (pokiaľ nie je aktualizované od decembra, potom môžeme zmeniť it).

Dúfam, že to pomôže.

 Sub Update_Month () Dim odpoveď Ako variant Dim jj = 3 answer = InputBox ("Aký mesiac aktualizujete?" & VbCrLf & _ "Ex: január = 1, február = 2, marec = 3 atď.") Vyberte odpoveď Case Prípad 1 Exit Sub Case 2 Pre j = 3 až 6 Range ("B" a j) = Rozsah ("A" a j) Nasledujúci j Prípad 3 Pre j = 3 až 6 Rozsah ("C" & j) = Rozsah ( "B" & j) Nasledujúci j Prípad 4 Pre j = 3 až 6 Rozsah ("D" & j) = Rozsah ("C" a j) Nasledujúci j Prípad 5 Pre j = 3 až 6 rozsah ("E" & j ) = Rozsah ("D" a j) Nasledujúci j Prípad 6 Pre j = 3 až 6 Rozsah ("F" a j) = Rozsah ("E" a j) Nasledujúci j Prípad 7 Pre j = 3 až 6 rozsah (" G "& j) = Dosah (" F "a j) Nasledujúci j Prípad 8 Pre j = 3 až 6 Rozsah (" H "& j) = Rozsah (" G "a j) Nasledujúci j Prípad 9 Pre j = 3 Do 6 Rozsah ("I" a j) = Rozsah ("H" a j) Nasledujúci j Prípad 10 Pre j = 3 až 6 Rozsah ("J" a j) = Rozsah ("I" a j) Nasledujúci j Prípad 11 Pre j = 3 až 6 rozsah ("K" a j) = rozsah ("J" a j) nasledujúci j prípad 12 pre j = rozsah 3 až 6 ("L" & j) = rozsah ("K" a j) nasledujúci j Koniec Vyberte End Sub 

Poznač si to

Vďaka WutUp WutUp pre tento tip na fóre]

Predchádzajúci Článok Nasledujúci Článok

Najlepšie Tipy