在 Excel 中将某些特定单元格从一个工作表复制到另一个工作表的 VBA 可能是啥?

Posted

技术标签:

【中文标题】在 Excel 中将某些特定单元格从一个工作表复制到另一个工作表的 VBA 可能是啥?【英文标题】:What could be the VBA for copying some specific cell from one worksheet to another in Excel?在 Excel 中将某些特定单元格从一个工作表复制到另一个工作表的 VBA 可能是什么? 【发布时间】:2021-01-07 16:04:07 【问题描述】:

我再次在这里发帖,需要非常多的工作和特定代码来制作 VBA 宏,以便使用一个按钮将某些特定单元格从一个工作表复制到另一个工作表。

在这里你可以看到我当前的发票格式 -

这是数据库表 -

这里的问题是 - 使用“新发票”按钮,我想移动到新发票,而来自特定单元格、发票#、订单#、销售#、日期#、客户名称、小计、订单类型的数据将是从发票表复制或移动到数据库表。此外,这些单元格的内容也会被清除。

我有清除内容和添加新发票编号的代码 -

Sub NewInvoice()

Range("H8").Value = Range("H8").Value + 0.00001
Range("D8:D10").ClearContents
Range("C13:C23").ClearContents
Range("H9:H10").ClearContents
Range("H25:H27").ClearContents
UserForm1.Show

End Sub

对于特定的单元格数据,我需要在同一代码内添加用于将数据从一个工作表复制到另一个工作表的代码。

我希望我能在这里解释一下我的情况。

等待您的回复,感谢您的时间和考虑。

关于 伊姆兰

【问题讨论】:

【参考方案1】:

应该这样做...

Sub moveData()
    
Dim db_next_row As Long
Dim invoice_n, order_n, sales_n, date_n As String
Dim c_name, subtotal, order_type As String
    
'CONFIG HERE 
'set the location of the cells in the invoice sheet
    '------------------------------------------
    invoice_n = ""
    order_n = ""   'example: order_n = "B3"
    sales_n = ""
    date_n = ""
    c_name = ""
    order_type = ""
    subtotal = ""
    '-----------------------------------------
    db_next_row = Sheets("Database").Cells(Rows.Count, 2).End(xlUp).Row + 1
    
    'move info to database
    With Sheets("Database")
        .Range("B" & db_next_row) = Sheets("Invoice").Range(date_n)
        .Range("C" & db_next_row) = Sheets("Invoice").Range(c_name)
        .Range("D" & db_next_row) = Sheets("Invoice").Range(invoice_n)
        .Range("E" & db_next_row) = Sheets("Invoice").Range(order_n)
        .Range("F" & db_next_row) = Sheets("Invoice").Range(sales_n)
        .Range("G" & db_next_row) = Sheets("Invoice").Range(subtotal)
        .Range("H" & db_next_row) = Sheets("Invoice").Range(order_type)
    End With
    
    'clear content in the invoice
    With Sheets("Invoice")
        .Range(date_n).ClearContents
        .Range(c_name).ClearContents
        .Range(invoice_n).ClearContents
        .Range(order_n).ClearContents
        .Range(sales_n).ClearContents
        .Range(subtotal).ClearContents
        .Range(order_type).ClearContents
    End With
    
    End Sub

【讨论】:

哦,是的!非常感谢你。宏代码工作得很好,对此我非常感谢。 :) 很高兴成为这个论坛的一员。 伊姆兰,太好了。谢谢你的消息。

以上是关于在 Excel 中将某些特定单元格从一个工作表复制到另一个工作表的 VBA 可能是啥?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 MS Excel 中将特定数据从一个 Excel 工作表传输到另一个工作表?

如何在 OpenOffice 中将一列单元格从一张表插入到另一张表的单个单元格中?

VBA - 仅将可见单元格从工作表复制到另一个工作表

Excel 单元格从一张纸到另一张纸

根据单元格值将特定范围而不是整行复制到另一个谷歌工作表

Excel VBA根据条件从一个工作表复制到其他工作表特定单元格