【问题标题】:Pulling information from one tab to another将信息从一个选项卡拉到另一个选项卡
【发布时间】:2017-08-11 02:07:55
【问题描述】:

我需要从第一个选项卡中保存的原始数据填充一个选项卡中的特定列。我做了一个快速重新排序的 VBA 代码,以帮助任何人理解我正在尝试做的事情,希望他们可以改进。我还需要 VBA 代码在数据结束的那一行停止。目前记录的 VBA 代码下拉到第 159 行,但原始选项卡中的数据在第 72 行停止。我会在信息结束的那一行停止我的 VBA 代码,但这每天都在变化,可能在第 1 行的任何地方到 158。 (如果我在数据以原始数据结尾的位置填充了一个单元格,它会使工作表无法用于我需要它的其他目的,即使它是零。)

A 列和 B 列中有数据,所以我在想宏是否可以说数据是否在单元格 A15 中,然后从 G15 等中提取信息?无数据不拉。 我知道这对某些人来说可能看起来很基础,但作为一个新手,我仍然对 VBA 有所了解。

Sub Populate_Order()
ActiveWindow.SmallScroll Down:=-15
Range("M8").Select
ActiveCell.FormulaR1C1 = "='Order Sheet'!R[7]C[-6]"
Range("M8").Select
Selection.AutoFill Destination:=Range("M8:M159"), Type:=xlFillDefault
Range("M8:M159").Select
ActiveWindow.SmallScroll Down:=-135
Range("Q8").Select
ActiveCell.FormulaR1C1 = "='Order Sheet'!R[7]C[-9]"
Range("Q8").Select
Selection.AutoFill Destination:=Range("Q8:Q159"), Type:=xlFillDefault
Range("Q8:Q159").Select
ActiveWindow.SmallScroll Down:=-132
Range("R8").Select
ActiveCell.FormulaR1C1 = "='Order Sheet'!R[7]C[-9]"
Range("R8").Select
Selection.AutoFill Destination:=Range("R8:R159"), Type:=xlFillDefault
Range("R8:R159").Select
ActiveWindow.SmallScroll Down:=-123
Range("I3").Select

【问题讨论】:

  • 谷歌how to find last rowfor loop
  • 另外,我高度建议通读并申请How to avoid using .Select
  • 谢谢@BruceWayne,我将保存此线程,一旦我开始了解基础知识并获得某种理解,我将回到此。您是否有任何链接到更基本的理解,这对一个完整的新手很有用。我刚刚发现了宏,并认为我可以利用它们来使我的工作更轻松=早日完成;)谢谢

标签: vba excel


【解决方案1】:

要查找下一个空行,请尝试这样的操作

Dim sourceSheet As Worksheet: Set sourceSheet = ThisWorkbook.Worksheets("sheet1")
Dim destSheet As Worksheet: Set destSheet = ThisWorkbook.Worksheets("sheet2")
lMaxRows = destSheet.Cells(destSheet.Rows.Count, "A").End(xlUp).Row

destSheet.range("A" & lMaxRows + 1).Value = sourceSheet.range("M1").Value

这是一个简单的例子,找到下一个空行,然后将该行中的列 A 设置为另一张表中单元格 M1 中的值

【讨论】:

  • 感谢您的帮助@Vbasic4now。我只是对上述宏有所了解。是否可以稍微解释一下以帮助我更好地理解它?这样我就可以将其编辑为重新排序的宏。谢谢
  • @Bradley 第一 2 行定义了从哪张表中提取数据 (sourceSheet) 以及粘贴的位置 (destSheet)。第三行定义一个名为 lMaxRows 的变量作为目标表中最后使用的行。最后一行是说使目标上最后使用的行之后的行中的列 A 中的单元格与源工作表中的单元格 M1 具有相同的值。
猜你喜欢
  • 1970-01-01
  • 2014-02-05
  • 1970-01-01
  • 2013-12-19
  • 1970-01-01
  • 1970-01-01
  • 2016-10-22
  • 2021-11-04
  • 1970-01-01
相关资源
最近更新 更多