Excel VBA将单元格数据保存到单独的工作表
Posted
技术标签:
【中文标题】Excel VBA将单元格数据保存到单独的工作表【英文标题】:Excel VBA save cell data to separate sheet 【发布时间】:2017-10-20 05:40:32 【问题描述】:如何将我的单元格数据从工作表 1 保存到工作表 2。
基本上我有一张这样的表:-
| Job number | Job notes
edit button | 345345 | just some text
edit button | 345468 | more text
edit button | 678934 | job info
在我的 Excel 工作表上,我在每一行都有一个命令按钮,按下该按钮会打开一个 带有文本框的用户表单,当按下命令按钮时,它有一个命令按钮,它会搜索作业编号并将文本框数据保存到我正在编辑的具有正确作业编号的行中。
保存代码
Private Sub savejobnotes_Click()
Dim YourVariable As Variant
Dim rowCount As Integer
Dim rownum As String
Set YourVariable = jobRef
With ActiveSheet.Range("D:D")
Set uRng = .Find(YourVariable, , xlValues, xlWhole, , MatchCase:=False,
searchformat:=False)
If Not uRng Is Nothing Then
uRng.Activate
rowCount = ActiveCell.Row
'this will find the row number rowCount
' MsgBox rowCount
rownum = "K" & rowCount
MsgBox "Saved to " & rownum
'save textbox value to a cell
ActiveSheet.Range(rownum).Value = jobnotes.Value
End If
End With
End Sub
打开用户表单时将工作说明加载到文本框中的代码。
Sub loadjobnotes()
Dim YourVariable As Variant
Dim rowCount As Integer
Dim rownum As String
Set YourVariable = jobRef
With ActiveSheet.Range("D:D")
Set uRng = .Find(YourVariable, , xlValues, xlWhole, , MatchCase:=False,
searchformat:=False)
If Not uRng Is Nothing Then
uRng.Activate
rowCount = ActiveCell.Row
'this will find the row number rowCount
' MsgBox rowCount
rownum = "K" & rowCount
' MsgBox rownum
jobnotes.Value = ActiveSheet.Range(rownum)
End If
End With
End Sub
我如何每次将工作编号和工作说明保存到单独的工作表中。因为我需要保留一份与作业编号相关联的作业说明副本,因为我的 excel 表会定期从 .csv 文件中更新,这会从表中删除所有已完成的作业。
感谢您的帮助
【问题讨论】:
【参考方案1】:您应该首先创建一个名为 Jobs 的新工作表,然后使用如下结构:
Sheets("Jobs").Cells("coordinates here").Value = "your values"
也许您需要创建一个计数器,但这是其他主题。
【讨论】:
感谢我设法在此基础上构建的信息,现在我可以搜索工作编号并检查它是否存在,如果不存在则将其添加到新工作表或更新它。以上是关于Excel VBA将单元格数据保存到单独的工作表的主要内容,如果未能解决你的问题,请参考以下文章
VBA宏在Excel中格式化1个包含文本行的单元格,并将这些行添加到单独的行中