2015-01-09 48 views
0

因此,我正在研究一個更大的項目,並且我已經打了一堵牆。現在我有一個項目列表,我需要做的是從一張紙上覆制它們並粘貼到另一張,但它需要有一個偏移量。基於動態編號的複製單元格

http://i.imgur.com/C8RLvSF.jpg

所以我需要發生的是,代碼看起來在reglatory名稱和它匹配到另一個工作表。然後在該表中,它具有要在密鑰下傳遞的值。我可以複製這些值並將其循環爲x次,但是如何獲得循環數以匹配數據集中的特定字段?

第二件事是,一旦網絡單元名稱和法定名稱被複制並排序,我該如何複製國家/地區字段代碼的密鑰?我可以將該表的值命名爲變量嗎?

Sub Main() 
Dim LastRow As Long 
Dim LR As Long 
Dim I as long 
LastRow = Sheet1.Cells.Find(What:="*", LookIn:=xlValues, SearchDirection:=xlPrevious, SearchOrder:=xlByRows).Row 

For I= 1 to 'Dynamic range from key count' 
    Sheet8.Range(Cells(2, 1), Cells(LastRow, 3)).Copy Destination:=Sheet1.Range("ALR:CLR" & LastRow) 
    LR=Range("B" & Rows.Count).End(xlUp).Value 
Next I 
'autosort sub' 

End Sub 

任何幫助沖洗這一點將不勝感激。

+0

So..you想要的細胞與「國家,場,...,井數」超過範圍複製到'Key'領域的另一片各單位名稱?發現它很難遵循。你能提供一個例子嗎?我不知道'Sheet1'和'Sheet8'是在你的圖片等等中。 – 2015-01-09 21:42:38

回答

0
Set rngSource = Worksheets("Data We Pull From").Range("A2:A12") 
Set rngTarget = Worksheets("Finished Product").Range("A2") 
Set rngList = Worksheets("How Much We Need to Offset By").Range("A1:A12") 

For Each tmpCell In rngSource 
    rngTarget.Resize(12, 3).Value = tmpCell.Resize(1, 3).Value 
    rngTarget.Offset(, 3).Resize(12).Value = rngList.Value 
    Set rngTarget = rngTarget.Offset(12) 
Next tmpCell 
0

我不能真正抄錄你的代碼到一個工作樣本,因爲太多已被刪除,但我相信我明白你在問什麼。這裏有一些抽象的例子。

使用Sheet1中從K5開始的字段列表,這會將值存儲到數組中。

Dim vFLDs As Variant 
With Sheet1 
    vFLDs = .Range(.Range("K5"), .Range("K5").End(xlDown)) 
End With 

您不必環路reglatory名的副本(藻?)的數據,簡單地擴大內vFLDs的目的地的行數。

Sheet8.Range(Cells(2, 1), Cells(LastRow, 3)).Copy _ 
    Destination:=Sheet1.Range("ALR:CLR" & LastRow).Resize(UBound(vFLDs), 1) 

最後,將vFLDs中的值傳輸到最後一列。

Sheet1.Range(<the next empty column> & LastRow).Resize(UBound(vFLDs), 1) = vFLDs 
相關問題