2016-03-26 42 views
1

我想通過一組調查結果進行排序,其中受訪者選擇一個位置作爲他們的家,並且可能有許多位置進行他們的研究。使用VBA從多個列創建2列表

住所。研究地點

阿拉巴馬州,巴哈馬,CA,KY

加利福尼亞州,AL,祕魯

等98行。

我想創建一個包含源列和目標列的表格,然後可以在ArcGIS中使用它創建徑向流線圖。我需要從VBA中獲取上述多行和不同數量的目標列,並將其排列在一個2列表中,以便爲每個目標複製住所字段。

住所。研究位置

阿拉巴馬州,巴哈馬

阿拉巴馬州,CA

阿拉巴馬州,肯塔基州

加利福尼亞州,AL

加州,祕魯

在這裏,我可以添加XY的座標每個住所(來源)和研究地點(目的地)創建我的徑向流線圖。

我已經看過幾個範例的單個列代碼的例子,但我還沒有發現任何與我的源列相關的東西。任何幫助,將不勝感激!

回答

0

我假設你的表將是這個樣子:

enter image description here

,輸出會像:

enter image description here

下面的代碼將完成這項任務:

Sub Data() 
    Application.ScreenUpdating = False 
    Sheets("Sheet1").Activate 
    Range("A1").Activate 

    While ActiveCell.Value <> "" 
     n = 1 
     Label = ActiveCell.Value 
     While Selection.Offset(0, n) <> "" 
      Item = Selection.Offset(0, n) 
      Sheets("Sheet2").Activate 
      ActiveCell.Value = Label 
      Selection.Offset(0, 1).Value = Item 
      Selection.Offset(1, 0).Select 
      Sheets("Sheet1").Activate 
      n = n + 1 
     Wend 
     Selection.Offset(1, 0).Select 
    Wend 

    Application.ScreenUpdating = True 
End Sub 
+0

謝謝!這就像一個魅力,併爲我節省了很多繁瑣的工作! – Casey

+0

我很高興它有幫助。祝您的項目好運。 – Mrig