查找日期的vba代码

时间:2015-09-01 19:48:58

标签: vba excel-vba date excel

表1: - 我提到了范围A1中dd-mmm格式的日期(即01-Sep)

表2: - 我用相同的格式(dd-mmm)更新了所有日期(从1月到12月)

但我无法找到(选择单元格)日期。 我写道如下:

update tf
set tf.default_value = updt.ICD10
from template_fields tf inner join 
     (select i9.conceptcode ICD9, MAX(i10.conceptcode) ICD10
      from extract_icd10_9_xref xr inner join 
           extract_icd9_concept i9 on i9.concept_id = xr.targetconcept_id inner join 
           extract_icd10_concept i10 on i10.concept_id = xr.sourceconcept_id
      group by i9.conceptcode) updt on tf.default_value = updt.ICD9

1 个答案:

答案 0 :(得分:0)

有一些问题:

  1. 除非你认为这绝对必要,否则我会删除搜索格式的概念。将格式添加到搜索中只会使其复杂化。我会删除格式标准,只需将LookIn参数更改为Find方法,从xlValues更改为xlFormulas,以便格式化无关紧要。
  2. 您需要将x定义为Date以保存存储在所有单元格中的真值。
  3. 您的代码只会找到具有相同日期的第一个单元格,并且可能会有很多单元格。不确定这是不是你的意图。
  4. 您可以在分配Activate变量的同时Cell Sub UpdateToday() Dim x As Date Dim Cell As Range x = ActiveWorkbook.Sheets("Sheet1").Range("A1").Value Sheets("Sheet2").Activate Range("N10:NC10").Select 'All 360 days Set Cell = Selection.Find(What:=x, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False) If Not Cell Is Nothing Then Cell.Activate End If Sheets("Sheet2").Activate End Sub 。您需要分两步完成此操作。
  5. 我会将您的代码更新为: -

    {{1}}