- Katılım
- 26 Ocak 2007
- Mesajlar
- 4,625
- Excel Vers. ve Dili
- Ofis 2016
- Altın Üyelik Bitiş Tarihi
- 20-02-2025
DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
Altın Üyelik Hakkında Bilgi
Option Explicit
Sub Analiz()
Dim S1 As Worksheet, S2 As Worksheet, Dizi As Object, Say As Long, Fiyat As Double
Dim Magaza As String, Son As Long, Veri As Variant, X As Long, Zaman As Double
Zaman = Timer
Set S1 = Sheets("MAGAZA")
Set S2 = Sheets("LISTE")
Set Dizi = CreateObject("Scripting.Dictionary")
S2.Range("A4:C" & S2.Rows.Count).Clear
Magaza = S2.Range("B1").Value
Son = S1.Cells(S1.Rows.Count, 1).End(3).Row
Veri = S1.Range("A2:C" & Son).Value2
ReDim Liste(1 To UBound(Veri), 1 To 3)
For X = LBound(Veri) To UBound(Veri)
If Veri(X, 1) = Magaza Then
If Not Dizi.Exists(Veri(X, 2)) Then
Say = Say + 1
Dizi.Add Veri(X, 2), Say
Liste(Say, 1) = Veri(X, 2)
Liste(Say, 2) = Veri(X, 3)
Else
If Liste(Dizi.Item(Veri(X, 2)), 2) > Veri(X, 3) Then
Fiyat = Liste(Dizi.Item(Veri(X, 2)), 2)
Liste(Dizi.Item(Veri(X, 2)), 2) = Veri(X, 3)
Liste(Dizi.Item(Veri(X, 2)), 3) = Fiyat
Else
Liste(Dizi.Item(Veri(X, 2)), 3) = Veri(X, 3)
End If
End If
End If
Next
If Say > 0 Then S2.Range("A4").Resize(Say, 3) = Liste
Set S1 = Nothing
Set S2 = Nothing
Set Dizi = Nothing
MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & Chr(10) & _
"İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation
End Sub
Üstad çok teşekkür ediyorum. emeğinize sağlık, sağlıcakla kalınEkli dosyanız.
Üstad çok teşekkür ediyorum. emeğinize sağlık, sağlıcakla kalınAlternatif;
C++:Option Explicit Sub Analiz() Dim S1 As Worksheet, S2 As Worksheet, Dizi As Object, Say As Long, Fiyat As Double Dim Magaza As String, Son As Long, Veri As Variant, X As Long, Zaman As Double Zaman = Timer Set S1 = Sheets("MAGAZA") Set S2 = Sheets("LISTE") Set Dizi = CreateObject("Scripting.Dictionary") S2.Range("A4:C" & S2.Rows.Count).Clear Magaza = S2.Range("B1").Value Son = S1.Cells(S1.Rows.Count, 1).End(3).Row Veri = S1.Range("A2:C" & Son).Value2 ReDim Liste(1 To UBound(Veri), 1 To 3) For X = LBound(Veri) To UBound(Veri) If Veri(X, 1) = Magaza Then If Not Dizi.Exists(Veri(X, 2)) Then Say = Say + 1 Dizi.Add Veri(X, 2), Say Liste(Say, 1) = Veri(X, 2) Liste(Say, 2) = Veri(X, 3) Else If Liste(Dizi.Item(Veri(X, 2)), 2) > Veri(X, 3) Then Fiyat = Liste(Dizi.Item(Veri(X, 2)), 2) Liste(Dizi.Item(Veri(X, 2)), 2) = Veri(X, 3) Liste(Dizi.Item(Veri(X, 2)), 3) = Fiyat Else Liste(Dizi.Item(Veri(X, 2)), 3) = Veri(X, 3) End If End If End If Next If Say > 0 Then S2.Range("A4").Resize(Say, 3) = Liste Set S1 = Nothing Set S2 = Nothing Set Dizi = Nothing MsgBox "İşleminiz tamamlanmıştır." & Chr(10) & Chr(10) & _ "İşlem süresi ; " & Format(Timer - Zaman, "0.00") & " Saniye", vbInformation End Sub