• DİKKAT

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

Etopla

Katılım
25 Ağustos 2004
Mesajlar
131
Excel Vers. ve Dili
Ev -> Office 2016 Tükçe
İş -> Office 2016 Tükçe
herkese iyi çalışmalar
Başka bir excel sayfasından etopla formülü ile veri alıyoorum fakat verilerin olduğu dosya kapalı olduğu zaman #değer hatası veriyor açtığım zaman veriler geliyor bunu dosyayı açmadan yapabilirmiyim?

iyi günler dileğiyle.
 
sumif yerine sumproduct kullanın

Merhaba :hey:

Kapalı bir excel dosyası için, SUMIF(ETOPLA) yerine SUMPRODUCT(TOPLA.ÇARPIM) formülünü kullanın.

Formülünüz nasıldı bilmiyorum ama aşağıda ki örneği, dosya yolunuzuda yazarak deneyin.

Kod:
=ETOPLA(A1:A100;"a";B1:B100)
yerine
Kod:
=TOPLA.ÇARPIM((A1:A100="a")*B1:B100)

Formülünü kullanın.Üstteki kapalı dosyada çalışmaz iken alttaki çalışır.
İyi çalışmalar
 
verini altına toplam alması

aşağıdaki kod verilerin sonunda toplam nasıl alınir.
b süntün "genel toplam" yazacak
c,d,e sütünların toplamı alacak.
verilerinin satır miktarı değişken olacak en son verinin altına toplam alacak.

selamlar

Kod:
Sub aktar()
a = MsgBox("DOSYALARINDAN VERİ ALMAK İSTİYORMUSUNUZ.?", vbYesNo)
If a = vbNo Then
Exit Sub
End If
sat1 = 2
Range(Cells(2, 1), Cells(Rows.Count, Columns.Count)).Value = ""
Range(Cells(2, 1), Cells(Rows.Count, Columns.Count)).Hyperlinks.Delete


Liste (ThisWorkbook.Path)
MsgBox "İŞLEM TAMAM"
End Sub
Private Sub Liste(Kalasor As String)
Dim fL As Object, f As Object, Dosya As String, j As Long

Set fL = CreateObject("Scripting.FileSystemObject")


Dim wb As Workbook
Dosya = Dir(Kalasor & "\*.xls")
'Application.ScreenUpdating = False
While Dosya <> ""
DoEvents
If ThisWorkbook.Name <> Dosya Then
On Error Resume Next
Application.DisplayAlerts = False
deg = "'" & Kalasor & "\" & "[" & Dosya & "]" & "Sayfa1" & "'!R" '//Veri alınacak dosyalardaki sayfa isimi
sat = Cells(Rows.Count, "A").End(3).Row + 1

Cells(sat, 1) = ExecuteExcel4Macro(deg & 1 & "a1")

Cells(sat, 1).Hyperlinks.Add Anchor:=Cells(sat, 1), Address:=Kalasor & "\" & Dosya, TextToDisplay:=fL.GetBaseName(Dosya)

Cells(sat, 2) = ExecuteExcel4Macro(deg & 1 & "C3")
Cells(sat, 3) = ExecuteExcel4Macro(deg & 4 & "C6")
Cells(sat, 4) = ExecuteExcel4Macro(deg & 4 & "c7")
Cells(sat, 5) = ExecuteExcel4Macro(deg & 4 & "c8")
Cells(sat, 6) = ExecuteExcel4Macro(deg & 4 & "C5")

End If
Dosya = Dir
Wend
On Error GoTo sonraki
For Each f In fL.GetFolder(Kalasor).subfolders
Kalasor = f.Path
Liste (f.Path)
sonraki:
Next
Set fL = Nothing
Application.ScreenUpdating = True
End Sub
 
Geri
Üst