Eğer ile sadece değerleri yazdırma ?

Katılım
6 Şubat 2009
Mesajlar
2
Excel Vers. ve Dili
vb
Merhaba üstadlar foruma yeni üye oldum ve işime yarayacak bütün başlıkları inceledim.Ama yapmak istediğimi yapamadım.

Yapmak istediğim ekli örnek dosyadaki DEĞER bölümü günlük güncellenecek,ve DÖKÜM sayfasındaki ilgili tarih bölümünün altına yazılacak.Ekteki gibi yazdırabiliyorum ama sadece değerleri DEĞER bölümünde güncellediğim zaman DÖKÜM bölümünde ilgili hücrelerin hepsi değişiyor.Eğer formülü ile özel yapıştır da olduğu gibi sadece değerleri yazdırabilme olanağım var mıdır ?
Kullandığım Kod :

Kod:
=EĞER($B$2=DEĞER!$B$1;DEĞER!D4;0)
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Bu işlemi formülle yapamazsınız, makro kullanmanız gerekir.

Module kopyalarak çalıştırınız..

Kod:
Sub BulEkle()
 
Dim bul As Range, son As Long
Dim S1 As Worksheet, S2 As Worksheet
 
Set S1 = Sheets("DEĞER")
Set S2 = Sheets("DÖKÜM")
 
Application.ScreenUpdating = False
 
son = S1.Cells(Rows.Count, "B").End(xlUp).Row
Set bul = S2.Rows(2).Find(CDate(CDbl(S1.Range("B1"))), LookIn:=xlValues)
If Not bul Is Nothing Then
    S1.Range("D4:D" & son).Copy
    S2.Cells(3, bul.Column).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End If
 
Application.ScreenUpdating = True
End Sub
.
 
Katılım
5 Temmuz 2010
Mesajlar
139
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
20-07-2023
Yukarıdaki kodları ekdeki dosyaya uyarlayabilirmiyiz?
 

Ekli dosyalar

Katılım
5 Temmuz 2010
Mesajlar
139
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
20-07-2023
ekteki Dosyada "Döküm" Sayfasındaki Yan yana olan Ayları, yukarıdan aşaya olacak şekilde yapabilmemiz için aşağıdaki kodları nasıl yazmamız gerekir?



Kod:
Sub BulEkle()

Dim bul As Range, son As Long
Dim S1 As Worksheet, S2 As Worksheet

Set S1 = Sheets("DEĞER")
Set S2 = Sheets("DÖKÜM")

Application.ScreenUpdating = False

son = S1.Cells(Rows.Count, "C").End(xlUp).Row
Set bul = S2.Rows(3).Find(CStr(CStr(S1.Range("B1"))), LookIn:=xlValues)
If Not bul Is Nothing Then
S1.Range("D" & son).Copy
S2.Cells(4, bul.Column).PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
End If

Application.ScreenUpdating = True
End Sub
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Bu şekilde deneyiniz.

Kod:
Sub BulEkle()
 
Dim bul As Range, son As Long
Dim S1 As Worksheet, S2 As Worksheet
 
Set S1 = Sheets("DEĞER")
Set S2 = Sheets("DÖKÜM")
 
Application.ScreenUpdating = False
 
son = S1.Cells(Rows.Count, "A").End(xlUp).Row
Set bul = S2.Rows(3).Find(S1.Range("B1"), LookIn:=xlValues)
If Not bul Is Nothing Then
    S1.Range("D4:D" & son).Copy
    S2.Cells(4, bul.Column).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End If
 
Application.ScreenUpdating = True
End Sub
.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Denedim Ama olmadı Ömer Hocam. Ekteki gibi aylar alt alta olacak şekilde olsun istemiştim.
Diğer eklediğiniz dosyayı bu şekilde eklememiştiniz. Lütfen sorularınızı daha net sormaya özen gösteriniz.

Kod:
Option Explicit
Sub BulEkle()
 
Dim bul As Range, son As Long
Dim S1 As Worksheet, S2 As Worksheet
 
Set S1 = Sheets("DEĞER")
Set S2 = Sheets("DÖKÜM")
 
Application.ScreenUpdating = False
 
son = S1.Cells(Rows.Count, "A").End(xlUp).Row
Set bul = S2.[B:B].Find(S1.Range("B1"), LookIn:=xlValues)
If Not bul Is Nothing Then
    S1.Range("D4").Copy
    S2.Range("C" & bul.Row).PasteSpecial Paste:=xlPasteValues
    Application.CutCopyMode = False
End If
 
Application.ScreenUpdating = True
End Sub
.
 
Katılım
5 Temmuz 2010
Mesajlar
139
Excel Vers. ve Dili
türkçe
Altın Üyelik Bitiş Tarihi
20-07-2023
Süpersiniz Hocam. Beyninize ve emeğinize sağlık. Kaç gündür bu konu üzerinde çalışıyorum. Çözememek deli etti beni . Kaç tane mesaj yazdım. Sayenizde sonuca ulaştım. Çok teşekkür ediyorum.
 
Üst