[英]Excel 2007 Copy range values and paste to another range (Same Sheet) first empty row
[英]excel 2007 Copy the same range from multiple sheets and paste to current sheet
vba的新手,我到處都看過,嘗試了一些發布的宏並為我修改了它們,但沒有什么能完美完成,我對此感到沮喪。 我需要從多個工作表中復制一定范圍的值,並將這些范圍粘貼到一張工作表中。 第一張紙(總計)將具有宏(作為按鈕)。 在工作表1之后的每個工作表都代表一個雇員,因此每個工作表的名稱就是他們的名字。 隨着員工的來回,工作表的數量會不時變化。 我需要復制的范圍對於所有員工都是相同的(N5:V400)。 盡管包含該值的行的數量將因員工而異。 我還需要在每個工作表(單元格Q2)中復制員工的姓氏,並將其粘貼為總計表中每一行的開頭單元格。
因此,當宏運行時,每個員工表中的單元格Q2(Name)和范圍N5:V500中的任何值都將粘貼到總計表范圍A3:J5000中(有兩個標題行)。 該名稱需要粘貼到每個員工的每一行的第一個單元格中。
我確定這是一個簡單的代碼,但是我當然再沒有資格說。 感謝所有能提供幫助的人。
在這里,嘗試一下:
經過測試:
Option Explicit
Sub test()
Dim ws As Worksheet, wsTotals As Worksheet
Dim lrow As Long
Set wsTotals = ThisWorkbook.Sheets("Totals")
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Totals" Then
lrow = ws.Range("N" & Rows.Count).End(xlUp).Row
If lrow > 4 Then
ws.Range("N5:V" & lrow).Copy wsTotals.Range("B" & Rows.Count).End(xlUp).Offset(1, 0)
ws.Range("Q2").Copy wsTotals.Range(wsTotals.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Address, _
wsTotals.Range("A" & Rows.Count).End(xlUp).Offset(lrow - 4, 0).Address)
End If
End If
Next ws
End Sub
這應該做。
希望這對您有用。
它正在工作,但是沒有時間做很多測試。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.