VBA数组返回数字而不是string

我已经创build了一个数组作为包含数字和文本的单元格的范围。 一列称为PolicyNumber 。 有这样的价值:

 11/2007 8/2006 12/2005 etc. 

如果我想将数组中的单元格复制回工作表,它将不会返回值11/2007 / 8/2006 / 12/2005等,但它会返回计算结果

 11/2007 = 0.00548 8/2006 = 0.003988 12/2005 = 0.00598 etc. 

我努力了

  1. 在创build数组之前将值PolicyNumber格式化为文本;
  2. PolicyNumber两个单元格,然后放回;
  3. 当从数组导出的值使用函数格式,cstr。

我希望能够明白这个问题。

假设policynumber列被格式化为文本,那么格式化输出为文本为我工作:

 Sub getit() Dim var As Variant var = Range("a1:A2") Range("c1:c2").NumberFormat = "@" Range("c1:c2") = var End Sub 
 Sub firstcheck() Dim X() dim ind as Worksheet, FC as Worksheet dim N as Double Set ind = Sheets("Input Data") Set FC - Sheets("First Check") N = Application.CountA(Ind.Range("G:G")) X = ind.Range("C2:T" & N).Value 'data .... FC.Range("B2:S" & N) = X End Sub 

栏目:

保单号码:

可以正常工作的数据:

 99-155547/003 99-155690/003 99-155837/003 99-173341/003 99-185326/003 

复制了一些不起作用的数据:

 2013/00176 2012/08233 2012/08016 2012/08330 2012/08749 2012/01122