簡體   English   中英

將數據從一張紙復制到下一個空行的另一張紙上

[英]copy data from one sheet to another on the next empty row

Hy專家,我正在使用兩個Excel工作表。 一種是輸入,第二種是數據庫。 在輸入表中,我想在單擊數據庫表上的按鈕后復制整個數據。 我正在使用的宏效果很好。 但是不是將數據粘貼到下一個空行,而是從寫現有數據開始。 那是完全錯誤的概念。 我正在使用此宏。

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

我正在使用這些床單。 輸入表

數據庫屏幕。

我如何解決這個問題。 提前致謝。

為了幫助您解決此問題,我需要進行以下假設:

1在每次添加新數據進行復制之前,都要清除INPUT SHEET中的數據

2您要復制INPUT SHEET中A到J列的整個范圍(您現有的代碼似乎表明了這一點)

3我假設您希望將輸入表中單元格E1中的日期復制到粘貼到DATABASE工作表中的所有新數據旁邊的A列中,嘗試使用現有數據進行編碼-如果不起作用,請調整代碼以盡可能地適合您。 學習的唯一方法是嘗試,然后重試…

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM