• DİKKAT

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

formülerin makro karşılığı

Katılım
1 Ağustos 2013
Mesajlar
563
Excel Vers. ve Dili
Ofis 2016 TR 32 Bit
[TR][TD]

[/TD][/TR]
[TR][TD]
1 --- TOPLA (- ($ V $ 3: $ V $ 10 = K3: K10)) = BAĞ_DEĞ_DOLU_SAY ($ B $ 3: $ B $ 10) ..... bu dizi formülü
2
[/TD][/TR]
[TR][TD]
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
[/TD][/TR]
 
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.
 
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
 
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
 
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
 
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
 
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:
Excel size makro kaydet yöntemiyle zaten formülü veriyor. Siz sadece R1C1 stilini normal adreslere dönüştüreceksiniz. Çok zor olmamalı.
 
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

Şöyle deneyiniz.
Range("A1").FormulaArray = "=SUM(-($V$3:$V$10=K3:K10))=COUNTA($B$3:$B$10)"
Range("A1").value = range("A1").value
 
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.
 
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

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...
 
buyurun
Range("AL1").Value = Range("A1").Value
 
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.
 
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

biraz heyecan yaptım galiba buldum bariduran yerine mzz değişkeni yazınca düzeldi
 
Geri
Üst