Çözüldü Range("a2:a3","c2:c3","d2:d3") sorun

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Haluk hocam alternatif 1 de vermiş.
Görmedim.
 
Katılım
5 Kasım 2006
Mesajlar
572
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Hız için böyle yapın.
Ekli dosyayı deneyin.:cool:

DOSYA İNDİR

Kod:
Private Sub UserForm_Initialize()
Dim aa(), son As Long
son = 4
ListBox1.ColumnCount = 6
ListBox1.ColumnWidths = "50;0;50;0;50"
ListBox1.RowSource = "A2:E4"
End Sub
Sağolun ben mantıken böyle istemiyorum hocam.Ziynettin üstadın kodundaki aa yı öyle dizi içine almak sadece istediğim :)
Yani tek derdim bu.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
En iyi ve en hızlı yöntem rowsource dir.Bu yöntemle verileri alırsanız hücredeki formatıda aynen alırsınız.
Dizi yöntemde ise verileri alırken tek tek formatlamanız lazım.Buda sayısal ve tarihleri metin olarak alır ve sayfaya aktarırkende metin olarak aktarır.
 
Katılım
5 Kasım 2006
Mesajlar
572
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
En iyi ve en hızlı yöntem rowsource dir.Bu yöntemle verileri alırsanız hücredeki formatıda aynen alırsınız.
Dizi yöntemde ise verileri alırken tek tek formatlamanız lazım.Buda sayısal ve tarihleri metin olarak alır ve sayfaya aktarırkende metin olarak aktarır.
Rowsource ile alına dediğiniz gibi.Fakat ben dizi içinde felan arama yapacağım.Rowsourcede yardımcı sütun felan işi gerekiyor yada sütun filtreleme felan.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Rowsource ile alına dediğiniz gibi.Fakat ben dizi içinde felan arama yapacağım.Rowsourcede yardımcı sütun felan işi gerekiyor yada sütun filtreleme felan.
Verilerinizi sayfaya kaydederken birde ID sütunu yapın.Buraya her kayıtta benzersiz bir sayı girin.Sonrada o ide göre find komutu ile verilerinizi çağırıp textboxlara getireebilir ve düzenleme ve silme işlerini rahatlıkla yaparsınız.Mesela ben öyle yapıyorum.Bu işi bilenlerde bu konuyu böyle yapıyorlar.
 
Katılım
5 Kasım 2006
Mesajlar
572
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
ReDim arr(1 To son - 1, 1 To UBound(aa) + 1)
Sağolun tam istediğim gibi olmuş.
Sadece birde alttaki gibi formattada yapabilirmisiniz.Yani tek döngü ile.

For i = 1 To son - 1
arr(i, 1) = aa(i, 1)
arr(i, 2) = aa(i, 2)
arr(i, 3) = aa(i, 3)
Next i
 

Ziynettin

Destek Ekibi
Destek Ekibi
Katılım
18 Nisan 2008
Mesajlar
1,104
Excel Vers. ve Dili
office2010

For i = 1 To son - 1
arr(i, 1) = aa(0)(i, 1)
arr(i, 2) = aa(1)(i, 1)
arr(i, 3) = aa(2)(i, 1)
Next i
 
Katılım
5 Kasım 2006
Mesajlar
572
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit

For i = 1 To son - 1
arr(i, 1) = aa(0)(i, 1)
arr(i, 2) = aa(1)(i, 1)
arr(i, 3) = aa(2)(i, 1)
Next i
işte bu (y)(y):geek::geek::geek:
Kodu ekleyeyim son halini.
Tekrardan herkese teşekürler.

PHP:
Private Sub CommandButton1_Click()

Dim aa(), arr()
son = Range("A" & Rows.Count).End(3).Row
aa = Array(Range("A2:A" & son).Value, Range("C2:C" & son).Value, Range("D2:D" & son).Value)
ListBox1.ColumnCount = UBound(aa) + 1
ListBox1.Clear
ReDim arr(1 To son - 1, 1 To UBound(aa) + 1)
    For i = 1 To son - 1
        arr(i, 1) = aa(0)(i, 1)
        arr(i, 2) = aa(1)(i, 1)
        arr(i, 3) = aa(2)(i, 1)
    Next i
ListBox1.List = arr

End Sub
 

Haluk

𐱅𐰇𐰼𐰚
Katılım
7 Temmuz 2004
Mesajlar
12,291
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Özel kişi
Döngü kullanmadan A, C ve E sütunlarındaki verileri önce diziye, oradan da ListBox nesnesine yüklemek için alternatif kod;

Kod:
Private Sub CommandButton1_Click()
    Dim myArr()
    myFile = ThisWorkbook.FullName
    ListBox1.ColumnCount = 3
    ListBox1.ColumnWidths = "60;60;60"
    ListBox1.Clear
   
    Set objConnection = CreateObject("ADODB.Connection")
   
    strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                    "Data Source='" & ThisWorkbook.FullName & "';" & _
                    "Extended Properties=""Excel 12.0 Macro;HDR=No"""
   
    strQuery = "Select F1, F3, F5 from [Sheet1$]"
    objConnection.Open strConnection
    Set RS = objConnection.Execute(strQuery)
   
    myArr = RS.GetRows
    ListBox1.List = Application.Transpose(myArr)
   
    Erase myArr
    Set RS = Nothing
    Set objConnection = Nothing
End Sub
.
 
Katılım
5 Kasım 2006
Mesajlar
572
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Güzel kod eklemişsiniz.
Bu Ado'yu sevemedim gitti yoksa çok pratik.
Sevmediğim tarafı adonun bazen hücre dolu olsa bile boş getiriyor listboxa felan bu dosya için demiyorum.
 
Katılım
5 Kasım 2006
Mesajlar
572
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Döngü kullanmadan A, C ve E sütunlarındaki verileri önce diziye, oradan da ListBox nesnesine yüklemek için alternatif kod;

Kod:
Private Sub CommandButton1_Click()
    Dim myArr()
    myFile = ThisWorkbook.FullName
    ListBox1.ColumnCount = 3
    ListBox1.ColumnWidths = "60;60;60"
    ListBox1.Clear
  
    Set objConnection = CreateObject("ADODB.Connection")
  
    strConnection = "Provider=Microsoft.ACE.OLEDB.12.0;" & _
                    "Data Source='" & ThisWorkbook.FullName & "';" & _
                    "Extended Properties=""Excel 12.0 Macro;HDR=No"""
  
    strQuery = "Select F1, F3, F5 from [Sheet1$]"
    objConnection.Open strConnection
    Set RS = objConnection.Execute(strQuery)
  
    myArr = RS.GetRows
    ListBox1.List = Application.Transpose(myArr)
  
    Erase myArr
    Set RS = Nothing
    Set objConnection = Nothing
End Sub
.
Transpose kullanılmış.Acaba şu 65536lık satır olayı gibi sorun olurmu.Daha önce başka konu altında yazışmıştık.Transpose görünce hep aklıma bu geliyor :)
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,461
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
"Transpose" sorun yaratırsa aşağıdaki satırları silip kırmızı renkli satırı kullanabilirsiniz.

Kod:
    myArr = Rs.getrows
    ListBox1.List = Application.Transpose(myArr)

ListBox1.Column = Rs.GetRows
 
Katılım
5 Kasım 2006
Mesajlar
572
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit


Ado ile dizi farkı giflerde.Ziynettin hoca ve haluk hocamızın kodlarını 100 bin satırda denedim.Ado ile
 
Katılım
5 Kasım 2006
Mesajlar
572
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Alttakidedizi ile ziynettin hocamızın
 
Üst