[英]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.