Excel - Hedefe hücrenin değerini gönder
Konu
Kaynak değeri '0' olarak değiştiğinde, hücrenin değerini (kopyalayıp yapıştırın) başka bir hücreye değerin bozulmayacağı başka bir hücreye göndermek mümkün müdür?
Bordro hesaplayıcı özet çalışma sayfam her hafta Excel dosyasındaki diğer çalışma sayfalarından bilgi alıyor ve mevcut haftanın maaşını hesaplıyor. Önceki haftanın değerleri vardı, ama şimdi, şu anki haftada, önceki haftanın hücreleri 0'dır.
Amacım, bir önceki haftanın değerlerini başka bir hücre dizisinde tutmak, böylece ay için toplamı çalıştırmak olabilir.
Örnek:
A3 formülünde:
= IF (A3 = 'Bordro Hesaplama'! M2, VLOOKUP (H1, 'Bordro Hesaplama'! $ B $ 3: $ M $ 28, 8, FALSE), 0)
Bu değerin K3'e kaydedilmesi gerekir, ancak yalnızca '0' dan fazlaysa.
A3, '0' değerini verirse, daha önce K3'te gönderilen '0' değerinden daha büyük herhangi bir değer tek başına bırakılır.
Bunu, kaydetmek istediğim değerleri kopyalayıp, ardından 'özel yapıştırın' komutunu kullanarak ve hedefe yapıştırılan 'değerleri' seçerek kolayca el ile yapıyorum. 'Boşlukları atla' hiçbir şey yapmaz. Makro:
Alt Makro1 ()
'
'Makro1 Makro
'
'
Range ( "C3"). Seçiniz
ActiveWindow.ScrollRow = 10
Range ( "C3: I52") seçin.
Selection.Copy
Range ( "K3"). Seçiniz
Selection.PasteSpecial Yapıştır: = xlValues, İşlem: = xlNone, SkipBlanks: = _
Doğru, Transpose: = False
Range ( "K3"). Seçiniz
Application.CutCopyMode = Yanlış
Son Alt
Boşlukları atlayıp atmamayı seçersem (muhtemelen hücreler sıfır değil, çünkü boşluklar!) Önceki haftaların değerlerinin üzerine sıfır yazıyor.
A3: I54 dizisi ile çalışıyorum ve '0' dan daha büyük değerleri K3: Q54 'e daha önce K3: Q54' te gönderilmiş olan değerleri koruyarak kopyalayıp yapıştırmak istiyorum.
Çözüm
Belki de yorumum doğruysa, bu sizi doğru yöne götürebilir.
Bu, A sütununu şu anda K sütununda olanlarla karşılaştırır ........
A1, K1'deki değeri karşılaştırır.
A2, K2'deki değeri karşılaştırır.
vb....
A sütunu sıfır ise ve K sütunu sıfırdan büyükse, değeri K sütununda tutun. Aksi takdirde A sütunundaki değeri K sütununa kopyalayın.
Alt Makro1 () Dim jj = 3 Aralık ("A" & j) = "" Aralık ise ("A" & j) = 0 ise Aralık ("K" ve j) = Aralık ("K" ve j) Başka Aralık ("K" & j) = Aralık ("A" & j) Bitiş Eğer j = j + 1 Döngü Son Alt ise
Birden çok sütun eklemek için makroyu "C: K" gibi görünmesini sağlayın
Alt Makro1 () Dim jj = 3 Aralık ("C" & j) = "" Aralık ise ("C" ve j) = 0 ise Aralık ("K" ve j) = Aralık ("K" ve j) Başka Aralık ("K" ve j) = Aralık ("C" ve j) Aralık ise Aralık ("D" & j) = 0 Sonra Aralık ("L" ve j) = Aralık ("L" ve j) Aralık ("L" & j) = Aralık ("D" & j) Aralık ise Aralık ("E" & j) = 0 Sonra Aralık ("M" & j) = Aralık ("M" & j) Başka Aralık ("M" & j) = Aralık ("E" & j) Aralık ise Aralık ("F" & j) = 0 Sonra Aralık ("N" ve j) = Aralık ("N" ve j) Diğer Aralık ( "N" & j) = Aralık ("F" & j) Aralık ise Aralık ("G" & j) = 0 Sonra Aralık ("O" & j) = Aralık ("O" & j) Diğer Aralık (" O "& j) = Aralık (" G "ve j) Aralık Eğer Aralık ise (" H "& j) = 0 Sonra Aralık (" P "& j) = Aralık (" P "& j) Diğer Aralık (" P " "& j) = Aralık (" H "ve j) Eğer Aralık ise (" I "& j) = 0 ise Bitir (" Q "& j) = Aralık (" Q "& j) Başka Aralık (" Q ") & j) = Aralık ("I" & j) Bitiş Eğer j = j + 1 Döngü Son Alt ise
Bunu not et
WutUp WutUp'a forumdaki bu ipucu için teşekkür ederiz.