formülerin makro karşılığı

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
 

1 --- TOPLA (- ($ V $ 3: $ V $ 10 = K3: K10)) = BAĞ_DEĞ_DOLU_SAY ($ B $ 3: $ B $ 10) ..... bu dizi formülü
2


EĞERHATA (EĞER (SATIRSAY (DOLAYLI ("aa" & ARA (2; 1 / ($ N $ 1: $ N3 = DOĞRU); SATIR ($ N $ 1: $ N3)) & ": aa" & SATIR () )) <= 8; MAK (1 $ O $: $ O2) + 1, 0); 0) ........ normal bu, dizi Değil

rica etsem yukardaki formüllerin makro karşılığnı verirmisiniz, teşekkürler

 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Formüllerin makro karşılığını öğrenmek için en basit yol MAKRO KAYDET yöntemini kullanmaktır.

Sonrasında oluşan kodları elle düzenleyip kullanabilirsiniz.
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
onu denedim hocam r1c1 stilinde oluşuyor , ona da acemi olunca düzenlemek zor oluyor ,ama sizlerin ki farklı ,daha pratik olur diye bekliyorum. beni çok kastı hocam sizin yazdığınız formül sonuçta bir el atsanız rica etsem sona geldim çünki
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Biraz uğraşmak gerekiyor. En güzel öğrenme yöntemlerinden biri de budur.

Mesela ilk verdiğiniz formülü ben makro kaydet ile A1 hücresine uyguladığımda aşağıdaki kod oluşuyor.

C++:
Option Explicit

Sub Makro1()
'
' Makro1 Makro
'

'
    Selection.FormulaArray = _
        "=SUM(-(R3C22:R10C22=R[2]C[10]:R[9]C[10]))=COUNTA(R3C2:R10C2)"
End Sub
Ben bunu hücredeki gibi olacak şekilde aşağıdaki şekilde revize ettim.

C++:
Option Explicit

Sub Makro1()
    Range("A1").FormulaArray = "=SUM(-($V$3:$V$10=K3:K10))=COUNTA($B$3:$B$10)"
End Sub
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
süpersin işte benimde istediğim buydu.
Selection.FormulaArray = _
"=SUM(--(R3C22:R10C22=RC[-21]:R[7]C[-21]))=COUNTA(RC[-1]:R[7]C[-1])"
bu formulü bende elde ettim dediğiniz yöntemle
ama
Range("A1").FormulaArray = "=SUM(-($V$3:$V$10=K3:K10))=COUNTA($B$3:$B$10)"
bu şekilde formülüze edemedim . çok teşekkür
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Range("A1").FormulaArray = "=SUM(-($V$3:$V$10=K3:K10))=COUNTA($B$3:$B$10)"
sum dan sonra gelen SUM(- - anlamı nedir korhan bey
EĞERHATA (EĞER (SATIRSAY (DOLAYLI ("aa" & ARA (2; 1 / ($ N $ 1: $ N3 = DOĞRU); SATIR ($ N $ 1: $ N3)) & ": aa" & SATIR () )) <= 8; MAK (1 $ O $: $ O2) + 1, 0); 0) buna cevap vermediniz asıl zor olan yine sizin yazdığınız formül
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
peki hocam uğraşıcam ama yapamazsam yarın akşama dönüş yaparım . teşekkürler
ayrıca idris serdar hocamın dosyası için teşekkürler okudum çok güzel anlatmış,anladım ,sağolun
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Excel size makro kaydet yöntemiyle zaten formülü veriyor. Siz sadece R1C1 stilini normal adreslere dönüştüreceksiniz. Çok zor olmamalı.
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
bunuda inceliyorum
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Sub Makro1()
Range("A1").FormulaArray = "=SUM(-($V$3:$V$10=K3:K10))=COUNTA($B$3:$B$10)"
End Sub
korhan bey iyi akşamlar , belki size göre kolaya kaçıyorum ama beni çok uğraştırıyor bu formüleri makro olarak yazmak
yukardaki makroya çevirdiğiniz formulü dosyama uyarladım ama değişen bir şey yok , dosyada yine formül şeklinde çıkıyor . Dolayısıyle dosya nın hacmi çok büyük olunca formül kasıyor. yaklaşık 1 haftadır uğraş verdiğim dosyamda
range(al:ao) sütunlarındaki formüleri makroya çevirmem gerek , dosyanın kasmaması için
tıkandım arkadaşlar biraz destek
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Şöyle deneyiniz.
Range("A1").FormulaArray = "=SUM(-($V$3:$V$10=K3:K10))=COUNTA($B$3:$B$10)"
Range("A1").value = range("A1").value
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Proje hazırlamak kolay değildir. Meşakatli yollarda vakit geçirdikçe tecrübe kazanırsınız.

Makrolar konusunda tecrübesi olmayan üyelerimiz için ben MAKRO KAYDET yöntemini öneriyorum. Bu özelliği kullanarak oluşan kodları irdelemek-üzerinde oynamak size tecrübe kazandıracaktır.
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
sayın Orion1 cevabınız için çok teşekkürler ama değişen hiç bir şey yok,birde son gönderdiğim dosyaya bakarmısınız
ben sizin verdiğiniz kodu uygulayarak yeniden gönderiyorum
 

Ekli dosyalar

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
Korhan bey şu 1 haftadır belkide ilk defa bu seviyede makrolarla uğraşıyorum ,hemen kolayına kaçıp size de yazmıyorum ama demekki acemi olduğum hemen beli oluyor ki bana başlangıç seviyesinde makro kaydet yöntemini önerdiniz ,teşekkürler. Eğer dosyamı incelerseniz , ilk defa bu seviyede makro ile kod yazıyorum. şu ana kadar yazdığım bu dosyadaki kod ları inanın 1 hafta 10 gün de yapabildim sora sora araştıra araştıra...
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
buyurun
Range("AL1").Value = Range("A1").Value
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Bir hafta-10 gün bunlar az bir zaman.. Daha çok vakit harcamalısınız. İşini temelinden başlamalısınız. Yoksa çok bocalarsınız. Eskiden bu işler daha zordu.. Kaynak bulmakta zorlanıyorduk. Ama artık youtube ortamında bolca ders niteliğinde görseller var. Bunları izleyip irdelemek ve öğrenmek gerekiyor.
 

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
bahriduran = Range("A" & Rows.Count).End(xlUp).Row

For mzz = 3 To bahriduran
If stk.Range("AJ" & bahriduran) = stk.Range("B" & bahriduran) Then
stk.Range("AL" & bahriduran) = "doğru"
Else
stk.Range("AL" & bahriduran) = "yanlış"
End If

Next

sayın orion1 sizin
buyurun
Range("AL1").Value = Range("A1").Value
bu kod dan esinlenerek yukardaki kodu yazdım ama çalışmadı , hatam nerede acaba bakarmısınız
dosya ek te
 

Ekli dosyalar

şehiriçi

Altın Üye
Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
Altın Üyelik Bitiş Tarihi
12-03-2025
biraz heyecan yaptım galiba buldum bariduran yerine mzz değişkeni yazınca düzeldi
 
Üst