Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 如何在工作表之间引用相同的日期?_Excel_Vba_Reference_Cell - Fatal编程技术网

Excel 如何在工作表之间引用相同的日期?

Excel 如何在工作表之间引用相同的日期?,excel,vba,reference,cell,Excel,Vba,Reference,Cell,如何在一个工作表中获取日期,在另一个工作表列中找到相同的日期,并返回该日期的单元格引用以在循环中使用 Dim wb As Workbook Dim ws1 As Worksheet Set ws1 = wb.Sheets(1) Dim Lastrow_ws1 As Long Lastrow_ws1 = ws1.Range("A" & Rows.Count).End(xlUp).Row Dim LastDate As Long **

如何在一个工作表中获取日期,在另一个工作表列中找到相同的日期,并返回该日期的单元格引用以在循环中使用

    Dim wb As Workbook
    Dim ws1 As Worksheet

    Set ws1 = wb.Sheets(1)

    Dim Lastrow_ws1 As Long
    Lastrow_ws1 = ws1.Range("A" & Rows.Count).End(xlUp).Row

    Dim LastDate As Long

 ** Set LastDate = something 'take the last date in ws3 column A and find that date in ws1 column A and find the return the cell reference**

        For y = LastDate To Lastrow
            ws1.Cells(y, "A").Copy
            ws2.Range("A1").PasteSpecial Paste:=xlPasteValues

            Calculate

'THEN RUN A SEPERATE LOOP USING THE LASTDATE VARIABLE 

我可以帮你,但是你需要更清楚地回答这个问题,你的问题的格式,你通常也需要明确你的问题是什么。您可以使用类似“开始格式化代码”的功能

好的,首先,您使用
Dim wb-As-Workbook
定义wb,但不将其设置为任何值。在使用
Set ws1=wb.Sheets(1)

很难从代码中分辨出来,但只要Lastrow\u ws1=ws1.Range(“A”&Rows.Count).End(xlUp)。行最好跨不同的行:

Dim Lastrow_ws1 As Long
Lastrow_ws1 = ws1.Range("A" & Rows.Count).End(xlUp).Row
现在,您进入伪代码:
Set LastDate=something'获取ws3列A中的最后一个日期,并在ws1列A中找到该日期,然后找到返回单元格引用的

您必须定义ws3,它在任何地方都没有提到

在这一行中,
ws1.Cells(y,“A”).Copy ws2.Range(“A1”).PasteSpecial Paste:=xlPasteValues
您提到了
ws2
,但没有在任何地方定义它

循环可能类似于:

For i in Range("A1","A" & Lastrow_ws1)
If i = LastDate Then
    'Do what you want to do
Else
End If
Next

我可以帮你,但是你需要更清楚地回答这个问题,你的问题的格式,你通常也需要明确你的问题是什么。您可以使用类似“开始格式化代码”的功能

好的,首先,您使用
Dim wb-As-Workbook
定义wb,但不将其设置为任何值。在使用
Set ws1=wb.Sheets(1)

很难从代码中分辨出来,但只要Lastrow\u ws1=ws1.Range(“A”&Rows.Count).End(xlUp)。行
最好跨不同的行:

Dim Lastrow_ws1 As Long
Lastrow_ws1 = ws1.Range("A" & Rows.Count).End(xlUp).Row
现在,您进入伪代码:
Set LastDate=something'获取ws3列A中的最后一个日期,并在ws1列A中找到该日期,然后找到返回单元格引用的

您必须定义ws3,它在任何地方都没有提到

在这一行中,
ws1.Cells(y,“A”).Copy ws2.Range(“A1”).PasteSpecial Paste:=xlPasteValues
您提到了
ws2
,但没有在任何地方定义它

循环可能类似于:

For i in Range("A1","A" & Lastrow_ws1)
If i = LastDate Then
    'Do what you want to do
Else
End If
Next

@Neb967太棒了!如果你发现我的答案解决了你的问题,你可以接受它作为一个答案:)@Neb967太好了!如果您发现我的答案解决了您的问题,您可以接受它作为一个答案:)