• DİKKAT

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

Excel formülü vba ya çevirme

Katılım
16 Nisan 2010
Mesajlar
170
Excel Vers. ve Dili
Microsoft Office 2010 türkçe
Arkadaşlar öncelikle merhaba;
Analiz tablo ve grafikleri yapmak için genelde aşağıdaki bu 3 formülü kullanıyorum. Bu formüller çok fazla olduğu için dosyayı kasmaya başladı. VBA ya enjekte etmek istiyorum vba ile hesapladıktan sonra hücreye kopyalamasını istiyorum. Vba ya enjekte etmek baya zaman alacak ama işimi kolaylaştıracak formülleri vba da nasıl girebilirim. vba konusunda yeni olduğum için biraz yardım ederseniz sevinirim.

=TOPLA(EĞER(Data!$A$1:$A$9999>=$J$1;EĞER(Data!$A$1:$A$9999<=$K$1;EĞER(Data!$H$1:$H$9999="06";EĞER(Data!$E$1:$E$9999=L6;EĞER(Data!$G$1:$G$9999=$M$4;EĞER(Data!$J$1:$J$9999="PİŞMİŞ HURDA";Data!$D$1:$D$9999)))))))

=RANK(P6;$P$5:$P$71)+EĞERSAY(P$5:$P6;P6)-1

=İNDİS($L$5:$L$71;KÜÇÜK(EĞER($Q$5:$Q$71=R4;SATIR($Q$5:$Q$71)-SATIR($Q$5)+1);EĞERSAY($R$4:R4;R4)))
 
. . .

Örnek bir tablo paylaşırsanız, formülün çalışma şekline göre kodlama yapılabilir. Veya
Makro Kaydet ile formülünüzü kodlara çevirebilirsiniz.

. .
 
tablo sayfa 2 de ve sayfa 1 de data sayfasıdır örnek hazırladım en falza dakikası olanı buluyorum bu tabloylada grafik yaptırıyorum. teşşekürler hocam şimdiden.
 

Ekli dosyalar

makro kaydet ile bir kaç çalışmam oldu hocam fakat formülü hücreye getirdim ama ben formülün değilde kendisinin hesaplayıp değerleri getirmesini istiyorum. ve ben bunu butona ekleyeceğimden formül olmayıp kasma olmucak . formüller butonla devreye girmiş olacak. inşallah anlatabilmişimdir teşekkürler..
 
yardımlarınızı bekliyorum.
 
hocam çok teşekkür ederim. yalnız u3 ve u4 hücrelerine getirdiği rakam aynı mantığını anlayıp çözmeye çalışacağım teşekkürler tekrardan.
 
hocam baktım biraz ama formülleri hesaplamıyo vede yanlış hesap yaptığı yerler var makro kaydet ile bende formülü çıkarttım aynı formüller nerde yanlış yapıyoruz anlayamadım.
 
tablo sayfa 2 de ve sayfa 1 de data sayfasıdır örnek hazırladım en falza dakikası olanı buluyorum bu tabloylada grafik yaptırıyorum. teşşekürler hocam şimdiden.

Merhaba aşağıdaki kodları modüle kopyalayıp denermisiniz

Sıralama , makina kodu ve dakika hariç diğer işlemleri yapıyor umarım
Belki size bir ipucu verebilir
Butonu ister sayfa1 e ister sayfa2 ye koyabilirsiniz her iki sayfadada çalışır
Sub numan()
Range("o3:q6").ClearContents
'a = 0
For i = 3 To 6
For k = 2 To 9
If Sheets("Sayfa1").Range("a" & k).Value = Sheets("Sayfa2").Range("n" & i).Value And Sheets("Sayfa1").Range("c" & k).Value = Sheets("Sayfa2").Range("o2").Value Then Sheets("Sayfa2").Range("o" & i).Value = Sheets("Sayfa1").Range("d" & k).Value + Sheets("Sayfa2").Range("o" & i).Value
If Sheets("Sayfa1").Range("a" & k).Value = Sheets("Sayfa2").Range("n" & i).Value And Sheets("Sayfa1").Range("c" & k).Value = Sheets("Sayfa2").Range("p2").Value Then Sheets("Sayfa2").Range("p" & i).Value = Sheets("Sayfa1").Range("d" & k).Value + Sheets("Sayfa2").Range("p" & i).Value
If Sheets("Sayfa2").Range("o" & i).Value > 0 Or Sheets("Sayfa2").Range("p" & i).Value > 0 Then Sheets("Sayfa2").Range("q" & i).Value = Sheets("Sayfa2").Range("o" & i).Value + Sheets("Sayfa2").Range("p" & i).Value
Next k
Next i
End Sub
 
çok teşekkür ederim hocam daha az kodla aynı iş teşekkürler tekrardan.
 
hocam yaptım sıralamayıda
[N3:Q6].Sort Key1:=[Q2], Order1:=xlDescending
bu kodla. İşimi kolaylaştırdım fakat bi problem var sizin formülde harfinde eşitliğini arıyor eşit değil ise veriyi getirmiyor.(Örne A2,a2) bi hata olmaması için büyük küçük hard farketmeden getirmesini istiyorum mümkünmü acaba?

If Sheets("Sayfa1").Range("a" & k).Value = Sheets("Sayfa2").Range("n" & i).Value And Sheets("Sayfa1").Range("c" & k).Value = Sheets("Sayfa2").Range("o2").Value Then Sheets("Sayfa2").Range("o" & i).Value = Sheets("Sayfa1").Range("d" & k).Value + Sheets("Sayfa2").Range("o" & i).Value
 
hocam yaptım sıralamayıda
[N3:Q6].Sort Key1:=[Q2], Order1:=xlDescending
bu kodla. İşimi kolaylaştırdım fakat bi problem var sizin formülde harfinde eşitliğini arıyor eşit değil ise veriyi getirmiyor.(Örne A2,a2) bi hata olmaması için büyük küçük hard farketmeden getirmesini istiyorum mümkünmü acaba?

If Sheets("Sayfa1").Range("a" & k).Value = Sheets("Sayfa2").Range("n" & i).Value And Sheets("Sayfa1").Range("c" & k).Value = Sheets("Sayfa2").Range("o2").Value Then Sheets("Sayfa2").Range("o" & i).Value = Sheets("Sayfa1").Range("d" & k).Value + Sheets("Sayfa2").Range("o" & i).Value

Merhab
Aşağıdaki kodları denermisiniz
Sub numan()
Sheets("Sayfa2").Range("o3:q6").ClearContents
For i = 3 To 6
For k = 2 To 9

If bHarf(Sheets("Sayfa1").Range("a" & k).Value) = bHarf(Sheets("Sayfa2").Range("n" & i).Value) And bHarf(Sheets("Sayfa1").Range("c" & k).Value) = bHarf(Sheets("Sayfa2").Range("o2").Value) Then Sheets("Sayfa2").Range("o" & i).Value = Sheets("Sayfa1").Range("d" & k).Value + Sheets("Sayfa2").Range("o" & i).Value
If bHarf(Sheets("Sayfa1").Range("a" & k).Value) = bHarf(Sheets("Sayfa2").Range("n" & i).Value) And bHarf(Sheets("Sayfa1").Range("c" & k).Value) = bHarf(Sheets("Sayfa2").Range("p2").Value) Then Sheets("Sayfa2").Range("p" & i).Value = Sheets("Sayfa1").Range("d" & k).Value + Sheets("Sayfa2").Range("p" & i).Value
If Sheets("Sayfa2").Range("o" & i).Value > 0 Or Sheets("Sayfa2").Range("p" & i).Value > 0 Then Sheets("Sayfa2").Range("q" & i).Value = Sheets("Sayfa2").Range("o" & i).Value + Sheets("Sayfa2").Range("p" & i).Value


Next k
Next i

End Sub
Function bHarf(Veri As String)
bHarf = UCase(Replace(Replace(Veri, "i", "İ"), "ı", "I"))
End Function
 
Hocam çok teşekkür ederim. Problemsiz çalışıyo..
 
Geri
Üst