• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Dinamik Şekilde Array Kullanımı

Dosyayi Ekledim acaba bir baka bilirmisiniz, listeye verileri bir turlu ekletemedim
 

Ekli dosyalar

Liste sayfasında görünenden fazla veri var. Bu veriler kalacaksa son değerini yeniden tanımlamak gerekir. Örneğin A222471 hücresi.
 
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
 
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

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
 
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,
 
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,
 
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
 
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,
 
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
 
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,
 
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
 
Lütfen örnek dosya üzerinden sorunuzu tarif ediniz.
 
"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.
 
"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,
 
Ben sorumu ilk sorunuz için sormuştum.
 
Evet hocam veri sayfasinda mukerrer olmayacak. resimli sekilde de antlatmaya calistim ilisikte

Saygilarimla,
 

Ekli dosyalar

  • ornek hata.jpg
    ornek hata.jpg
    389.1 KB · Görüntüleme: 3
  • ornek hata2.jpg
    ornek hata2.jpg
    459.8 KB · Görüntüleme: 3
Ö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,
 
Geri
Üst