VB.NETではなくC#で申し訳ないのですが、検証してみました。
手動でExcelファイルを開くと、式は反映されるのですが
アプリから開くと式の再計算が行われず、反映されないようです。
下記、コードで検証してます。
Calculateメソッドで、明示的に式の再計算をしてやると反映されるようです。
C#
1 private void button1_Click(object sender, EventArgs e)
2 {
3 FileInfo newFile = new FileInfo("result.xlsx");
4
5 using (ExcelPackage package = new ExcelPackage(newFile))
6 {
7 //シート選択
8 ExcelWorksheet sheet1 = package.Workbook.Worksheets["Sheet1"];
9 ExcelWorksheet sheet2 = package.Workbook.Worksheets["Sheet2"];
10
11 System.Diagnostics.Debug.WriteLine("変更前sheet1=" + sheet1.Cells["A1"].Value.ToString());
12 System.Diagnostics.Debug.WriteLine("変更前sheet2=" + sheet2.Cells["A1"].Value.ToString());
13
14 // A1セルに書き込み
15 sheet1.Cells["A1"].Value = "Hello World" + DateTime.Now.ToString();
16
17 System.Diagnostics.Debug.WriteLine("変更直後sheet1=" + sheet1.Cells["A1"].Value.ToString());
18 System.Diagnostics.Debug.WriteLine("変更直後sheet2=" + sheet2.Cells["A1"].Value.ToString());
19
20 // 保存
21 package.Save();
22
23 System.Diagnostics.Debug.WriteLine("セーブ後sheet1=" + sheet1.Cells["A1"].Value.ToString());
24 System.Diagnostics.Debug.WriteLine("セーブ後sheet2=" + sheet2.Cells["A1"].Value.ToString());
25
26 //式の計算し直し
27 sheet2.Cells["A1"].Calculate();
28
29 System.Diagnostics.Debug.WriteLine("式再計算sheet2=" + sheet2.Cells["A1"].Value.ToString());
30 }
31 }