No.3ベストアンサー
- 回答日時:
No.1です。
すでにNo.2さんが的確な回答をされていますので、余計なお世話かもしれませんが・・・
強制的に上書き保存させるだけです。
Private Sub Workbook_Open()
With Worksheets("Sheet1").Range("A1")
.Value = .Value + 1
End With
ThisWorkbook.Save
End Sub
こんな感じで m(_ _)m
No.4
- 回答日時:
こんにちは。
私も少し考えてみました。
ただし、
> セルa1に表示回数
これでは、Saved プロパティが変わってしまいますので、ステータスバーを使うことにしました。
最初の一回目だけは、1が立つけれども、それは表示には出ません。2度目からです。
ファイル・ベース名.ini ファイルに書き込まれます。もし、これが消されることが心配なら、別の場所の方がよいかもしれません。
'//ThisWorkbook モジュール
Private Declare Function WritePrivateProfileString Lib "kernel32.dll" Alias _
"WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal _
lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As _
Long
Private Declare Function GetPrivateProfileInt Lib "kernel32.dll" Alias _
"GetPrivateProfileIntA" (ByVal lpApplicationName As String, ByVal lpKeyName _
As String, ByVal nDefault As Long, ByVal lpFileName As String) As Long
Private Sub FirstIniWrite()
Dim sFN As String
Dim msg As Long
Dim Ret As Long
Dim fn As String
Const sName As String = "Count"
Const myKey As String = "Times"
Const vbMyError As Integer = 513
On Error GoTo ErrHandler
fn = ThisWorkbook.Name
fn = Left(fn, InStrRev(fn, ".") - 1)
sFN = Application.DefaultFilePath & "\" & fn & ".ini"
If Dir(sFN) <> "" Then
msg = iniRead(sFN)
msg = CLng(msg) + 1
Ret = WritePrivateProfileString(sName, myKey, CStr(msg), sFN)
Application.StatusBar = "times: " & CStr(msg)
Else
Ret = WritePrivateProfileString(sName, myKey, "1", sFN)
End If
If Ret = 0 Then
MsgBox "iniファイルの作成に失敗ししまた。", vbCritical
Err.Raise vbMyError
End If
Exit Sub
ErrHandler:
MsgBox Err.Description
End Sub
Private Function iniRead(ByVal sFN As String) As Long
Dim sName As String
Dim myKey As String
Dim deFault As Long
Dim Ret As Long
sName = "Count"
myKey = "Times"
deFault = 1
Ret = GetPrivateProfileInt(sName, myKey, deFault, sFN)
iniRead = Ret
End Function
Private Sub Workbook_Open()
Call FirstIniWrite
End Sub
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.StatusBar = False 'シートに入力すれば、ステータスバーの回数は消えます。
End Sub
No.1
- 回答日時:
こんばんは!
>セルa1に表示回数
Sheet1のA1セルとします。
Private Sub Workbook_Open()
With Worksheets("Sheet1").Range("A1")
.Value = .Value + 1
End With
End Sub
で大丈夫だと思います。m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- Excel(エクセル) エクセルで、 A1セルに「A」という値、 B1セルに「B」という値が入っています。 どちらも表示形式 5 2023/02/22 23:05
- Excel(エクセル) 表計算ソフトcalcにおいて、1時間10分を1.1と表記する方法とそれらを集計する方法は? 4 2022/04/06 16:54
- Excel(エクセル) エクセルのことで教えてください。 A1セルに、 別シートのA1セルが1のときは「A」、2のときは「B 4 2023/02/24 23:08
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセルで日付に続けて連番を表示したい 6 2022/05/25 23:33
- Excel(エクセル) エクセルの関数式を教えてください。 2 2022/11/29 21:09
- Excel(エクセル) ある範囲のセルに何を入力すると、別のセルに○を表示させる 3 2022/04/05 15:51
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/11 14:50
- Visual Basic(VBA) 昨日、質問した件『VBA にて、条件付き書式で背景色を設定しているセルの範囲で、背景色付きのセルをカ 4 2022/04/07 14:39
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あああ..ああい..ああう とい...
-
指数関数近似を行うプログラム...
-
select caseの入れ子
-
VBAにて『元に戻すボタン』を作...
-
VBAマクロ実行時エラーの修正に...
-
Worksheets メソッドは失敗しま...
-
Cellsのかっこの中はどっちが行...
-
【Excel関数】UNIQUE関数で"0"...
-
vba 2つの条件が一致したら...
-
B列の最終行までA列をオート...
-
エクセルVBA 配列からセルに「...
-
【Excel VBA】一番右端セルまで...
-
マクロの「SaveAs」でエラーが...
-
VBA シートをコピーする際に Co...
-
エクセルで特定の文字列が入っ...
-
LEFT関数とIF関数の組み合わせ...
-
入力規則のリスト選択
-
エクセルで離れた列を選択して...
-
Excel VBAでのWorksheet_Change...
-
EXCEL VBA 文中の書式ごと複写...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あああ..ああい..ああう とい...
-
VBAにて『元に戻すボタン』を作...
-
select caseの入れ子
-
VBAバーコード照合 バーコード...
-
xlookup関数の引数を利用して検...
-
vbs 文字位置を中央に
-
エクセルで選択したセルがディ...
-
スペース区切りのAND検索
-
ASPでバイナリ(ビッグエンディ...
-
半透明ブラシ重ね塗りのアルゴ...
-
エクセルで特定の文字列が入っ...
-
VBAマクロ実行時エラーの修正に...
-
マクロの「SaveAs」でエラーが...
-
VBA シートをコピーする際に Co...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
エクセルで離れた列を選択して...
-
Worksheets メソッドは失敗しま...
-
VLOOKUPの列番号の最大は?
-
Excelで、あるセルの値に応じて...
おすすめ情報
有難うございます。
しかし、問題がありました。
保存しないで閉じるとカウントが
されません。なにか、いい方法はないでしょぅか
Workbooks. Sheet name. Saveでやりましたがダメでした