İpucu: Digər dillər Google-tərcümə olunur. Sizi ziyarət edə bilərsiniz English bu linkin versiyası.
Daxil ol
x
or
x
x
Qeydiyyatdan
x

or

Satırları kopyalamaq və Excel-də tarixə əsasən başqa bir hesabata yapışdırmaq üçün necə?

Şübhəsiz ki, bir sıra məlumatım var, indi, müəyyən bir tarixə əsaslanan bütün satırları kopyalamaq və daha sonra onları başqa bir hesabata yapışdırmaq istəyirəm. Excel-də bu işlə məşğul olmaq üçün yaxşı fikirləriniz varmı?

Satırları kopyalayın və bugünkü tarixə əsasən başqa bir hesabata yapışdırın

Tarix bu gündən böyük olsa satırları kopyalayıb və başqa bir hesabata yapışdırın


Satırları kopyalayın və bugünkü tarixə əsasən başqa bir hesabata yapışdırın


Tarixi bu gün varsa satırları kopyalamaq lazımdırsa, aşağıdakı VBA kodunu tətbiq edin:

1. Basıb saxlayın ALT + F11 düymələri açmaq üçün Proqramlar üçün Microsoft Visual Basic pəncərə.

2. Basın Taxmaq > Modulesvə Modul Pəncərəsində aşağıdakı kodu yapışdırın.

VBA kodu: Bu günün tarixinə əsasən kopyala və yapışdırın:

Sub CopyRow()
'Updateby Extendoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal = Date) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

3. Yuxarıdakı kodu bağladıktan sonra, basın F5 bu kodu çalıştırmak üçün bir tuşa basın ve satır kopyalamak istediğiniz tarixi sütununun seçilmesini hatırlatmak üçün bir istek kutusu açılır, ekran görüntüsüne baxın:

4. Sonra basın OK düyməsini, başqa bir əmr qutusuna, nəticəni çıxmaq istədiyiniz başqa bir hesabatdakı bir hüceyrəni seçin, ekran görüntüsünə baxın:

5. Və sonra basın OK düyməsini basdır, indi bu günün satırları bir anda yeni səhifəyə yapışdırılır, ekran bax:


Tarix bu gündən böyük olsa satırları kopyalayıb və başqa bir hesabata yapışdırın

Günün bu günündən böyük və ya bərabər olan satırları kopyalamaq və yapışdırmaq üçün, məsələn, tarix bu gündən bu yana 5 günə bərabər və ya daha böyükdürsə, satırları başqa bir formana kopyalayıb yapışdırın.

Aşağıdakı VBA kodu sizə bir xeyir verə bilər:

1. Basıb saxlayın ALT + F11 düymələri açmaq üçün Proqramlar üçün Microsoft Visual Basic pəncərə.

2. Basın Taxmaq > Modulesvə Modul Pəncərəsində aşağıdakı kodu yapışdırın.

VBA kodu: Tarix bu gündən böyük olduqda kopyala və yapışdırın:

Sub CopyRow()
'Updateby Extentoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

Qeyd: Yuxarıda göstərilən kodda, bu günündən az və ya lazım olduğunuz günlərin sayı kimi meyarları dəyişə bilərsiniz Əgər TypeName (xVal) = "Tarix" və (xVal <> "") Və (xVal> = Tarix Və (xVal <Tarix + 5)) Sonra script kodu.

3. Sonra basın F5 bu kodun istifadəsi üçün açar düyməsini daxil edin, istifadə etmək istədiyiniz məlumat sütununu seçin, ekran görüntüsünə baxın:

4. Sonra basın OK düyməsini, başqa bir əmr qutusuna, nəticəni çıxmaq istədiyiniz başqa bir hesabatdakı bir hüceyrəni seçin, ekran görüntüsünə baxın:

5. Tıklayınız OK düyməsini basdırın, indi bu günün 5 günündən bərabər və ya daha yüksək olan satırlar aşağıdakı ekran görüntüsü kimi yeni nüsxəyə kopyalanıb yapıştırılır:



Təklif olunan Məhsuldarlıq Vasitələri

Office Tab

qızıl star1 Chrome, Firefox və yeni Internet Explorer kimi Excel və digər Office proqramlarına lazımlı sekmeleri gətirin.

Excel üçün Kutools

qızıl star1 Amazing! 5 dəqiqədə məhsuldarlığınızı artırın. Heç bir xüsusi bacarıqa ehtiyac yoxdur, hər gün iki saat saxlaya bilərsiniz!

qızıl star1 300 Excel üçün yeni funksiyalar, Excel çox asan və güclü olun:

  • Veriyi ləğv etmədən Cell / Satır / Sütunları birləşdirin.
  • Bir neçə Çarşaf və İş Kitabını birləşdirin və birləşdirin.
  • Çaprazları müqayisə edin, birdən çox aralığa kopyalayın, mətni tarixə, vahidə və valyuta çevrilməsinə çevirin.
  • Rənglər, Paging Subtotals, Advanced Sort və Super Filter tərəfindən sayılan,
  • Daha çox seçin / Insert / Sil / Mətn / Biçim / Bağlantı / Yorum / Çalışma kitabları / Çalışma Qurğuları Tools ...

Excel üçün Kutools-un ekranı

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sarah B · 5 months ago
    Is it possible to do this for an entire workbook if the date is always in the same column on each? If so, what would the VBA code be, or which bit would I change?