【问题标题】:Creating a 2 column table from multiple columns with VBA使用 VBA 从多列创建 2 列表
【发布时间】:2016-03-29 16:47:01
【问题描述】:

我正在尝试对一组调查结果进行排序,其中受访者选择一个位置作为他们的家,并且可能选择多个位置作为他们进行研究的地方。

住宅。研究地点

阿拉巴马州、巴哈马、加利福尼亚州、肯塔基州

加利福尼亚州,阿拉巴马州,秘鲁

等,98 行。

我想创建一个包含源列和目标列的表,然后我可以在 ArcGIS 中使用它来创建径向流线图。我需要从 VBA 获取上表的多行和不同数量的目标列,并将其排列在一个 2 列表中,该表复制每个目标的居住字段。

住宅。研究地点

阿拉巴马州、巴哈马

加利福尼亚州阿拉巴马州

肯塔基州阿拉巴马州

加利福尼亚州

加利福尼亚,秘鲁

从这里我可以为每个住所(源)和研究位置(目的地)添加 xy 坐标,以创建我的径向流线图。

我查看了一些范围到单列代码的示例,但我没有找到任何与我的源列相关的内容。任何帮助将不胜感激!

【问题讨论】:

    标签: vba excel


    【解决方案1】:

    我假设您的工作表看起来像这样:

    输出如下:

    以下代码将完成此任务:

    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
    

    【讨论】:

    • 谢谢!这就像一个魅力,让我省去了很多繁琐的工作!
    • 我很高兴它有所帮助。祝您的项目好运。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    • 2018-03-10
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多