簡體   English   中英

復制單元格范圍,包括邊框格式x次數

[英]Copy range of cells including border formatting x number of times

我有一張紙,其中包含帶有邊框的信息行。 我的信息在sheet2的第1至3行中。 我想制作一個宏來將該信息復制到sheet3上,然后將其粘貼到sheet3上的row1中,然后粘貼到sheet3上的row4中,然后粘貼到sheet2上的row8中,然后在工作表的下方進行同樣的操作,並一遍又一遍地復制它,直到獲得我在sheet1的單元格C5中指定的正確份數。 因此,如果我在sheet1的單元格C5中有x ,我希望能夠將包括寄宿生在內的信息行粘貼到sheet3上x次。 我對VBA有基本的了解,並且看過其他示例,但無法弄清楚如何做到這一點並保留邊界。

我希望這是一個有意義的解釋。 這可能嗎?

謝謝格雷格

嘗試這個

筆記:

  • 更改工作表2上的復印區域:FIRST_ROW,FIRST_COL,TOTAL_ROWS和TOTAL_COLS

  • 單元格C5預計將在工作表1上

  • 每次您運行此宏時,工作表3將被刪除

  • 很難使它簡短些,但是如果有興趣我可以提供詳細信息


Option Explicit

Public Sub copyRange()
    Const FIRST_ROW As Long = 1:    Const TOTAL_ROWS As Long = 3
    Const FIRST_COL As Long = 1:    Const TOTAL_COLS As Long = 3

    Dim totalCopies As Long, i As Long, sh As Worksheet

    Application.ScreenUpdating = False

    Sheets("Sheet3").Cells.Delete
    totalCopies = Sheets("Sheet1").Range("C5").Value2

    With Sheets("Sheet2")           'COPY
        .Range( _
                    .Cells(FIRST_ROW, FIRST_COL), _
                    .Cells(FIRST_ROW + TOTAL_ROWS - 1, TOTAL_COLS) _
        ).Copy
    End With

    For i = 1 To totalCopies        'PASTE * value in C5
        Sheets("Sheet3").Cells(((TOTAL_ROWS + 1) * (i - 1)) + 1, FIRST_COL).PasteSpecial
    Next

    With Application
        .CutCopyMode = False
        .ScreenUpdating = True
    End With
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM