2015-10-15 25 views
0

我想運行一個循環來按特定條件對文本進行分組並累計總計,但我需要能夠獲取這兩個數據位。我如何獲取多列中的字符串和相鄰數字

Connecticut  624 
Georgia   818 
Washington  10 
Arkansas  60 
New Jersey  118 
Ohio   2,797 

的選擇將是類似的東西,我希望用戶能夠凸顯兩列,我會按位置貫穿和國家集團,並添加總計

edit--

到目前爲止,我已經能夠做的就是抓住用戶選擇的範圍是什麼:

Sub Short() 
    Dim rngMyRange As Range 

    If TypeName(Selection) = "Range" Then 
     Set rngMyRange = Selection 
    Else 
     Exit Sub  'Non-range type selection e.g. a chart 
    End If 

    MsgBox "The address of rngMyRange is " & rngMyRange.Address(False, False) 



End Sub 

我在檢查國THEI另一個工作表的公式R組,但它是在一個時間

=IF(AND(D9="", B9="USA"),"",IF(B9="USA",IF(COUNTIF(Legends!$B$4:$B$13,D9)>0,"US Group 1",IF(COUNTIF(Legends!$F$4:$F$15,D9)>0,"US Group 3","US Group 2")),IF(COUNTIF(Legends!$H$4:$H$6,B9)>0,"Int'l Tier 1",IF(COUNTIF(Legends!$J$4:$J$15,B9)>0,"Int'l Tier 2","Int'l Tier 3")))) 
+0

你是什麼意思?「我希望用戶能夠突出顯示兩列,我將穿過並按位置分組狀態並添加總計」?我看不到明確的方向。畢竟,你應該先爲自己嘗試一下。如果您遇到編程方面的問題,您可以在此處詢問有關問題 – EngJon

+0

@EngJon每個州屬於一個特定組 - 我需要檢查該組是否屬於該組,然後爲每個組保留一個總計。即華盛頓和新澤西都在第1組,因此總數將是第1組 - 128.但狀態和總數的列表每次都是不同的,所以我希望能夠選擇列/行,然後做計算。這是否清除它? – Kevin

+0

看看像循環你的狀態名稱,然後使用'.offset(0,1)'獲得它旁邊的值並做任何你想做的事情。如果你可以用你已經試過的代碼更新你的文章,我們可以看看它 – Tom

回答

1

一個小區通過在你的範圍內每個單元使用下面將循環迴路(選擇 - 確保你選擇只用它的名字列)

Sub Short() 
    Dim rngMyRange As Range 
    Dim ttl as integer 
    Dim c 

    If TypeName(Selection) = "Range" Then 
     Set rngMyRange = Selection 
    Else 
     Exit Sub  'Non-range type selection e.g. a chart 
    End If 

    for each c in rngMyRange 
     ttl = ttl + c.offset(0,1) 
    next c 
End Sub 

您需要根據您的條件更改for循環。雖然在數據範圍上使用數據透視表,但這可以輕鬆完成。

+0

謝謝,這將有所幫助! 樞軸表我不認爲會 - 它不會讓我通過他們的分組排序國家... – Kevin

+0

@Kevin它應該做,如果你正確地佈置它。如果將狀態放在行字段中,並將它們的「值」放入值字段中,並選擇將它們相加,則會將所有狀態組合在一起,並顯示該組的總數 – Tom

相關問題