Dinamik Şekilde Array Kullanımı

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Dosyayi Ekledim acaba bir baka bilirmisiniz, listeye verileri bir turlu ekletemedim
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Liste sayfasında görünenden fazla veri var. Bu veriler kalacaksa son değerini yeniden tanımlamak gerekir. Örneğin A222471 hücresi.
 

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Tamamdir tesekkurler su sekilde cozuldu, assagiya ekliyorum.

sat = s2.Cells(Rows.Count, "A").End(3).Row + 1

If say > 0 Then

say = say
s2.Range("A" & sat).Resize(say, 11) = liste ' Not buranin son bos hucreye tanimlanmasi lazim sanirim ama yapamadim
s2.Range("D" & sat).Resize(say, 2).Style = "Comma"
End If
 

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Merhabalar bu konu ile ilgili ek birseyler lazim oldu ama 2 sayfadan veri alarak bilgi cekemedim ornek dosyami ilisikde gonderiyorum, lutfen yardim edebilirmisiniz, Simdiden cok tesekkurler.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Miktar_Getir()
    Dim Son As Long
    
    With Sheets("Rapor")
        .Range("G5:G" & .Rows.Count).ClearContents
        Son = .Cells(.Rows.Count, 1).End(3).Row
        With .Range("G5:G" & Son)
            .Formula = "=IFERROR(INDEX('Mal'!F:F,MATCH(B5,'Mal'!N:N,0)),"""")"
            .Value = .Value
        End With
    End With

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Deneyiniz.

C++:
Option Explicit

Sub Miktar_Getir()
    Dim Son As Long
   
    With Sheets("Rapor")
        .Range("G5:G" & .Rows.Count).ClearContents
        Son = .Cells(.Rows.Count, 1).End(3).Row
        With .Range("G5:G" & Son)
            .Formula = "=IFERROR(INDEX('Mal'!F:F,MATCH(B5,'Mal'!N:N,0)),"""")"
            .Value = .Value
        End With
    End With

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Hocam cok tesekkurler emeginize saglik, calisiyor,

Saygilar,
 

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Deneyiniz.

C++:
Option Explicit

Sub Miktar_Getir()
    Dim Son As Long
  
    With Sheets("Rapor")
        .Range("G5:G" & .Rows.Count).ClearContents
        Son = .Cells(.Rows.Count, 1).End(3).Row
        With .Range("G5:G" & Son)
            .Formula = "=IFERROR(INDEX('Mal'!F:F,MATCH(B5,'Mal'!N:N,0)),"""")"
            .Value = .Value
        End With
    End With

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Koray Hocam bu formulde formula satirina 2 ci bir kosul ekleye bilirmiyiz, Mal satirinda B sutununda "Satis" olanlari ise seklinde Rica etsem.

Saygilarimla,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Deneyiniz.

C++:
Option Explicit

Sub Miktar_Getir()
    Dim Son As Long, Formul As String
  
    With Sheets("Rapor")
        .Range("G5:G" & .Rows.Count).ClearContents
        Son = .Cells(.Rows.Count, 1).End(3).Row
        Formul = "=IFERROR(INDEX('Mal'!F$2:F$1048576,MATCH(B5&""Satis"",'Mal'!N$2:N$1048576&'Mal'!B$2:B$1048576,0)),"""")"
        Formul = Replace(Formul, 1048576, Sheets("Mal").Cells(Rows.Count, 1).End(3).Row)
        .Range("G5").FormulaArray = Formul
        With .Range("G5:G" & Son)
            .FillDown
             Calculate
            .Value = .Value
        End With
    End With

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Deneyiniz.

C++:
Option Explicit

Sub Miktar_Getir()
    Dim Son As Long, Formul As String
 
    With Sheets("Rapor")
        .Range("G5:G" & .Rows.Count).ClearContents
        Son = .Cells(.Rows.Count, 1).End(3).Row
        Formul = "=IFERROR(INDEX('Mal'!F$2:F$1048576,MATCH(B5&""Satis"",'Mal'!N$2:N$1048576&'Mal'!B$2:B$1048576,0)),"""")"
        Formul = Replace(Formul, 1048576, Sheets("Mal").Cells(Rows.Count, 1).End(3).Row)
        .Range("G5").FormulaArray = Formul
        With .Range("G5:G" & Son)
            .FillDown
             Calculate
            .Value = .Value
        End With
    End With

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Hocam Mal bolumunde ilk girilen kaydi getiriyor sanirim! ama ayni anlasma numarasina ait 2-3 yada daha fazla "Satis"yada "Alis" olabilir toplamini getirmesi gerekiyor yani N sutununda ornegin (A-0012021-S) Anlasma numarali 3-5 adet satis var ise 50 ton 20 ton 40 ton gibi toplamini 110 tonu getire bilirmiyiz?
Saygilarimla,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben talebinizi yanlış anlamışım.

Deneyiniz.

C++:
Option Explicit

Sub Miktar_Getir()
    Dim Son As Long
  
    With Sheets("Rapor")
        .Range("G5:G" & .Rows.Count).ClearContents
        Son = .Cells(.Rows.Count, 1).End(3).Row
        With .Range("G5:G" & Son)
            .Formula = "=SUMIFS('Mal'!F:F,'Mal'!B:B,""Satis"",'Mal'!N:N,B5)"
            .Value = .Value
        End With
    End With

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Ben talebinizi yanlış anlamışım.

Deneyiniz.

C++:
Option Explicit

Sub Miktar_Getir()
    Dim Son As Long
 
    With Sheets("Rapor")
        .Range("G5:G" & .Rows.Count).ClearContents
        Son = .Cells(.Rows.Count, 1).End(3).Row
        With .Range("G5:G" & Son)
            .Formula = "=SUMIFS('Mal'!F:F,'Mal'!B:B,""Satis"",'Mal'!N:N,B5)"
            .Value = .Value
        End With
    End With

    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
Koray Hocam nedesem bilemedim, bu saate sorunumla ilgilendiniz, Cok Tesekkur ediyorum elinize zihninize saglik, Iyi geceler,

Saygilarimla,
 

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Merhabalar Hocam, Assagidaki sekilde makro calismam var, Combobox la veri sayfamdan listemi getiriyorum lakin, soyle sorunlar oluyor comboboxda gelen veriyi tikladigim zaman tikladigim veriyi B6 hucresine bu sekilde atiyor, ama her veri ekledigim de acilir lisdede listenin altina tikladigim veriyi ekliyor, onu engellemek icin ComboBox2.Clear yapiyom ozaman da liste ye veriyi duzgun getiriyor ama B6 hucresinide siliyor, bunu nasil duzelte bilirim cozemedim, lutfen yardim edebilirmisiniz,

Saygilarimla,


Private Sub ComboBox2_Click()
Dim s1 As Worksheet
Dim sonsatir As Long
Dim arananhece As String
Set s1 = Sheets("CardEntry")

arananhece = ComboBox2.Value
ComboBox2.Visible = True ': ComboBox2.Clear 'not temizlemeyi aktif edersem D6 hucresinide siliyor etmezsem liste cogaliyor
sonsatir = s1.Cells(s1.Rows.Count, 4).End(3).Row
ComboBox2.Visible = True

For satir = 2 To sonsatir
On Error Resume Next
Var = 0
Data = Worksheets("CardEntry").Range("D" & satir)

Var = WorksheetFunction.Search(arananhece, Data, 1)
If Var > 0 Then
ComboBox2.AddItem Data


End If

Next satir


Range("D6") = ComboBox2
[D6].Active


End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Lütfen örnek dosya üzerinden sorunuzu tarif ediniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
"Hesap" sayfasında A sütunundaki verilerin tekrar (mükerrer) etme durumu var mı? Eklediğiniz dosyada böyle bir durum görünmüyor.
 

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
"Hesap" sayfasında A sütunundaki verilerin tekrar (mükerrer) etme durumu var mı? Eklediğiniz dosyada böyle bir durum görünmüyor.
Yok hocam A sutunu mukerrer kayida izin vermemesi gerekiyor , A sutununda Alttaki listede ayni Anlasma numarasi varsa Bu kayit var giremesin diye ikaz verip Sub dan cikmasi lazim

Saygilarimla,
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,193
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben sorumu ilk sorunuz için sormuştum.
 

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Evet hocam veri sayfasinda mukerrer olmayacak. resimli sekilde de antlatmaya calistim ilisikte

Saygilarimla,
 

Ekli dosyalar

canburak

Altın Üye
Katılım
30 Kasım 2011
Mesajlar
205
Excel Vers. ve Dili
Ofis 2016 Tr 64 Bit , Turkce
Altın Üyelik Bitiş Tarihi
12-09-2025
Örnek dosyayı deneyiniz.
Hocam Cok guzel olmus elinize ama bir sorun var Box icine firma ismi yazamiyorum,bir harf yaziyorum cikiyor box un icinde 3-5 karekter yazamazmiyiz ve ordaki harflerin icinde oldugu firmalari acsin listesinde? ornegin "alic" yazdigimda acilan listede alic olanlar gelebilirmi?

Saygilarimla,
 
Üst