首页 > 解决方案 > 使用excel中的宏将数据从数据列表传输到另一个工作表

问题描述

我当然希望我能正确解释这一点......我有一个数据列表。数据包括日期、时间和学校名称。我需要从我目前从 excel 中的“获取数据”“从网络”功能中获取的工作表中的这些数据。这是我根据这些电子表格上的数据尝试完成的示例:

8 月 17 日星期五

男孩足球

弗农山的安提阿,下午 4:30

史蒂文森在沃伦,下午 5 点

女子网球

沃伦的弗农山,下午 6 点

沃康达的圆湖,下午 6 点

8 月 18 日星期六

男孩高尔夫

沃伦在安提阿,上午 8 点 30 分

该列表在一周中的每一天都有不同的时间表和团队名称以及比赛的进行时间。

基本上,这些数据存在于我当前保存数据的电子表格中,只是数据本身到处都是。授予时间之前的逗号不在电子表格上,并且“pm”和“am”之间没有句点。因此,将这些添加到代码中会很有帮助。我将分享我所拥有的数据的截图,以供参考。

现在,我已经设法构建了一个宏,它正在做我技术上想要它做的事情,但是我无法弄清楚说移动到数据范围内的下一行的代码。此外,我还有 4 个其他选项卡(又名;工作表)具有相同格式的数据,仅用于不同的学校。如果按上例中描述的方式按一下按钮来组织所有电子表格中的数据,那将是理想的选择。但是,我很乐意现在只为一所学校使用一个按钮,然后获取该代码并将其更改为在另一所学校使用。

所以众所周知,我在这里总体上要完成的是按日期和运动类型划分的高中运动比赛时间表。

这是我目前正在使用的代码:

Private Sub CommandButton1_Click()
Dim Eventname As String, Time As String, Opponent As String, Location As String, dateday As String
Worksheets("Vernon Hills").Select
Eventname = Range("A3")
Time = Range("B3")
Opponent = Range("C3")
Location = Range("D3")
dateday = Range("B2")
Worksheets("Main").Select
Worksheets("Main").Range("A1").Select
If Worksheets("Main").Range("A1").Offset(1, 0) <> "" Then
Worksheets("Main").Range("A1").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = dateday
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = Opponent
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = Time
Worksheets("Vernon Hills").Select


End Sub

最后......这是我试图从中抓取数据的数据的屏幕截图。

https://i.stack.imgur.com/KMkZo.jpg

您会注意到单元格 A3 的特定单元格中包含“Golf:Girls”字样。另请注意,日期在 A2 中,对手的名字在 C3 中。位置列只是我参考“主场”与“客场”球队的一种方式。

感谢任何可以帮助我的人......如果需要,我会很乐意指定更多。

标签: vbaexceldata-transfer

解决方案


推荐阅读