• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Formül Sonucunu Değer olarak Kopyalamak ?

  • Konbuyu başlatan Konbuyu başlatan Swing35
  • Başlangıç tarihi Başlangıç tarihi
Katılım
11 Şubat 2012
Mesajlar
52
Excel Vers. ve Dili
EXCELL 2013 TÜRKÇE
Arkadaşlar Abone isimli Sayfamdaki C2 hücresindeki Formül Sonucunun (Bu Sonuç 1-12 arası Ayları sayı olarak gösteriyor) E2 Hücresine değer olarak Kopyalanmasını istiyorum bana bu konuda yardımcı olabilirseniz sevinirim teşekkürler.
 
Neden kopyalayıp, E2 üzerinde sağ tıkladıktan sonra değerleri yapıştır yapmıyorsunuz?
 
Keşke bu işlem dediğiniz kadar basit olsaydı benim uygulama alanım büyük ve farklı sayfalarda veriler içermekte bunu her sayfada kopyala değer olarak yapıştır demek biraz çin işkencesi oluyor o yüzden bu iş için bir formül gereksinimim oldu.
 
Konuyu açmadan önce incelemiştim zaten ama uygulamada bende olmadı ayrıca orda otomatikte yapmıyor ben bu yapıştırma işleminin formül sonuç verdiği anda otomatik yapılmasını istiyorum
 
Merhaba,

Formül ile yaptığınız işlemi makro ile yapınız.

--
 
Makroyu denedim zaten ama işlem otomatik yapılmıyor run ile çalıştırmak gerekiyor sanırım yada ben bilemedim bilemiyorum
 
Anlamadınız.
Kullandığınız formüllerin makro karşılığını kastettim.

--
 
Aşağıdaki kod, C1 hücresine bir formül yazdığınızda tetiklenir ve C1'de yer alan sayının değerini E1 hücresine yazar. Umarım işinizi görür.
Kod:
Private Sub worksheet_change(ByVal target As Range)
If Intersect([C1], target) Is Nothing Then Exit Sub
a = Cells(1, 3)
Cells(1, 5) = a

End Sub
 
Leb demeden Leblebiyi anlayamadığım için kusuruma bakmayın ama formülün makro karşılığına nasıl bakacam onu bilmiyorum
 
Valla Hocam verdiğiniz kodu aynen makro modüle 1 e yapıştırıp kaydettim denedim ama olmadı burda sheet sayfa ismi önemlimi benim sayfa adım Abone eğer öyleyse ne değişiklik yapılması lazım
 
Siz formülünüzü ve ne işlem yaptığınız paylaşırsanız, karşılığı illaki vardır.

Örneğin,
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("a1:a10")) Is Nothing Then
        [B1].Value = Application.Sum([A1:A10])
End If
End Sub
A1:A10 aralığını B1 hücresine toplar.

--
 
Valla Hocam verdiğiniz kodu aynen makro modüle 1 e yapıştırıp kaydettim denedim ama olmadı burda sheet sayfa ismi önemlimi benim sayfa adım Abone eğer öyleyse ne değişiklik yapılması lazım

Kodu modül içine değil de, VBA arayüzünü açtıktan sonra işlem yaptığınız sayfanın kod alanına yapıştırın. O zaman çalışacaktır.
 
Makroları otomatik yaptırabilirmiyiz ? Buton basmadan kendi yapacak şekilde ?

Bende merak ettim
 
Bir önceki sayfada yazdığım kod ve Mahir Bey'in yazdığı kod otomatik tetiklenir. Bir hücrede değişiklik(kod içinde belirlenen hedef hücre) olması halinde kod bloğu çalışır.
Byval target as range denilmektedir bu yönteme :)
 
Bu kodu otomatik olarak nasıl çalıştırabilirim acaba ?

Kod:
Sub değer()
Range("G2").Copy
Range("H2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _
skipblanks:=False, Transpose:=False
Application.CutCopyMode = False
End Sub
 
Bir önceki sayfada yazdığım kod ve Mahir Bey'in yazdığı kod otomatik tetiklenir. Bir hücrede değişiklik(kod içinde belirlenen hedef hücre) olması halinde kod bloğu çalışır.
Byval target as range denilmektedir bu yönteme :)

Teşekkürler Açıklayıcı Bilginiz İçin :)
 
ilgilenen herkese teşekkür ederim özelliklede sana lider22 Son olarak hocam peki bu işlemi tüm sütunda nasıl yaptırabilirim yani C sütununda yazan formül sonuçları E sütunana kopyalayacak
 
Son düzenleme:
Aşağıdaki kodu VBA arayüzünde çalışma yapacağınız sayfanın kod alanına yapıştırın. C sütununda herhangi bir değişiklik olması durumunda kod tetiklenir.

Kod:
Private Sub worksheet_change(ByVal target As Range)
If Intersect([C:C], target) Is Nothing Then Exit Sub

ilk = 1
son = Cells(Rows.Count, "C").End(xlUp).Row

For i = ilk To son
a = Cells(i, 3)
Cells(i, 5) = a

Next i

End Sub
 
Geri
Üst