初学者です。
以下のコードで実行すると1度目は問題なく結果表示されるのですが、
2度目について1回目のものがそのまま表示されてしまいます。
エクセルを確認したところ1回目に実行したときに書式が書き換わっておりました。
何が問題かわかないため詳しい方おりましたらご教示頂ければ助かります。
Windows Forms、開発環境はVisual Studioとなります。
Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click '変数宣言 Dim ex As New Microsoft.Office.Interop.Excel.Application Dim sh As Microsoft.Office.Interop.Excel.Worksheet = Nothing Dim wb As Microsoft.Office.Interop.Excel.Workbook = Nothing Dim sh1 As Microsoft.Office.Interop.Excel.Worksheet = Nothing 'ファイルオープン wb = ex.Workbooks.Open(“D:\NewExcelBook111111.xlsx”) sh = wb.Sheets(“Sheet2”) sh1 = wb.Sheets(“Sheet3”) sh.Range(“G11”).Value = sh.Range(“G11”).Value 'セルの読み込み 法定時間内 sh.Range(“F11”).Value = sh.Range(“F11”).Value 'セルの読み込み 残業代 sh.Range(“H11”).Value = sh.Range(“H11”).Value 'セルの読み込み 深夜 sh.Range(“I11”).Value = sh.Range(“I11”).Value 'セルの読み込み 早朝 Dim a As Integer = 24 'シリアル値を変換 Dim jikyuu As Integer = 1000 '時給 Dim b As Double = sh.Range(“G11”).Value Dim c As Double = sh.Range(“F11”).Value Dim d As Double = sh.Range(“H11”).Value Dim f As Double = sh.Range(“I11”).Value Dim houtei As Integer = a * b * jikyuu Dim zangyo As Integer = a * c * jikyuu * 1.25 Dim shinya As Integer = a * d * jikyuu * 1.25 Dim soutyo As Integer = a * f * jikyuu * 1.25 Dim goukei As Integer = houtei + zangyo + shinya + soutyo sh1.Range(“C5”).Value = goukei sh1.Range(“D5”).Value = sh1.Range(“D5”).Value '10000円 sh1.Range(“E5”).Value = sh1.Range(“E5”).Value '5000円 sh1.Range(“F5”).Value = sh1.Range(“F5”).Value '1000円 sh1.Range(“G5”).Value = sh1.Range(“G5”).Value '500円 sh1.Range(“H5”).Value = sh1.Range(“H5”).Value '100円 sh1.Range(“I5”).Value = sh1.Range(“I5”).Value '50円 sh1.Range(“J5”).Value = sh1.Range(“J5”).Value '10円 sh1.Range(“K5”).Value = sh1.Range(“K5”).Value '5円 sh1.Range(“L5”).Value = sh1.Range(“L5”).Value '1円 Dim yen10000 As Integer = sh1.Range(“D5”).Value Dim yen5000 As Integer = sh1.Range(“E5”).Value Dim yen1000 As Integer = sh1.Range(“F5”).Value Dim yen500 As Integer = sh1.Range(“G5”).Value Dim yen100 As Integer = sh1.Range(“H5”).Value Dim yen50 As Integer = sh1.Range(“I5”).Value Dim yen10 As Integer = sh1.Range(“J5”).Value Dim yen5 As Integer = sh1.Range(“K5”).Value Dim yen1 As Integer = sh1.Range(“L5”).Value MessageBox.Show("1週間分の給料は" & goukei & "円です。" & ControlChars.NewLine & "10000円札は" & yen10000 & " 枚です。" & ControlChars.NewLine & "5000円札は" & yen5000 & " 枚です。" & ControlChars.NewLine & "1000円札は" & yen1000 & " 枚です。" & ControlChars.NewLine & "500円は" & yen500 & " 枚です。" & ControlChars.NewLine & "100円は" & yen100 & " 枚です。" & ControlChars.NewLine & "50円は" & yen50 & " 枚です。" & ControlChars.NewLine & "10円は" & yen10 & " 枚です。" & ControlChars.NewLine & "5円は" & yen5 & " 枚です。" & ControlChars.NewLine & "1円は" & yen1 & " 枚です。") wb.Save() ex.Quit() End Sub
一回目や二回目とは何のことでしょうか?
また、書式が置き換わっているとは具体的に何を指すのでしょうか?
sh.Range(“G11”).Value = sh.Range(“G11”).Value
や
sh1.Range(“D5”).Value = sh1.Range(“D5”).Value
など同じものに代入していますが、合っていますか?
あなたの回答
tips
プレビュー