Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.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 工作表\u更改公式适用于数字,但适用于字符串_Excel_Vba - Fatal编程技术网

Excel 工作表\u更改公式适用于数字,但适用于字符串

Excel 工作表\u更改公式适用于数字,但适用于字符串,excel,vba,Excel,Vba,此代码适用于返回0的公式,但不适用于返回“字符串”的公式。其效果是,单元格中有一个重影值,用户可以覆盖该值,然后再次查看是否删除了该值 我怎样才能使它同时适用于数字和字符串输出?它在这一行上抛出一个错误: .Formula = v(i, 2) 这是整个街区 Private Sub Worksheet_Change(ByVal Target As Range) Dim i&, v DoEvents ReDim v(1 To 40, 1 To 2) v(1, 1) = "F

此代码适用于返回0的公式,但不适用于返回“字符串”的公式。其效果是,单元格中有一个重影值,用户可以覆盖该值,然后再次查看是否删除了该值

我怎样才能使它同时适用于数字和字符串输出?它在这一行上抛出一个错误:

.Formula = v(i, 2)
这是整个街区

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim i&, v
  DoEvents
  ReDim v(1 To 40, 1 To 2)
  v(1, 1) = "F7": v(1, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),10),0)"
  v(2, 1) = "F8": v(2, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),9),0)"
  v(3, 1) = "F9": v(3, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),11),0)"
  v(4, 1) = "F10": v(4, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),12),0)"
  v(5, 1) = "F11": v(5, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),15),0)"
  v(6, 1) = "F12": v(6, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),14),0)"
  v(7, 1) = "F13": v(7, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),8),0)"
  v(8, 1) = "F16": v(8, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),19),0)"
  v(9, 1) = "B26": v(9, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),1),"")"
  v(10, 1) = "G24": v(10, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (G3=DATABASE!$T$2:$T$3222) * (G4=DATABASE!T2:T3222),0),24),"")"
  v(11, 1) = "G28": v(11, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (G3=DATABASE!$T$2:$T$3222) * (G4=DATABASE!T2:T3222),0),26),"")"
  v(12, 1) = "H24": v(12, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (H3=DATABASE!$T$2:$T$3222) * (H4=DATABASE!U2:U3222),0),24),"")"
  v(13, 1) = "H28": v(13, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (H3=DATABASE!$T$2:$T$3222) * (H4=DATABASE!U2:U3222),0),26),"")"
  v(14, 1) = "I24": v(14, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (I3=DATABASE!$T$2:$T$3222) * (I4=DATABASE!U2:U3222),0),24),"")"
  v(15, 1) = "I28": v(15, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (I3=DATABASE!$T$2:$T$3222) * (I4=DATABASE!U2:U3222),0),26),"")"
  v(16, 1) = "J24": v(16, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (J3=DATABASE!$T$2:$T$3222) * (J4=DATABASE!U2:U3222),0),24),"")"
  v(17, 1) = "J28": v(17, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (J3=DATABASE!$T$2:$T$3222) * (J4=DATABASE!U2:U3222),0),26),"")"
  v(18, 1) = "M24": v(18, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (M3=DATABASE!$T$2:$T$3222) * (M4=DATABASE!U2:U3222),0),24),"")"
  v(19, 1) = "M28": v(19, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (M3=DATABASE!$T$2:$T$3222) * (M4=DATABASE!U2:U3222),0),26),"")"
  v(20, 1) = "N24": v(20, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (N3=DATABASE!$T$2:$T$3222) * (N4=DATABASE!U2:U3222),0),24),"")"
  v(21, 1) = "N28": v(21, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (N3=DATABASE!$T$2:$T$3222) * (N4=DATABASE!U2:U3222),0),26),"")"
  v(22, 1) = "O24": v(22, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (O3=DATABASE!$T$2:$T$3222) * (O4=DATABASE!U2:U3222),0),24),"")"
  v(23, 1) = "O28": v(23, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (O3=DATABASE!$T$2:$T$3222) * (O4=DATABASE!U2:U3222),0),26),"")"
  v(24, 1) = "P24": v(24, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (P3=DATABASE!$T$2:$T$3222) * (P4=DATABASE!V2:V3222),0),24),"")"
  v(25, 1) = "P28": v(25, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (P3=DATABASE!$T$2:$T$3222) * (P4=DATABASE!V2:V3222),0),26),"")"
  v(26, 1) = "Q24": v(26, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (Q3=DATABASE!$T$2:$T$3222) * (Q4=DATABASE!U2:U3222),0),24),"")"
  v(27, 1) = "Q28": v(27, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (Q3=DATABASE!$T$2:$T$3222) * (Q4=DATABASE!U2:U3222),0),26),"")"
  v(28, 1) = "R24": v(28, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (R3=DATABASE!$T$2:$T$3222) * (R4=DATABASE!U2:U3222),0),24),"")"
  v(29, 1) = "R28": v(29, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (R3=DATABASE!$T$2:$T$3222) * (R4=DATABASE!U2:U3222),0),26),"")"
  v(30, 1) = "T24": v(30, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (T3=DATABASE!$T$2:$T$3222) * (T4=DATABASE!U2:U3222),0),24),"")"
  v(31, 1) = "T28": v(31, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (T3=DATABASE!$T$2:$T$3222) * (T4=DATABASE!U2:U3222),0),26),"")"
  v(32, 1) = "U24": v(32, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (U3=DATABASE!$T$2:$T$3222),0),24),"")"
  v(33, 1) = "U28": v(33, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (U3=DATABASE!$T$2:$T$3222),0),26),"")"
  v(34, 1) = "V24": v(34, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (V3=DATABASE!$T$2:$T$3222),0),24),"")"
  v(35, 1) = "V28": v(35, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH(1,($B$11=DATABASE!$E$2:$E$3222) * (V3=DATABASE!$T$2:$T$3222),0),26),"")"
  v(36, 1) = "B26": v(36, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),1),"")"
  v(37, 1) = "B27": v(37, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),5),"")"
  v(38, 1) = "B28": v(38, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),3),"")"
  v(39, 1) = "B29": v(39, 2) = "=IFERROR(INDEX(DATABASE!$D$2:$AG$3222,MATCH('Pricing Grid'!$B$11,DATABASE!$E$2:$E$3222,0),4),"")"
  v(40, 1) = "B31": v(40, 2) = "=IFERROR(INDEX(DATABASE!D2:AG3222,MATCH(B11,DATABASE!E2:E3222,0),7),0)"
  Application.EnableEvents = False
  For i = 1 To UBound(v)
    With Range(v(i, 1))
      If Not Intersect(Target, .Cells) Is Nothing Then
        If Len(.Value2) = 0 Then
          .Formula = v(i, 2)
        End If
      End If
    End With
  Next
  Application.EnableEvents = True
End Sub
这是一个问题:

...(G4=DATABASE!T2:T3222),0),24),"")" 
字符串中嵌入的双引号需要加倍:

...(G4=DATABASE!T2:T3222),0),24),"""")"

卡梅隆,很难弄清楚你想要什么。如果您能将工作簿发送给我,我很乐意为您提供帮助。这个“重影”值到底是什么样子的?调试器会出现什么错误?这就是错误!谢谢你,蒂姆。不是真的,公式包含NULL和公式包含
符号之间有区别。这不是错误所在。@SharifLotfi-公式字符串中只有两个引号意味着OP试图添加一个以
..(G4=DATABASE!T2:t322),0),24),“
(右括号前有一个双引号)结尾的公式。这不是有效的公式。