2016-03-24 188 views
0

我有兩個數據表,一個表包含lower ends of ranges(例如A1,B2 C3,E7,F1,G18和I1),另一個表包含information modules查找範圍和返回範圍值到不同的表

現在我正在嘗試使用VBA取較低的範圍值,根據範圍末尾處的空單元格在信息模塊表中找到較高範圍值,將這兩個值組合到一個範圍(例如A1 :A1,B2:B2,C3:C3,E7:E11,F1:F8,G18:G26和I1:I10)和副本的所有範圍值向下塔A在第三片材:

HEADER1 

SUBHEADER2 

DEVHEADER3 

FEESUB2 

FEESUB2 

FEESUB2 

FEESUB2 

FEESUB2 

ABC Services1 

• ABC1 

• ABC2 

• ABC3 

• ABC4 

• ABC5 

• ABC6 

• ABC7 

CDF Services3 

• ABC1 

• ABC2 

• ABC3 

• ABC4 

• ABC5 

• ABC6 

• ABC7 

• ABC8 

Additional Services and Fees1 

TEST2 

TEST2 

TEST2 

TEST2 
TEST2 

TEST2 

TEST2 

TEST2 

TEST2 

TEST2 

TEST2 
+2

歡迎來到SO!這很好,你正嘗試使用VBA ... *。不知道你對網站的期望是什麼,但是我們沒有太多可以做的,因爲你沒有1)提出問題2)提供你已經嘗試過的任何代碼。請閱讀[如何問](http://stackoverflow.com/help/how-to-ask)並回來一個特定的問題。 –

+0

謝謝@ScottHoltzman。對不起,當我按任務描述時,我完全沒有注意到我的問題。 –

+0

我的問題不在於特定的代碼片段,而是如何解決這樣的問題。我試圖編寫一段代碼來確定信息模塊中每個範圍的上限,但由於範圍值與模塊表不同,因此範圍值已經失敗。我花了很多時間搜索類似的問題,但找不到類似的東西。 –

回答

0

假設範圍開始在Sheet1中列出A2:A8表示Sheet2中的頂部單元格,其中包含所需的信息,每個單元格中有一行或多行,則以下代碼將收集這些列表並將它們放入Sheet3的A列中。

Option Explicit 

Sub GetInfo() 
Dim rngStart As Range 
Dim rngInfo As Range 
Dim Acell As Range 
    Sheets(3).Activate 
    For Each rngStart In Sheets(1).Range("A2:A8") 
    With Sheets(2) 
     Set rngInfo = .Range(rngStart.Value) 
     If Not IsEmpty(rngInfo.Offset(1, 0)) Then 
     Set rngInfo = Range(rngInfo, rngInfo.End(xlDown)) 
     End If 
     For Each Acell In rngInfo 
     Sheets(3).Cells(Sheets(3).UsedRange.Rows.Count + 1, 1).Formula = Acell.Value 
     Next Acell 
    End With 
    Next rngStart 
End Sub