- Katılım
- 24 Kasım 2008
- Mesajlar
- 148
- Excel Vers. ve Dili
- 2003
Private Sub MIZAN()
Call BOS
Call TEMIZLE3
Sheets("ARAGCS").Select
Range("A3:I65000").ClearContents
Dim d As Double
Dim bs As Integer
Dim i As Long
Dim s1, s2, s3 As Worksheet
Set s1 = Sheets("İŞLEM")
Set s2 = Sheets("İŞLEM")
Set s3 = Sheets("ARAGCS")
For i = 3 To s1.Range("A65000").End(xlUp).Row
If s1.Cells(i, 1).Value = ComboBox27.Value Then
If WorksheetFunction.CountIf(s3.Range("B3:B65000"), s1.Cells(i, 2).Value) >= 1 Then
Else
Set bul = s2.Range("B1:B65000").Find(s1.Cells(i, 2).Value)
If Not bul Is Nothing Then
d = bul.Row
bs = s3.Range("A65000").End(xlUp).Row + 1
For H = 1 To 3
s3.Cells(bs, H).Value = s2.Cells(d, H).Value
Next
s3.Cells(bs, "F").Value = Round(WorksheetFunction.SumIf(s1.Range("B3:B65000"), s1.Cells(i, 2).Value, s1.Range("F3:F65000")), 2)
s3.Cells(bs, "G").Value = Round(WorksheetFunction.SumIf(s1.Range("B3:B65000"), s1.Cells(i, 2).Value, s1.Range("G3:G65000")), 2)
If s3.Cells(bs, "G").Value - s3.Cells(bs, "F").Value <> 0 Then
If s3.Cells(bs, "G").Value - s3.Cells(bs, "F").Value < 0 Then
s3.Cells(bs, "BA").Value = Round(s3.Cells(bs, "G").Value - s3.Cells(bs, "F").Value, 2)
s3.Cells(bs, "H").Value = Round(s3.Cells(bs, "BA").Value - s3.Cells(bs, "BA").Value - s3.Cells(bs, "BA").Value, 2)
s3.Select
Range("BA1:BA65536").ClearContents
Else
s3.Cells(bs, "I").Value = Round(s3.Cells(bs, "G").Value - s3.Cells(bs, "F").Value, 2)
End If
Else
End If
End If
End If
End If
Next
s3.Select
Range("A3:I65536").Select
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Key2:=Range("D3") _
, Order2:=xlAscending, Key3:=Range("B3"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
ListBox1.RowSource = "ARAGCS!A3:I" & s3.Cells(65536, "A").End(xlUp).Row
Call BTOPLA
End Sub
MERHABA ARKADAŞLAR KODUM YUKARIDAKİ GİBİ.
TAM OLARAK İSTEDİĞİM ŞEY
KODUMDA TOPLAMA İŞLEMİ YAPILIYOR
s3.Cells(bs, "F").Value = Round(WorksheetFunction.SumIf(s1.Range("B3:B65000"), s1.Cells(i, 2).Value, s1.Range("F3:F65000")), 2)
BU "SUM" İŞLEMİNDEKİ "IF" DEĞERİM s1.Cells(i, 2).Value OLMAKTADIR. BUNU ÇOĞALTIPTA
s1.Cells(i, 2).Value DEĞERİ İÇERİSİNDEN
>DTPICKER11.VALUE - DEN KÜÇÜK OLANLARI
<DTPICKER12.VALUE - DEN BÜYÜK OLANLARI
TOPLAMASINI SAĞLAYABİLİR MİYİM.
İLGİNİZ İÇİN TEŞEKKÜR EDERİM.
Call BOS
Call TEMIZLE3
Sheets("ARAGCS").Select
Range("A3:I65000").ClearContents
Dim d As Double
Dim bs As Integer
Dim i As Long
Dim s1, s2, s3 As Worksheet
Set s1 = Sheets("İŞLEM")
Set s2 = Sheets("İŞLEM")
Set s3 = Sheets("ARAGCS")
For i = 3 To s1.Range("A65000").End(xlUp).Row
If s1.Cells(i, 1).Value = ComboBox27.Value Then
If WorksheetFunction.CountIf(s3.Range("B3:B65000"), s1.Cells(i, 2).Value) >= 1 Then
Else
Set bul = s2.Range("B1:B65000").Find(s1.Cells(i, 2).Value)
If Not bul Is Nothing Then
d = bul.Row
bs = s3.Range("A65000").End(xlUp).Row + 1
For H = 1 To 3
s3.Cells(bs, H).Value = s2.Cells(d, H).Value
Next
s3.Cells(bs, "F").Value = Round(WorksheetFunction.SumIf(s1.Range("B3:B65000"), s1.Cells(i, 2).Value, s1.Range("F3:F65000")), 2)
s3.Cells(bs, "G").Value = Round(WorksheetFunction.SumIf(s1.Range("B3:B65000"), s1.Cells(i, 2).Value, s1.Range("G3:G65000")), 2)
If s3.Cells(bs, "G").Value - s3.Cells(bs, "F").Value <> 0 Then
If s3.Cells(bs, "G").Value - s3.Cells(bs, "F").Value < 0 Then
s3.Cells(bs, "BA").Value = Round(s3.Cells(bs, "G").Value - s3.Cells(bs, "F").Value, 2)
s3.Cells(bs, "H").Value = Round(s3.Cells(bs, "BA").Value - s3.Cells(bs, "BA").Value - s3.Cells(bs, "BA").Value, 2)
s3.Select
Range("BA1:BA65536").ClearContents
Else
s3.Cells(bs, "I").Value = Round(s3.Cells(bs, "G").Value - s3.Cells(bs, "F").Value, 2)
End If
Else
End If
End If
End If
End If
Next
s3.Select
Range("A3:I65536").Select
Selection.Sort Key1:=Range("A3"), Order1:=xlAscending, Key2:=Range("D3") _
, Order2:=xlAscending, Key3:=Range("B3"), Order3:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal, DataOption2:=xlSortNormal, DataOption3:= _
xlSortNormal
ListBox1.RowSource = "ARAGCS!A3:I" & s3.Cells(65536, "A").End(xlUp).Row
Call BTOPLA
End Sub
MERHABA ARKADAŞLAR KODUM YUKARIDAKİ GİBİ.
TAM OLARAK İSTEDİĞİM ŞEY
KODUMDA TOPLAMA İŞLEMİ YAPILIYOR
s3.Cells(bs, "F").Value = Round(WorksheetFunction.SumIf(s1.Range("B3:B65000"), s1.Cells(i, 2).Value, s1.Range("F3:F65000")), 2)
BU "SUM" İŞLEMİNDEKİ "IF" DEĞERİM s1.Cells(i, 2).Value OLMAKTADIR. BUNU ÇOĞALTIPTA
s1.Cells(i, 2).Value DEĞERİ İÇERİSİNDEN
>DTPICKER11.VALUE - DEN KÜÇÜK OLANLARI
<DTPICKER12.VALUE - DEN BÜYÜK OLANLARI
TOPLAMASINI SAĞLAYABİLİR MİYİM.
İLGİNİZ İÇİN TEŞEKKÜR EDERİM.