- Katılım
- 20 Eylül 2022
- Mesajlar
- 75
- Excel Vers. ve Dili
- 2021 TR
Arkadaşlar selam ,
Aşağıdaki kodu daha önceki sürümlerde sorunsuz kullanıyordum. Şimdi tekrar lazım hale geldi , kitaplıktan modül olarak eklemek istedim fakat başlıktaki satırda - Automation -hatası veriyor.
Sorun ne olabilir? mscorlib.dll de kitaplıkta ekli ama sorun aynı.
Aşağıdaki kodu daha önceki sürümlerde sorunsuz kullanıyordum. Şimdi tekrar lazım hale geldi , kitaplıktan modül olarak eklemek istedim fakat başlıktaki satırda - Automation -hatası veriyor.
Sorun ne olabilir? mscorlib.dll de kitaplıkta ekli ama sorun aynı.
Kod:
Sub aralık()
Dim a(), i As Long, myMonth As String, x As Object
a = Range("A1").CurrentRegion.Value2
With CreateObject("System.Collections.SortedList")
For i = 1 To UBound(a, 1)
myMonth = Format$(a(i, 1), "yyyy-mm")
If Not .Contains(myMonth) Then
Set .Item(myMonth) = _
CreateObject("System.Collections.SortedList")
End If
.Item(myMonth)(a(i, 2)) = a(i, 1)
Next
Set x = .Clone
End With
ReDim a(1 To x.Count, 1 To 5)
For i = 0 To x.Count - 1
a(i + 1, 1) = x.GetKey(i)
a(i + 1, 2) = CDate(x.GetByIndex(i).GetByIndex _
(x.GetByIndex(i).Count - 1))
a(i + 1, 3) = x.GetByIndex(i).GetKey(x.GetByIndex(i).Count - 1)
a(i + 1, 4) = CDate(x.GetByIndex(i).GetByIndex(0))
a(i + 1, 5) = x.GetByIndex(i).GetKey(0)
Next
With Range("g1")
.CurrentRegion.ClearContents
.Resize(, 5).Value = [{"Month","Max date","Max #","Min date","Min #"}]
.Offset(1).Resize(UBound(a, 1), 5).Value = a
End With
Set x = Nothing
End Sub
Son düzenleme: