[英]How can I extract data from database sheet and paste matched range in different sheets
[英]In VBA, how do i create a code where it matches dates from 2 sheets and paste data in to that matched date as values? Can't use vlookup for this
您可以尝试以下代码:
Option Explicit
Sub main()
Dim f As Range, calculatorData As Range
Dim dateStrng As String
With Worksheets("Calculator") '<--| reference "Calculator" worksheet
Set calculatorData = .Range("C2:C7") '<--| set its range with data to be copied
dateStrng = .Range("A1").value '<-- retrieve the date to be searched
End With
With Worksheets("Results") '<--| reference "Results" worksheet
Set f = .Range("A2", .Range("A2").End(xlDown)).Find(what:=dateStrng, LookIn:=xlValues, lookat:=xlWhole, MatchCase:=False) '<-- look for searched data in its column "A" cells from row 2 down to last contiguous non empty cell
End With
If Not f Is Nothing Then f.Offset(, 1).Resize(, 6).value = Application.Transpose(calculatorData.value) '<--| if date is found then copy relevant values from "Calculator" next to it
End Sub
编辑:
如果excel工作表中的日期不是String
值而是实际的Date
值,则只需更改:
dateStrng = .Range("A1").value '<-- retrieve the date to be searched
变成:
dateStrng = WorksheetFunction.Text(.Range("A1").value, "[$-409]mmmm,dd-yyyy;@") '<-- retrieve the date to be searched in the proper language (e.g.: 409 = English)
您可以在这里找到所有语言代码
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.