Foksiyonlara değişken atamak

Katılım
6 Kasım 2007
Mesajlar
22
Excel Vers. ve Dili
Excel 2002 sp3
Türkçe
Arakdaşlar merhaba;

Aşağıdaki kesitini aldığım makroda fonksiyona t değişkeni'ni nasıl tanımlayabilirim.

Yani """""s1.Cells(t, "B") = "=ISERROR((FIND(RC[-1],R[1]C[-1],1)))""""" bu komutta FIND(RC[-1] yerine t değişkeni nasıl tanımlarım. t değişirse RC[-1] ve digerleride bunu göre değişsin.

Bu konuda yardımcı olursanız sevinirim.




Sub olmuyor()
Set s1 = Sheets("1")

For t = 1 To s1.Cells(65536, "A").End(xlUp).Row


s1.Cells(t, "B") = "=ISERROR((FIND(RC[-1],R[1]C[-1],1)))"

If s1.Cells(t, "D") > 0 Then

s1.Cells(t, "F") = s1.Cells(t, "C") + s1.Cells(t, "D")

Else
***
***
**
*
*
*
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
"=ISERROR((FIND(RC[-1],R[1]C[-1],1)))"

Yukarıdaki formülünüzü aşağıdaki gibi ifade edersek değişmesini istediğiniz hücre adresi hangisidir.

"=ISERROR((FIND(A1,A2,1)))"
 
Katılım
6 Kasım 2007
Mesajlar
22
Excel Vers. ve Dili
Excel 2002 sp3
Türkçe
Levent bey döngüdeki koşulu saglarsa A1 sabit kalacak, A2 degişkene göre A3 , A4 , A5 vb olabil.Şarta uymaz ise sayaç koyarak A1'i A2 yaptırıp A2 ise A3 A4 A5 vb olabilecek olarak yapmak istiyorum . Ama işte A1 ve A2 yi degişkene göre artıramıyorum.

Eğer anlatamadı isem dosya ekleyip gönderebilirim.
Yardımlarınız için şimdiden teşekkür ederim.
 
Katılım
6 Kasım 2007
Mesajlar
22
Excel Vers. ve Dili
Excel 2002 sp3
Türkçe
Fonksiyonlara değişken atamak

Örnek dosyayı ve yapmaya çalıştığımı ekte sunuyorum.
Teşekkür ederim.
 

Ekli dosyalar

Katılım
6 Kasım 2007
Mesajlar
22
Excel Vers. ve Dili
Excel 2002 sp3
Türkçe
Arkadaşlar soruna bir çözüm bulursanız sevinirim. Eğer makro ile yapamazsam iş yüküm 10 kat artacak gibi
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,738
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki kod mavi renkle belirttiğiniz hücreler boş iken doğru sonucu vermektedir. Kodu ikinci kez çalıştırırsanız hatalı sonuç alırsınız.

Kod:
Option Explicit
 
Sub HESAPLA()
    Dim SON_SATIR As Long
    SON_SATIR = [A65536].End(3).Row
    With Range("B1:B" & SON_SATIR)
        With Range("C1:C" & SON_SATIR)
            .Formula = "=SUMPRODUCT((LEFT(A1:$A$" & SON_SATIR & ",LEN(A1))*1=A1)*(B1:$B$" & SON_SATIR & "))"
        End With
        .Value = Range("C1:C" & SON_SATIR).Value
    End With
    Columns(3) = Empty
End Sub
 
Katılım
6 Kasım 2007
Mesajlar
22
Excel Vers. ve Dili
Excel 2002 sp3
Türkçe
Korhan bey teşekkür ederim.
Allah razı olsun.
 
Üst