Excel - Wyślij wartość komórki do celu

W Microsoft wykonywanie obliczeń i ustalanie regularnych zapisów może być wykonywane za pomocą formuł w oprogramowaniu biurowym Excel. Wysyłanie wartości komórki w programie Excel do celu może być wykonywane przez wartość wartości kopiowania i wklejania kolumny do komórki docelowej. W kolumnie A, jeśli wartość wynosi zero, aw kolumnie K wartość jest większa od zera, skopiuj wartość kolumny „A” i wklej ją w kolumnie „K”. Wartość kolumny jest kontrolowana przez proste funkcje wklejania kopii w systemie Windows. Aby dodać wiele kolumn, zmień wzór na „C: K”. Obliczenia są wykonywane dla następnej kolumny, dopóki nie zostanie osiągnięta ostatnia kolumna, a wartość zostanie skopiowana i wklejona do kolumny docelowej.

Kwestia

Czy możliwe jest wysłanie wartości komórki (kopiowanie i wklejanie specjalne) do innej komórki, w której wartość nie zostałaby naruszona, gdy wartość źródłowa zmieni się na „0”?

Arkusz podsumowania mojego kalkulatora płac pobiera informacje z innych arkuszy każdego tygodnia w pliku Excel i oblicza listę płac bieżącego tygodnia. Poprzedni tydzień miał wartości, ale teraz, w bieżącym tygodniu, komórki w poprzednim tygodniu wynoszą 0.

Moim celem jest zachowanie wartości z poprzedniego tygodnia w innym zestawie komórek, dzięki czemu mogę mieć sumę bieżącą za miesiąc.

Przykład:

A3 ma wzór:

 = JEŻELI (A3 = 'Kalkulator listy płac'! M2, WYSZUKAJ.PIONOWO (H1, 'Kalkulator listy płac'! $ B $ 3: $ M $ 28, 8, FAŁSZ), 0) 

Wartość ta musi być wysłana do K3, ale tylko wtedy, gdy jest większa niż „0”.

Jeśli A3 zwróci wartość „0”, to każda wartość większa niż „0”, która została wcześniej opublikowana w K3, zostanie pozostawiona sama.

Łatwo to robiłem ręcznie, po prostu kopiując wartości, które chcę zapisać, a następnie używając polecenia „wklej specjalne” i wybierając „wartości”, wklejone do celu. „Pomiń puste” nic nie robi. Makro:

Sub Macro1 ()

'

„Makro1 Makro

'

'

Zakres („C3”). Wybierz

ActiveWindow.ScrollRow = 10

Zakres („C3: I52”). Wybierz

Wybór. Kopiuj

Zakres („K3”). Wybierz

Selection.PasteSpecial Paste: = xlValues, Operacja: = xlBrak, SkipBlanks: = _

Prawda, Transpose: = False

Zakres („K3”). Wybierz

Application.CutCopyMode = False

Napis końcowy

Zastępuje wartości poprzednich tygodni zerami, czy wybieram pomijanie pustych, czy nie (prawdopodobnie dlatego, że komórki są zerami, a nie puste!)

Pracuję z tablicą A3: I54 i chcę skopiować i wkleić dowolne wartości większe niż „0” do K3: Q54 zachowując wszystkie wartości, które zostały wcześniej opublikowane w K3: Q54, które są większe niż „0”.

Rozwiązanie

Może to pomoże ci we właściwym kierunku, jeśli moja interpretacja jest poprawna.

To porówna kolumnę A z tym, co jest aktualnie w kolumnie K ........

A1 porównuje wartość w K1

A2 porównuje wartość w K2

itp....

Jeśli kolumna A jest równa zero, a kolumna K jest większa od zera, zachowaj wartość w kolumnie K. W przeciwnym razie skopiuj wartość z kolumny A do kolumny K.

 Sub Macro1 () Dim jj = 3 Do Until Range („A” & j) = „” Jeśli Range („A” i j) = 0 Następnie Range („K” i j) = Range („K” i j) Else Range („K” i j) = Range („A” i j) End If j = j + 1 Loop End Sub 

Aby dodać wiele kolumn, zmień makro na „C: K”

 Sub Macro1 () Dim jj = 3 Do Until Range („C” & j) = „” Jeśli Range („C” i j) = 0 Następnie Range („K” i j) = Range („K” i j) Else Range („K” i j) = Zakres („C” i j) Koniec jeśli If Zakres („D” i j) = 0 Wtedy Zakres („L” i j) = Zakres („L” i j) Inne Zakres („L” i j) = Zakres („D” i j) Koniec jeśli If Zakres („E” i j) = 0 Wtedy Zakres („M” i j) = Zakres („M” i j) Zakres inny („M” i j) = Zakres („E” i j) Koniec, jeśli zakres („F” i j) = 0 Wtedy Zakres („N” i j) = Zakres („N” i j) Zakres inny ( „N” i j) = Zakres („F” i j) Koniec Jeśli Jeśli Zakres („G” i j) = 0 Następnie Zakres („O” i j) = Zakres („O” i j) Zakres inny („ O "& j) = Zakres („ G ”i j) Koniec jeśli zakres („ H ”i j) = 0 Wtedy Zakres („ P ”i j) = Zakres („ P ”i j) Zakres inny („ P ” „& j) = Zakres („ H ”i j) Koniec jeśli If Zakres („ I ”i j) = 0 Wtedy Zakres („ Q ”i j) = Zakres („ Q ”i j) Zakres inny („ Q ” & j) = Zakres („I” i j) Koniec Jeśli j = j + 1 Sub pętli Koniec 

Zauważ, że

Podziękowania dla WutUp WutUp za tę poradę na forum.

Poprzedni Artykuł Następny Artykuł

Najważniejsze Wskazówki