• DİKKAT

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

düşeyaranın makro yazılısı varmı?

Katılım
14 Mart 2007
Mesajlar
90
Excel Vers. ve Dili
excel 2003 Tr
bu dusey ara yada buna benzer formullerın sagladıgı kolaylıgı bıze makrolarda saglayamazmı? bu tur formullerın makro yazılısı varmı?
 
düşeyara zaten kendi kendine bir makrodur

parametreler i verirsiniz işi yapar.

bunun dışında nasıl bir kolaylık bekliyorsunuz.!!
 
Resimdeki gibi makro içinde de fonksiyonları kullanabilirsiniz.
 
düşeyara zaten kendi kendine bir makrodur

parametreler i verirsiniz işi yapar.

bunun dışında nasıl bir kolaylık bekliyorsunuz.!!

1)makrolarda excel eklentisiyle tüm sayfalarda işlem yapılabılıyor ama sanırım bu olay formullerde olmuyor
2) bagımsız değişkenşer istiyorum yanı duseyara ile sordugum sorunun cevabının bagımsız olmasını istiyorum
 
Ekli dosyayı inceleyin.

kod :

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
[D1] = WorksheetFunction.VLookup([C1], [A1:B4], 2, 0)
End Sub
 
ekli dosyanızı inceledim. teşekkur ederim. evet sanırım bıraz almak ıstedıgımı aldım ama sanırım ben derdımı tam olarak anlatamadım. onun ıcın sıze eklı bır dosya hazırladım onu icelemenizi temenni ediyorum
 
Veriler nereden çağrılacaktır?
 
herhangi bir dosyadan. meselam excel eklentisi gibi bir dosyadan. yani herzaman cagrıllabilecek bir dosyadan olabilir
 
Bu şekilde cevap vermek zor, birde verilerin alınacağı dosya örneği eklerseniz, size uygun bir kod önerebiliriz.
 
Evet Haklisiniz. Ben Verİlerİnde Bulundugu Bir Ornegi Ekledim. İlgİnİz Ve Alakaniza Şİmdİden TeŞekkÜr Ederİm...
 
Öncelikle veri alınacak dosyanızı adını TEST2 olarak değiştirin ve c:\deneme isimli bir klasör oluşturarak bu klasöre kopyalayın. Daha sonrada aşağıdaki dosyayı açarak sayfa1 deki tabloda poznolarını seçin.
 
Ayrıca ExecuteExcel4Macro yöntemi ile de veriler yine VLOOKUP formülü kullanılarak alınabilir. Bu durumda yukarıdaki dosyada sayfa1 in kod sayfasındaki kodu aşağıdaki ile değiştirin.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [a:a]) Is Nothing Then Exit Sub
If Target = "" Then
Range("b" & Target.Row & ":e" & Target.Row).ClearContents
Exit Sub
End If
Target.Offset(0, 1) = ExecuteExcel4Macro("VLOOKUP(" & """" & Target & """" & ",'C:\deneme\[TEST2.xls]VERİLERİN BULUNDUGU SAYFA'!R2C1:R65536C11,2,0)")
Target.Offset(0, 2) = ExecuteExcel4Macro("VLOOKUP(" & """" & Target & """" & ",'C:\deneme\[TEST2.xls]VERİLERİN BULUNDUGU SAYFA'!R2C1:R65536C11,8,0)")
Target.Offset(0, 3) = ExecuteExcel4Macro("VLOOKUP(" & """" & Target & """" & ",'C:\deneme\[TEST2.xls]VERİLERİN BULUNDUGU SAYFA'!R2C1:R65536C11,10,0)")
Target.Offset(0, 4) = ExecuteExcel4Macro("VLOOKUP(" & """" & Target & """" & ",'C:\deneme\[TEST2.xls]VERİLERİN BULUNDUGU SAYFA'!R2C1:R65536C11,11,0)")
End Sub
 
sayın leventm ilginiz ve alakanıza tesekkur ederım. ayrıca sunmus oldugunuz yontem ve yardımlarınız içinde tesekkur ederim. size birşey daha sormak ıstıyorum ben bu sayfayı korumak zorundayım cunku makro kodları bu sayfada yazıyor diğer sayfalarda yok ben bunu tüm sayfalrda kullanabilmek için nasıl bir sey yapmalıyım.
 
Gene başa döndünüz o zaman xla yani eklenti yapmanız lazım.
 
xla (eklenti dosyası) yaptıgım zaman beli bir komutla cagırmam gerek.
ama ben sayın leventm hocamın yaptıgı gibi deger gırerek alınan sonucun anuel olarak değiştirmek istiyorum. ben makro bilmiyorum ama soyle bir sey yapılabılırmı? belli bir makroya belli bir ad verilerek belli bir hucreye(tek bir hucreye girmek suretıyle) kod girilerek makromuzun calısması saglanabilirmi? böyle bir sey mümkünmü?
 
Sizin yapmak istediğiniz nedir tam olarak izah edermisiniz. Bu kodun tüm excel dosyalarındamı geçerli olmasını istiyorsunuz yoksa aynı dosyanın tüm sayfalarındamı?

Bu arada küçük bir hatırlatma kod sadece A sütununa veri girildiğinde çalışır.
 
bu kodun tum excel sayfalarında gecerli olmasını ıstıyorum! ama bu cok ugrastıracaksa ben tek bır sayfadada işlemimi yaparım yardımlarınız için cok teşekkur ederim.
 
Aşağıdaki kodu thisworkbook kod sayfasına kopyalarsanız, dosyadaki tüm sayfaların A sütunlarında çalışır.

Kod:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Intersect(Target, [a:a]) Is Nothing Then Exit Sub
If Target = "" Then
Range("b" & Target.Row & ":e" & Target.Row).ClearContents
Exit Sub
End If
Target.Offset(0, 1) = ExecuteExcel4Macro("VLOOKUP(" & """" & Target & """" & ",'C:\levent\Yeni Klasör\[TEST2.xls]VERİLERİN BULUNDUGU SAYFA'!R2C1:R65536C11,2,0)")
Target.Offset(0, 2) = ExecuteExcel4Macro("VLOOKUP(" & """" & Target & """" & ",'C:\levent\Yeni Klasör\[TEST2.xls]VERİLERİN BULUNDUGU SAYFA'!R2C1:R65536C11,8,0)")
Target.Offset(0, 3) = ExecuteExcel4Macro("VLOOKUP(" & """" & Target & """" & ",'C:\levent\Yeni Klasör\[TEST2.xls]VERİLERİN BULUNDUGU SAYFA'!R2C1:R65536C11,10,0)")
Target.Offset(0, 4) = ExecuteExcel4Macro("VLOOKUP(" & """" & Target & """" & ",'C:\levent\Yeni Klasör\[TEST2.xls]VERİLERİN BULUNDUGU SAYFA'!R2C1:R65536C11,11,0)")
End Sub
 
sayın leventm ilginize ve alakanıza teşekkür ederim. benim demek istediğim tam olarak bu deildi. size kısaca soyle tanımlayayım:
herhangi bir excel sayfasında A sutundaki bir hüzreye =poz(44.2.1) seklinde girdigimde bana B -C - D sutunlarındaki karsılıgını versin tabi yine bu A sutunu hariç diğier sutunlarda değişiklik yapabileyim. Biliyorum cok sey ıstıyorum. yardımlarınız için cok teşekkür ederim.
 
Geri
Üst