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ı?
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
düşeyara zaten kendi kendine bir makrodur

parametreler i verirsiniz işi yapar.

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

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,679
Excel Vers. ve Dili
Excel 2019 Türkçe
Resimdeki gibi makro içinde de fonksiyonları kullanabilirsiniz.
 
Katılım
14 Mart 2007
Mesajlar
90
Excel Vers. ve Dili
excel 2003 Tr
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
 

İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,104
Excel Vers. ve Dili
Excel, 365 - İngilizce

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
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
 
Katılım
14 Mart 2007
Mesajlar
90
Excel Vers. ve Dili
excel 2003 Tr
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
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Veriler nereden çağrılacaktır?
 
Katılım
14 Mart 2007
Mesajlar
90
Excel Vers. ve Dili
excel 2003 Tr
herhangi bir dosyadan. meselam excel eklentisi gibi bir dosyadan. yani herzaman cagrıllabilecek bir dosyadan olabilir
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bu şekilde cevap vermek zor, birde verilerin alınacağı dosya örneği eklerseniz, size uygun bir kod önerebiliriz.
 
Katılım
14 Mart 2007
Mesajlar
90
Excel Vers. ve Dili
excel 2003 Tr
Evet Haklisiniz. Ben Verİlerİnde Bulundugu Bir Ornegi Ekledim. İlgİnİz Ve Alakaniza Şİmdİden TeŞekkÜr Ederİm...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ö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.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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
 
Katılım
14 Mart 2007
Mesajlar
90
Excel Vers. ve Dili
excel 2003 Tr
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.
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
Gene başa döndünüz o zaman xla yani eklenti yapmanız lazım.
 
Katılım
14 Mart 2007
Mesajlar
90
Excel Vers. ve Dili
excel 2003 Tr
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ü?
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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.
 
Katılım
14 Mart 2007
Mesajlar
90
Excel Vers. ve Dili
excel 2003 Tr
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.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,056
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
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
 
Katılım
14 Mart 2007
Mesajlar
90
Excel Vers. ve Dili
excel 2003 Tr
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.
 
Üst