• DİKKAT

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

düşeyara vb formülleri makro ile yapmak

Katılım
9 Temmuz 2012
Mesajlar
106
Excel Vers. ve Dili
Excel 2007 - Türkçe
Arkadaşlar Düşeyara, Etopla gibi formülleri normal sayfa içerisinde gerçekleştirebiliyorum ancak bunları makro ile gerçekleştirmem gerekiyor nasıl yapabilirim

bahsettiğim çalışmamdaki stok sayfasındaki formülleri makro ile oluşturmak
 

Ekli dosyalar

yapmak istediğimi ufak bir araştırma sonucu buldum ancak şöyle bir sorun ortaya çıktı
9kccp4.png


verileri userform ile kaydettiğimde sayısal değerler hücre içerisinde sol üst köşede yeşil bir ok çıkması sebebiyle etopla formüllerinde dikkate alınmıyor bunun çözümü nedir?
 
Sayı dönüşüm fonksiyonlarını kullanmanız uygun olur. Ör:

Kod:
Cells(1,1) = [COLOR=Blue][B]CDbl[/B][/COLOR](Textbox1)
 
Merhaba, Aradığını Bulmuşsun sevindim. Keşke çoğu kişi sizin gibi olsa. Daha 10 dakika geçmeden acil yardım isteyen arkadaşlar gibi değilsiniz. Ancak son problemide ne gibi yöntemle çözdüğünüzü tekrar dosya ile destekleseniz ilgilenen arkadaşlar daha çabuk yardımcı olabilir. Mesela gördüğüm kadarı ile düşey ara kaynağı metinmi,sayımı yoksa başka bir formattamı.
Mesela aşağıdaki gibi bir kod kullanabilirsin ama nerede nasıl kullanacaksın stok sekmesi nasıl oluşuyor.Senin düşüncelerini bilmediğimiz için dosyada açıklaman gerekiyor.
Kod:
Sub Bul()
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",+VLOOKUP(RC1,DEPO!C2:C6,2,0))"
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-2]="""","""",+VLOOKUP(RC1,DEPO!C2:C6,5,0))"
    Range("D2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-3]="""","""",SUMIF(DEPO!R2C2:R10000C2,STOK!RC1,DEPO!R2C5:R10000C5))"
    Range("E2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-4]="""","""",SUMIF(DEPO!R2C2:R10000C2,STOK!RC1,DEPO!R2C4:R10000C4))"
    Range("B2:E2").Select
    Selection.AutoFill Destination:=Range("B2:E500"), Type:=xlFillDefault
    Range("B2:E500").Select
    ActiveWindow.SmallScroll Down:=-69
    Range("A2").Select
Range("B2:E500" & Son_Satir).Value = Range("B2:E500" & Son_Satir).Value
End Sub
 
Son düzenleme:
Merhaba, Aradığını Bulmuşsun sevindim. Keşke çoğu kişi sizin gibi olsa. Daha 10 dakika geçmeden acil yardım isteyen arkadaşlar gibi değilsiniz. Ancak son problemide ne gibi yöntemle çözdüğünüzü tekrar dosya ile destekleseniz ilgilenen arkadaşlar daha çabuk yardımcı olabilir. Mesela gördüğüm kadarı ile düşey ara kaynağı metinmi,sayımı yoksa başka bir formattamı.
Mesela aşağıdaki gibi bir kod kullanabilirsin ama nerede nasıl kullanacaksın stok sekmesi nasıl oluşuyor.Senin düşüncelerini bilmediğimiz için dosyada açıklaman gerekiyor.
Kod:
Sub Bul()
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-1]="""","""",+VLOOKUP(RC1,DEPO!C2:C6,2,0))"
    Range("C2").Select
    ActiveCell.FormulaR1C1 = "=IF(RC[-2]="""","""",+VLOOKUP(RC1,DEPO!C2:C6,5,0))"
    Range("D2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-3]="""","""",SUMIF(DEPO!R2C2:R10000C2,STOK!RC1,DEPO!R2C5:R10000C5))"
    Range("E2").Select
    ActiveCell.FormulaR1C1 = _
        "=IF(RC[-4]="""","""",SUMIF(DEPO!R2C2:R10000C2,STOK!RC1,DEPO!R2C4:R10000C4))"
    Range("B2:E2").Select
    Selection.AutoFill Destination:=Range("B2:E500"), Type:=xlFillDefault
    Range("B2:E500").Select
    ActiveWindow.SmallScroll Down:=-69
    Range("A2").Select
Range("B2:E500" & Son_Satir).Value = Range("B2:E500" & Son_Satir).Value
End Sub



düşey ara formülünü kullanabilme imkanım olmadı ancak etopla formülünü aşağıdaki kodlar ile sağlayabildim
Kod:
Private Sub CommandButton1_Click()
    Dim i As Long
Sheets("STOK").Select
For i = 2 To Cells(Rows.Count, "A").End(xlUp).Row
    Cells(i, "E").Formula = "=SUMIF(DEPO!B:B,A" & i & ",DEPO!D:D)"
    Cells(i, "D").Formula = "=SUMIF(DEPO!B:B,A" & i & ",DEPO!E:E)"
Next i
End Sub

bu kod sayesinde STOK sayfasındaki A2:A kadar olan bütün verileri DEPO sayfasındaki B sütununda tarayıp bulduğu verilerin stok adedini yani D hücresindeki değerleri topluyor ve STOK sayfasında E hücrelerine yazıyor buraya kadar sıkıntı yok ancak;
aynı olayı fiyatları toplatmaya uyarladığımda hücresinin sol üst köşesindeki küçük yeşil üçgen olan hücreleri atlıyor toplama işlemi yapmıyor yani yukarıda verdiğim koddaki Cells(i, "E") ile başlayan satır tamamiyle kusursuz çalışıyor ancak 2. satırda bir eksiklik olduğunu düşünüyorum



EDİT: sizin verdiğiniz kodu kullandığımda sorunların hepsi birden çözülüverdi tam istediğim olay buydu teşekkür ederim elinize sağlık
 
Son düzenleme:
Geri
Üst