excel - 将数据上传到另一个excel工作表时,不会拾取excel中的日期和userform中的日期
问题描述
您好我正在尝试使用上传代码(下面提到)将数据从主 excel 工作簿上传到另一个数据库 excel 工作簿。显然,代码似乎无法选择 Cell.Value(即 Excel 表中的日期值 - 日期格式为 M/D/YYYY)和用户表单文本框日期值 - 日期格式(M/D/YYYY )。
Private Sub Upload()
Dim SourceWB As Workbook
Dim SourceWs As Worksheet
Dim DesWB As Workbook
Dim DesWs As Worksheet
Dim DateRange As Range
Dim DesDataRange As Range
Dim LastRowCount As Long 'Upload Button Value
Dim DesLastRow As Long
Dim Ls As Long
Dim Y As Long
Set SourceWB = ThisWorkbook
'Debug.Print SourceWB
Set SourceWs = SourceWB.Worksheets("Database")
'Debug.Print SourceWs
'Debug.Print DesWB
Set DesWB = ActiveWorkbook
'Debug.Print DesWs
Set DesWs = DesWB.ActiveSheet
Workbooks(FileNameValue).Activate
ActiveWorkbook.Worksheets("Sheet1").Range("A2:T9999").ClearContents
LastRowCount = SourceWs.Range("D" & Rows.count).End(xlUp).Row
DesLastRow = DesWs.Range("D" & Rows.count).End(xlUp).Row
Set DateRange = SourceWs.Range("D2", "D" & LastRowCount)
Set DesDateRange = DesWs.Range("D2", "D" & DesLastRow)
'Paste Similar Date Values to destination file
For Each Cell In DateRange '(frmData.txtdate.value is the textbox value of the userform)
If Cell.Value = frmData.txtdate.Value Then **'(It seems to have problem over here)**
Debug.Print frmData.txtdate.Value
Debug.Print Cell.Value
'Y = Cell.Row 'Cells(y, 1), Cells(y, 20)
SourceWs.Range("A" & 2, "T" & LastRowCount).Copy
Workbooks(FileNameValue).Activate
Ls = ActiveWorkbook.Worksheets("Sheet1").Range("A" & Rows.count).End(xlUp).Row
ActiveWorkbook.Worksheets("Sheet1").Range("A" & Ls + 1).PasteSpecial Paste:=xlPasteValues
Exit For
End If
Next
'My Routine:
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
解决方案
Cell
DateRange 中包含什么?一个真实的日期(它是一个数字)还是一个看起来像日期的文本字符串?是Value
文本字符串或基础日期数字的格式化表达式。如果您有一个真实的日期(一个数字)Value2
,如果它是计算(公式)的结果,则会给出该数字,如果Formula
在单元格中输入了日期并且 Excel 将其格式化为文本字符串,则会返回所需的数字。
是TextBox.Value
一个文本字符串。因此可以将其与单元格中的文本字符串进行比较。如果两个字符串不完全相同,它们将是不同的。因此,在单元格中有一个真实的日期并将 Tbx 中的字符串日期转换为一个真实的日期会更安全,然后可以与之进行比较Value2
(对于输入或计算的真实日期的任一版本都是相同的)。
推荐阅读
- c# - 我需要一个弯曲的矩形的透视变换
- node.js - Mongodb:用新版本替换数组比添加元素更有效吗?
- node.js - 完成 Angular 11 教程并获得 TS2322:类型 'any[]' 不可分配给类型 'never[]'
- tensorflow - 从 tensorflow 导入库作为 tf
- powershell - 从 Powershell 脚本更新 Google 表格
- matlab - 在独立的 Matlab 可执行文件中嵌入全局变量?
- vue.js - iOS 14 + vuejs PWA 打开相机应用程序而不是在 HTML 中显示视频
- linux - 我可以在 bash 中使用“cp”来查看文件和文件夹,并在更改后将它们复制到另一个文件夹中吗?
- python - 如何将列表内的列表附加到Excel中的行
- flutter - 如何摆脱 Flutter 'WebBrowser' 插件中的地址栏和底栏?