以下のvbaコードを使用して、あるシートから別のシートにセル値をコピーします。値は常に数値になります。ソースとターゲットの両方のセルを数値としてフォーマットしました。しかし、vbaが動くときはいつも、セルフォーマットに変更がないのに、私はメッセージ" Number stored as text"
を受け取っています。 どうすれば解決できますか? VBAコード:vbaを使用してセルのフォーマットを変更します
Private Sub Worksheet_Calculate()
Application.ScreenUpdating = False
Dim ws As Worksheet
Set mw = Workbooks("StockScreen.xlsm").Sheets("MW")
Set ws = Workbooks("StockScreen.xlsm").Sheets("TimeStampWork")
If Value <> mw.Range("A2").Value Then
Range("A2,E2").Copy
ws.Range("B" & ws.Cells(ws.Rows.Count, "B").End(xlUp).Row + 1).PasteSpecial xlPasteValues
Dim Max
Dim Min
Max = Application.WorksheetFunction.Max(ws.Range("b:b"))
Min = Application.WorksheetFunction.Min(ws.Range("b:b"))
Sheets("TimeStampWork").Range("F2") = Max
Sheets("TimeStampWork").Range("G2") = Min
End If
End Sub
を試してみてください?ソース範囲の '.Value'をターゲット範囲の' .Value'に代入するだけです。 –
@JohnColeman提案していただきありがとうございます。それに応じて私のコードを変更しました – acr