首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >将数据从一个工作表复制到下一个空行上的另一个工作表

将数据从一个工作表复制到下一个空行上的另一个工作表
EN

Stack Overflow用户
提问于 2018-12-24 01:19:06
回答 1查看 66关注 0票数 0

各位专家,我用的是两张excel表格。一个是输入,第二个是数据库。在输入工作表中,我想在单击数据库工作表上的按钮后复制整个数据。我使用的宏运行良好。但是,它不是将数据粘贴到下一个空行,而是重写现有数据。这是一个完全错误的概念。我正在使用这个宏。

代码语言:javascript
复制
Sub copydate()
'
' copydate Macro
'

'
    Range("E1:J1").Select
    Selection.Copy
    Sheets("DATABASE").Select
    Range("A2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A2").Select
    Application.CutCopyMode = False
    Selection.NumberFormat = "m/d/yyyy"
    Range("A2:A75").Select
    Selection.FillDown
    Sheets("INPUT SHEET").Select
    Range("A3:J77").Select
    Selection.Copy
    Sheets("DATABASE").Select
    Range("B2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Selection.Columns.AutoFit
    Columns("B:B").Select
    Application.CutCopyMode = False
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
End Sub

我正在用这些床单。

我怎样才能解决这个问题。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2018-12-24 07:10:58

为了帮助您做到这一点,我需要做以下假设:

1每次在添加要复制的新数据之前,都要清除输入表中的数据

2您希望从输入表中复制从A列到J列的整个范围(您现有的代码似乎表明了这一点)

3我假设您希望将输入工作表中单元格E1中的日期复制到列A中,然后将所有新数据粘贴到数据库工作表中。尝试使用现有数据测试代码-如果不起作用,则调整代码以最大限度地适应。学习的唯一方法是尝试,再试一次…

代码语言:javascript
复制
Option Explicit

Sub CopyToDatabase()
Dim LastInput As Long, PasteRow As Long, LastRow As Long

'Find the last row of data to copy
LastInput = Sheets("INPUT SHEET").Range("A3").End(xlDown).Row

'Find the row to paste the new data to
If Sheets("DATABASE").Range("A2") <> "" Then
    PasteRow = Sheets("DATABASE").Range("A2").End(xlDown).Row + 1
    Else
    PasteRow = 2
End If

'Copy the data
Sheets("INPUT SHEET").Range("A3:J" & LastInput).Copy _
Sheets("DATABASE").Range("B" & PasteRow)

'Find the last row of newly copied data
LastRow = Sheets("DATABASE").Range("B2").End(xlDown).Row

'Put the date next to the newly copied data
Sheets("DATABASE").Range("A" & PasteRow & ":A" & LastRow).Value _
= Sheets("INPUT SHEET").Range("E1").Value

End Sub
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53905626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档