【问题标题】:Copy last cell range with data使用数据复制最后一个单元格范围
【发布时间】:2015-02-10 05:30:38
【问题描述】:

我无法获取代码的最后一部分来读取 F 到 L 列中最后一个单元格的数据。它们上方会有空白单元格。然后粘贴到目标中的下一个可用行。 Sub addddddddddddddd() ' ' addddddddddddddd Macro ' Dim LR As Long, LC As Integer Dim lastRow As Long Dim fNameAndPath As Variant, wb As Workbook Dir "C:\User\keym\Desktop\Timecards" fNameAndPath = Application.GetOpenFilename(FileFilter:="Excel Files (.), .", Title:="Select File To Be Opened") If fNameAndPath = False Then Exit Sub Set wb = Workbooks.Open(fNameAndPath)

wb.Activate
Range("D1").Select
Selection.Copy
Windows("Vacation-Sick-Summary.xls").Activate
Range("B10000").End(xlUp).Offset(1, -1).Select
ActiveSheet.Paste

wb.Activate
Range("F3:L3").Select
Selection.Copy
Windows("Vacation-Sick-Summary.xls").Activate
Range("B10000").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
For Each C In Selection
    If C.Value = "" Then C.Value = "-"
    C.HorizontalAlignment = xlCenter
Next C


wb.Activate
LR = Cells(Rows.Count, 1).End(xlUp).Row              '?
LC = Cells(1, Columns.Count).End(xlToLeft).Column    '?
Selection.Copy
wb.Close
Windows("Vacation-Sick-Summary.xls").Activate
ActiveSheet.Paste
For Each C In Selection
    If C.Value = "" Then C.Value = "-"
    C.HorizontalAlignment = xlCenter
Next C

结束子

【问题讨论】:

    标签: vba excel


    【解决方案1】:
    Range("B" & Rows.Count).End(xlUp).Offset(1, -1).Select
    

    或您需要的任何列。

    在您代码的最后一部分:检查您正在复制的Selection;还要检查您是否要测试 col A 中的最后一行数据和第 1 行的最后一列数据。

    【讨论】:

    • 效果很好!我如何让它也复制右侧的 6 个单元格?
    • Mike - 哪六个牢房,从哪里到哪里?
    • 所选内容右侧的六个单元格。我已经想通了。 Range("F" & Rows.Count).End(xlUp).Select ActiveCell.Resize(1, 7).Copy 感谢您的帮助。
    • 好的,做得好。如果这回答了您的问题,也许您会接受也将关闭此线程的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-12
    • 1970-01-01
    • 2018-01-20
    • 1970-01-01
    • 2021-10-15
    相关资源
    最近更新 更多