• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Çözüldü Sub Makrosunu Function olarak nasıl kullanılır

Bu konu çözüldü olarak işaretlenmiştir. Çözülmediğini düşünüyorsanız konuyu rapor edebilirsiniz.
Durum
Konu Çözümlendiği İçin Kapatılmıştır.

mana97

Yeni Üye
Katılım
18 Ağu 2022
Mesajlar
279
Çözümler
31
Aldığı beğeni
103
Excel V
Office 2019 TR
Konu Sahibi
herkese merhaba,

Excelin çalışma mekaniklerinde belki böyle birşey mümkün olmayabilir ama yine belki bir methoduda olabilir :) konuya gelirsek;

kullanacağım matematik işlemlerim için yardıma ihtiyacım var aşağıda yazacağım kodlar Sub olarak çalışmaktadır ancak Function olarak kullanmak istediğimde #değer hatası alıyorum bunun için bana bir yol gösterebilir misiniz.

Yani Function kullanarak birden fazla hücreye veri yazdırmak istiyorum örneğin dizi formülleri gibi
 
Konu Sahibi
Boş exceli yüklemişim kusura bakmayın kodların yazılı olduğu excel
 
Konu Sahibi
Merhaba

Public Function Deneme_Function(S)

Deneme = S * S

'Range("B3").Value = "Merhaba " & Deneme

Deneme_Function = "Merhaba " & Deneme
End Function


Hocam harikasınız çok teşekkür ederim. Ancak ben soruyu eksik sorduğumu farkediyorum aşağıda paylaştığım excelde butona bastığımda bir tablo oluşturmaktadır. Ben bunu buton yerine Function olarak kullanmak istiyorum tek bir hücreye formülü yazıp entere bastığımda tablo oluşsun. İlgi matematik hesaplamalarını ben ekleme yapıcam zaten ama bir yolunu öğrensem keşke teşekkür ediyorum ilgilendiğiniz için
 
Sayın mana97
baktım baktım da sorunuzu anlayamadım.
Siz buton kullanmak istemiyorsanız kodlarınızı
sayfa kodlarına yazmanız gerekiyor.
Fonksiyonla tablo oluşturmaya gerek yok.
Sonra formül ne formülü onu da anlamadım.
Dosyanızı indirdim. Açtım butona tıkladım.
Bir tablo oluştu. Onu da basitleştireceğim zaten.
Bu tablonun enter olayı ile mi oluşmasını istiyorsunuz ?
Soruyu anlamaya çalışıyorum.
 
Konu Sahibi
Sayın mana97
baktım baktım da sorunuzu anlayamadım.
Siz buton kullanmak istemiyorsanız kodlarınızı
sayfa kodlarına yazmanız gerekiyor.
Fonksiyonla tablo oluşturmaya gerek yok.
Sonra formül ne formülü onu da anlamadım.
Dosyanızı indirdim. Açtım butona tıkladım.
Bir tablo oluştu. Onu da basitleştireceğim zaten.
Bu tablonun enter olayı ile mi oluşmasını istiyorsunuz ?
Soruyu anlamaya çalışıyorum.

Hocam şöyle ifade etmeye çalışayım Function olarak kullanmak istememin sebebi ilgi kodların yazılı olduğu modülü pc de yüklü olan excel setup ının içine kaydetmek bu sayede pc de herhangi bir exceli bile açsam bu modül beni takip edeceği için istediğim excelde kullanabilirim. (Bunun nasıl yapıldığını biliyorum orda sorun yok)

şöyleki hocam butona bastığımızda belirdiğim hücrelere ilgi veriler makrodan girilmektedir. Ben istiyorum ki C5 hücresine =HESAPLA() adında br formül yazıp entere bastığımda bu tablonun C5 den başlayarak oluşması offsetleri ben ayrıca ayarlayabilirim orda da sorun yok ama bir türlü çözüm bulamadım
 
Sayın mana97

Siz sayfanızda aktif hücreden itibaren
bir tablo oluşturmak istiyorsunuz.
Size lazım olan husus kodlara aktif hücre referansları bilgisi.
Ben böyle anladım.
Modül2 de aktif sayfada aktif hücreyi
referans alarak tablo oluşturan bir makro var.
tablo oluştur makrosu.
Bu makroyu bir butona atamanız yeterli.
Tablo oluşturmak için public yordam veya public değişken
oluşturmanıza gerek yok. Sub yordamı yeterli.
Umarım doğru anlamışımdır.
Kolay gelsin.
 
Konu Sahibi
Sayın mana97

Siz sayfanızda aktif hücreden itibaren
bir tablo oluşturmak istiyorsunuz.
Size lazım olan husus kodlara aktif hücre referansları bilgisi.
Ben böyle anladım.
Modül2 de aktif sayfada aktif hücreyi
referans alarak tablo oluşturan bir makro var.
tablo oluştur makrosu.
Bu makroyu bir butona atamanız yeterli.
Tablo oluşturmak için public yordam veya public değişken
oluşturmanıza gerek yok. Sub yordamı yeterli.
Umarım doğru anlamışımdır.
Kolay gelsin.

Hocam tam olarak istediğim şey bu aslında doğru anlaşılmış konu yalnızca bunu butonla değilde Function olarak yaptırmaya çalışıyorum bu sayede butondan kurtulmaya çalışıyorum (dediğim gibi belki excelin böyle bir çalışma mekaniği olmayabilir bilgim yok o yüzden aslında bu konuyu sormaktayım) ama hocam gerçekten vakit ayırıp konuyla ilgilendiğiniz için çok teşekkür ederim. İsterseniz ekran paylaşarak bir iletişime geçebiliriz telefon numaramı paylaşabilirim sizinle özel olarak tabi sizin içinde uygun olursa belki de ben anlatmakta zorlanıyorum ancak gösterebilirim.

Varmaya çalıştığım nokta sizin Modüle2 de yazmış olduğunuz kodların hepsine X diyelim;

Function HESAPLA()

X 'sizin kodlarınız

End Function
 
Sayın mana97
Fonksiyonla tablo kısmını anlamadım.
Excelde kod çalıştırmak için tetikleyici olaylara gereksinim duyarız.
Bu olayları da ya denetimler üzerinden yada sayfa üzerinden seçeriz.
Madem buton kullanmak istemiyorsunuz
sayfa1 in kod bölümüne enter ile çalışacak şekilde yazdım.
Ama bu sizin için kullanışlı bir yöntem değil.
Sayfada her enter yapışınızda tablo oluşur.
Benden bu kadar.
Kolay gelsin.
 
Konu Sahibi
Sayın mana97
Fonksiyonla tablo kısmını anlamadım.
Excelde kod çalıştırmak için tetikleyici olaylara gereksinim duyarız.
Bu olayları da ya denetimler üzerinden yada sayfa üzerinden seçeriz.
Madem buton kullanmak istemiyorsunuz
sayfa1 in kod bölümüne enter ile çalışacak şekilde yazdım.
Ama bu sizin için kullanışlı bir yöntem değil.
Sayfada her enter yapışınızda tablo oluşur.
Benden bu kadar.
Kolay gelsin.

Saolun hocam çok teşekkür ederim 😇

konu açık kalsın lütfen saygılarımla
 
Dosyanızı sayfa kodunu revize ettim.
Sayfada herhangi bir hücrede tabloyap diye yazdığınızda
o hücreden itibaren tablonuzu oluşturur.
 
Çözüm
Durum
Konu Çözümlendiği İçin Kapatılmıştır.
Geri
Üst