- Katılım
- 1 Mart 2005
- Mesajlar
- 22,239
- Excel Vers. ve Dili
- Win7 Home Basic TR 64 Bit
Ofis-2010-TR 32 Bit
Merhaba.
Aşağıdaki kodlarla A sütununda 65536 satırı geçen verilerim var.
Kullandığım yöntemle verileri almak istiyorum,ama dizide boyut yerlerini değiştirdiğimde transpose 65536 satırı geçemediği için hata veriyor.
Verilerim 65568 benzesiz dir.
örnek dosyayı yüklüyorum.Bunu nasıl aşmalıyım.Ado kullanmadan bu yöntemle çözmek istiyorum.
DOSYAYI İNDİR
Aşağıdaki kodlarla A sütununda 65536 satırı geçen verilerim var.
Kullandığım yöntemle verileri almak istiyorum,ama dizide boyut yerlerini değiştirdiğimde transpose 65536 satırı geçemediği için hata veriyor.
Verilerim 65568 benzesiz dir.
örnek dosyayı yüklüyorum.Bunu nasıl aşmalıyım.Ado kullanmadan bu yöntemle çözmek istiyorum.
DOSYAYI İNDİR
Kod:
Option Base 1
Sub transpose59()
Dim myarr(), z As Object, i As Long, n As Long, j As Long
Range("G:I").Clear
j = 65568
ReDim myarr(1 To 3, 1 To j)
Set z = CreateObject("Scripting.dictionary")
For i = 1 To 65568
If Not z.exists(Cells(i, "A").Value) Then
n = n + 1
z.Add Cells(i, "A").Value, n
myarr(1, n) = Cells(i, "A").Value
End If
myarr(2, z.Item(Cells(i, "A").Value)) = Cells(i, "B").Value
myarr(3, z.Item(Cells(i, "A").Value)) = Cells(i, "C").Value
Next i
ReDim Preserve myarr(1 To 3, 1 To n)
Range("G1").Resize(n, 3) = Application.Transpose(myarr)
End Sub
