Verileri bir sayfadan diğerine taşımak için hücre değeri ve tarih aralığına göre seçilecek VBA kodu


1

Programımın çalışması için uyarladığım VBA kodunu alma konusunda sorun yaşıyorum. İçinde anlamadığım ve nasıl düzelteceğimi bilmediğim şeyler var. Verileri bir "Satış" sayfasından bir Artisan Özet Sayfasına filtrelemeye çalışıyorum. İşte uyarlamaya çalıştığım şu anki VBA kodu ama hata almaya devam ediyorum Kod:

Sub Filter_Statement()

    On Error GoTo Filter_Statement_Error
    Dim ws As Worksheet
    Set ws = Sheet5

    Application.ScreenUpdating = False
    If ws.Range("D2").Value = "" Or ws.Range("E5").Value = "" Or ws.Range("H5").Value = "" Then
        MsgBox "Please fill in all of the needed information. Customer / Start Date / End Date"
    Exit Sub
    End If
    ws.Select
    ws.Range("ArtisanSummary").RemoveSubtotal
    Set area2 = Sheet4.Range("C2:K100000")

    area2.AdvancedFilter Action:=xlFilterCopy _
        , CriteriaRange:=ws.Range("R4:T5"), CopyToRange:=ws.Range("B10:E10"), _
        Unique:=False
    If ws.Range("B11").Value = "" Then
        MsgBox "No available data"
        Exit Sub
    End If
    Application.ScreenUpdating = True
    Groupit

    On Error GoTo 0
    Exit Sub

    Filter_Statement_Error:

    MsgBox "Error " & Err.Number & " (" & Err.Description & ") in procedure Filter_Statement of Module Filters"
End Sub

Neyi yanlış yaptığımdan emin değilim. Özet sayfasının fotoğrafı Girmek için veriye ihtiyacım olan sayfa Satış sayfasından tarih, quanity, kod ve birim fiyatı girmeye çalışıyorum. Zanaatkar koduyla D2'de seçiyorum ve sonra E5 ve H5'te 2 tarih var. Kodları Şubat ayındaki sadece bir ay ile çalıştırmayı denedim. Ama bu da işe yaramıyor. Ayrıca, veri çektiğim satış sayfasının bir kopyasını ekliyorum. Satış sayfam 4. Sayfam ve Esnaf Özeti, Satış sayfası bunu yapmak için 2013 excel kullandığım 5. Sayfaydı.


Dışında açıklama On Error GoTo Filter_Statement_Errorsatırı ve bize ne alıyoruz hata bildirmek ve ne hatta.
Kyle,

Aramış olabilirsiniz Groupit, ancak buna sahip olsanız da dahil etmemiş olabilirsiniz. Sen de istediğin Set ws = Sheet5yere sahipsin Set ws = Sheets("Sheet5").
Jonno

2
"Hata almaya devam ediyorum" dedin . Lütfen kesin hatayı gönderin.
CharlieRB,

1
“Programımın çalışması için uyarladım. İçinde anlamadığım ve nasıl düzelteceğimi bilmediğim şeyler var.” Bunlar hangileri? Kodunuzda hata ayıkladınız mı? İstenildiği gibi davranmayan çizgiler hangileridir?
Máté Juhász

Yorumlara bakmak için biraz zaman harcadım. 'Hata Üzerine Git To Filter_Statement_Error satırını yorumladım. Group it hattını kaldırdım. Sonra Kod Sonuçlarını Koştum: Çalışma Zamanı Hatası '1004': Object'_Worksheet'in Metodu 'Range' başarısız oldu. Ben hata ayıklama zaman çizgi wz.Range ("ArtisanCode"). Kaldırma Subtotal vurgulanır
Jen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.