c # excel range.FormulaArray, wenn Sie Zeit haben, können Sie versuchen, unter c # Programm mit zwei verschiedenen FormulaArrays

StackOverflow https://stackoverflow.com/questions/1045819

  •  20-08-2019
  •  | 
  •  

Frage

kann mir jemand sagen, warum das nicht funktioniert,

 Excel.Worksheet ws_res = (Excel.Worksheet)
                  wb.Worksheets.Add(mis, mis, mis, mis);
  Excel.Range range_res = (Excel.Range)ws_res.get_Range("A1","HM232");
 range_res.FormulaArray = 
           "=ROUND((IF((IF(Sheet4!A1:HM232=1,0,"+
           "IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))=1,0,"+
           "IF((IF(Sheet4!A1:HM232=1,0,"+
           "IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))=0,1,("+
           "IF(Sheet4!A1:HM232=1,0,"+
           "IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))))),0)";

, aber das tut

   Excel.Worksheet ws_res = (Excel.Worksheet)
                  wb.Worksheets.Add(mis, mis, mis, mis);
  Excel.Range range_res = (Excel.Range)ws_res.get_Range("A1","HM232");
  range_res.FormulaArray = 
  "=ROUND((IF(Sheet4!A1:HM232=1,0,IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232))),0)";

=============================================== ========

aber wenn ich kopieren und einfügen, die beiden oben genannten Formeln in die Formelleiste von Excel 2007 und drücken Sie Strg + Shift + Enter, beide arbeiten perfekt!

=============================================== ========

Ich habe auch in den beiden oben genannten Formeln A1 geändert: HM232 zu R1C1: R232C221, wieder von c # die kürzere funktioniert gut, aber je länger man nach wie vor erzeugt die Ausnahme

War es hilfreich?

Lösung

Es funktioniert für mich. Ich muss davon ausgehen, dass Sie entweder keine Sheet4 haben (unwahrscheinlich, da die kürzere Formel funktioniert), oder dass Sie einen Tippfehler gemacht, wenn die Zitate zu entfernen, „+“ s, und Zeilenumbrüche. Hier ist, was ich in meiner Formel-Bar habe jetzt:

=ROUND((IF((IF(Sheet4!A1:HM232=1,0,IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))=1,0,IF((IF(Sheet4!A1:HM232=1,0,IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))=0,1,(IF(Sheet4!A1:HM232=1,0,IF(Sheet4!A1:HM232=0,1,Sheet4!A1:HM232)))))),0)

Andere Tipps

Aufgrund von Excel hat ein Problem Formula auszuführen, wenn die Zeichenfolge mehr als 255 Zeichen sind. Nervig. VBA hat einen runden Weg, C #, auf keinen Fall!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top