Excel - A cella értékének küldése

A Microsoftban a számítások elvégzése és a rendszeres rekordok rendezése az Excel irodai szoftverek képleteivel történhet. A cellában lévő értékek elküldése az Excel programban célpontra oszlopértékkel másolható és beilleszthető értékkel végezhető el a célcella számára. Az A oszlopban, ha az érték nulla, és a K oszlopban az érték nagyobb, mint nulla, másolja az "A" oszlop értékét és illessze be a "K" oszlopba. Az oszlop értékét a Windows egyszerű másolási beillesztési funkciói vezérlik. Több oszlop hozzáadásához tegye a következőket: "C: K". A számítás a következő oszlopra történik az utolsó oszlop eléréséig, és az érték átmásolódik és beillesztésre kerül a céloszlopba.

Probléma

Lehet-e elküldeni egy cella értékét (külön-külön másolni és beilleszteni) egy másik cellába, ahol az értéket nem zavarja, ha a forrás értéke „0” -ra változik?

A bérszámfejtő számológép összesítő munkalapja minden héten információkat kap más munkalapokról az Excel fájlban, és kiszámítja az aktuális heti bérszámfejtést. Az előző hét értékei voltak, de most, az aktuális héten, az előző hét cellái 0.

Célom az, hogy az előző hét értékeit egy másik cellarendszerben megtartsam, hogy a hónapban teljes futamidő legyen.

Példa:

Az A3 képlete:

 = IF (A3 = 'Bérszámfejtő'! M2, VLOOKUP (H1, 'Bérszámfejtő'! $ B $ 3: $ M $ 28, 8, FALSE), 0) 

Ezt az értéket K3-ra kell elküldeni, de csak akkor, ha több mint 0.

Ha A3 '0' értéket ad vissza, akkor a 0-nál nagyobb érték, ami korábban a K3-ban lett kiküldve, egyedül marad.

Ezt egyszerűen manuálisan egyszerűen elvégeztem a menteni kívánt értékek másolásával, majd a "speciális beillesztés" parancs használatával, és a "célok" beillesztésével. Az „átugrott üresek” nem tesznek semmit. A makró:

Sub Macro1 ()

'

Macro1 makró

'

'

Tartomány ( "C3"). Jelölje

ActiveWindow.ScrollRow = 10

Tartomány ( "C3: I52"). Jelölje

Selection.Copy

Tartomány ( "K3"). Jelölje

Selection.PasteSpecial Paste: = xlValues, művelet: = xlNone, SkipBlanks: = _

Igaz, Transpose: = False

Tartomány ( "K3"). Jelölje

Application.CutCopyMode = Hamis

Vége vége

A nullákkal felülírja az előző hetek értékeit, függetlenül attól, hogy kihagyom az üres lapokat, vagy sem (valószínűleg azért, mert a cellák nullák, nem üresek!)

Az A3: I54 tömböt dolgozom, és szeretném másolni és beilleszteni a 0-nál nagyobb értékeket K3-ra: Q54 megtartva a K3: Q54-ben korábban feltüntetett értékeket, amelyek nagyobbak, mint a 0.

Megoldás

Talán ez helyes irányba vezethet, ha az értelmezésem helyes.

Ez összehasonlítja az A oszlopot azzal, ami jelenleg a K oszlopban van ........

A1 összehasonlítja a K1 értékét

A2 összehasonlítja a K2 értékét

stb....

Ha az A oszlop nulla, és a K oszlop nagyobb, mint nulla, akkor tartsuk meg az értéket a K. oszlopban. Máskülönben másoljuk az A oszlop oszlopát K. oszlopba.

 Sub Macro1 () Dim jj = 3 Távolítsa el a tartományt ("A" & j) = "" Ha a tartomány ("A" & j) = 0 Ezután a tartomány ("K" és j) = tartomány ("K" & j) Else Range ("K" & j) = Tartomány ("A" & j) Vége Ha j = j + 1 hurok vége 

Több oszlop hozzáadásához tegye a makrót úgy, mint "C: K"

 Sub Macro1 () Dim jj = 3 Távolítsa el a tartományt ("C" & j) = "" Ha a tartomány ("C" és j) = 0 Ezután a tartomány ("K" és j) = tartomány ("K" & j) Else Range ("K" & j) = Tartomány ("C" & j) Vége Ha a tartomány ("D" és j) = 0 Ezután tartomány ("L" és j) = Tartomány ("L" & j) Másik Tartomány ("L" és j) = Tartomány ("D" és j) Vége Ha Ha tartomány ("E" és j) = 0 Ezután tartomány ("M" és j) = Tartomány ("M" és j) Más tartomány ("M" & j) = Tartomány ("E" & j) Vége Ha a tartomány ("F" és j) = 0 Ezután Tartomány ("N" és j) = Tartomány ("N" és j) Más tartomány ( "N" & j) = Tartomány ("F" és j) Vége Ha a tartomány ("G" és j) = 0 Ezután tartomány ("O" és j) = Tartomány ("O" és j) Else Range (" O "& j) = Tartomány (" G "és j) Vége Ha a tartomány (" H "és j) = 0 Ezután tartomány (" P "és j) = Tartomány (" P "és j) Else Range (" P "& j) = Tartomány (" H "és j) Vége Ha a tartomány (" I "& j) = 0 Ezután Tartomány (" Q "és j) = Tartomány (" Q "és j) Más tartomány (" Q " & j) = Tartomány ("I" és j) Vége Ha j = j + 1 Loop End Sub 

Vegye figyelembe, hogy

Köszönet WutUp WutUp-nak a fórumon található tippért.

Előző Cikk Következő Cikk

Top Tippek