Vba kod yardımı

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Merhabalar,

Kod:
Dim Bul As Range
Set Bul = Range("AJ:AJ").Find(Range("$F$2"), , , xlWhole)
If Not Bul Is Nothing Then Range(Cells(Bul.Row, "AK"), Cells(Bul.Row, "AK")).Value = Range("G46").Value
Set Bul = Range("AJ:AJ").Find(Range("$F$2"), , , xlWhole)
If Not Bul Is Nothing Then Range(Cells(Bul.Row, "AL"), Cells(Bul.Row, "AL")).Value = Range("I46").Value
Set Bul = Range("AJ:AJ").Find(Range("$F$2"), , , xlWhole)
If Not Bul Is Nothing Then Range(Cells(Bul.Row, "AM"), Cells(Bul.Row, "AM")).Value = Range("G47").Value
Set Bul = Range("AJ:AJ").Find(Range("$F$2"), , , xlWhole)

Set Bul = Range("AJ:AJ").Find(Range("$F$2"), , , xlWhole)
If Not Bul Is Nothing Then Range(Cells(Bul.Row, "AN"), Cells(Bul.Row, "AN")).Value = Range("I47").Value
Set Bul = Range("AJ:AJ").Find(Range("$F$2"), , , xlWhole)
If Not Bul Is Nothing Then Range(Cells(Bul.Row, "AO"), Cells(Bul.Row, "AO")).Value = Range("I43").Value
Set Bul = Range("AJ:AJ").Find(Range("$F$2"), , , xlWhole)
If Not Bul Is Nothing Then Range(Cells(Bul.Row, "AP"), Cells(Bul.Row, "AP")).Value = Range("I44").Value
Set Bul = Range("AJ:AJ").Find(Range("$F$2"), , , xlWhole)

Ekli kodda bulunan ( F2, G46, I46, G47, I47, I43 I44 ) sütunlarında bulunan verileri Günlük sayfası (AJ:AJ, AK, AL, AM, AN, AO, AP) sütunlarına aktarması için ne gibi bir değişiklik yapmam gerek.

Yardımlarınız için teşekkür ederim.
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
13,002
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba.
Cevabımın altındaki İMZA bölümünü okuyarak örnek belge yükleyip, yapılmak istenilen işlemi net şekilde ifade ederseniz;
daha hızı sonuca ulaşabilir, alternatif çözüm önerileri de alabilirsiniz.


Kendiniz halletmek isterseniz (önerim aslında budur)
-- Arama: işlem yapılırken (kod'da xlWhole ibaresi olduğuna göre TAM EŞLEŞME arıyorsunuz, İÇERİR gibi arama için bunun yerine xlPart yazmalısınız);
Set Bul = Sheets("... ARAMANIN HANGİ SAYFADA YAPILACAĞI....").[AJ:AJ].Find(Sheets("..ARANAN VERİNİN BULUNDUĞU SAYFA...").[F2], , , xlWhole)
gibi arama alanının hangi sayfada olduğunu, aranan değerin hangi sayfada olduğunu yazmalısınız ve Set.... satırını bir kez yazmanız yeterli.
-- Yazma: İşlem sonuçlarını yazdırırken de benzer şekilde ( = işaretinin SOLu verinin yazılacağı adresi, SAĞı ise verinin alınacağı adresi gösterir );
Sheets("...VERİNİN YAZILACAĞI SAYFA...").Cells(...., ....) = Sheets("...ARAMANIN YAPILDIĞI SAYFA...").Cells(Bul.Row,....).Value
gibi, hangi sayfadaki değerlerin hangi sayfadaki hücrelere yazılacağını belirtmelisiniz.
-- Dikkat: If Not Bul Is Nothing Then satırından sonra satır başı yapıp yazma kod satırlarını bitirdikten sonra da yeni satıra End If satırı yazmayı unutmayın.

.
 
Son düzenleme:

Mehmet Sait

Altın Üye
Katılım
19 Ekim 2009
Mesajlar
834
Excel Vers. ve Dili
Office 2016 TR
Altın Üyelik Bitiş Tarihi
08-09-2028
Merhaba,

Tabloda ki gündüz vardiya verilerini bu sayfada bulunan AJ ve gece vverilerini ise AR sütununa F2 de belirtilen tarihe göre yazıyor. Ancak bu verileri ayrı bir sayfa da yani ( üretim ) sayfasında toplamak istiyorum. Ayrıca verileri ilgili tabloya yazacak şekilde tek butona bağlama mümkün mü?

Yardımlarınız için teşekkür ederim.
 

Ekli dosyalar

Üst