如何获取多列中的string和相邻数字

我想要运行一个循环,按照一定的标准对文本进行分组,然后加起来,但是我需要能够抓取两个数据。

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

select将是类似的东西,我希望用户能够突出显示两列,我将贯穿并按位置分组状态,并添加总计

编辑 –

到目前为止,我所能做的就是抓住用户select的范围:

 Sub Short() Dim rngMyRange As Range If TypeName(Selection) = "Range" Then Set rngMyRange = Selection Else Exit Sub 'Non-range type selection eg a chart End If MsgBox "The address of rngMyRange is " & rngMyRange.Address(False, False) End Sub 

我在另一张纸上有一个公式,用来检查组的状态,但是一次只有一个单元格

 =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")))) 

使用下面的for循环将循环遍历范围中的每个单元格(select – 确保只select其中包含名称的列)

 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 eg a chart End If for each c in rngMyRange ttl = ttl + c.offset(0,1) next c End Sub 

你需要用你的标准来改变for循环。 这可以通过在您的数据范围上使用数据透视表来轻松完成。