
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あああ..ああい..ああう とい...
-
VBAにて『元に戻すボタン』を作...
-
エクセルで選択したセルがディ...
-
打込み作業の自動化
-
Excel UserForm の表示位置
-
ExcelVBAでテキストルーレット...
-
【VBA】写真の貼り付けコードが...
-
vba マージエリアの行数を非表...
-
エクセルVBA ダブルクリックし...
-
複数の列の値を結合して別の列...
-
【マクロ】実行時エラー '424':...
-
Excelマクロ 該当する値の行番...
-
セルの半透明着色処理
-
マクロ1があります。 A1のセル...
-
前月分を次月シートに繰越でき...
-
文字列の結合を空白行まで実行
-
エクセルVBAでオブジェクトが必...
-
エクセル マクロで数値が変っ...
-
EXCELのSheet番号って変更でき...
-
エラーコード1004
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あああ..ああい..ああう とい...
-
VBAにて『元に戻すボタン』を作...
-
select caseの入れ子
-
VBAバーコード照合 バーコード...
-
vbs 文字位置を中央に
-
エクセルで選択したセルがディ...
-
指数関数近似を行うプログラム...
-
エクセルで簡単なオートシェイ...
-
VBAについて
-
xlookup関数の引数を利用して検...
-
エクセルVBAのプログラム
-
スペース区切りのAND検索
-
VBA コード エラー対処
-
最大値が0b100である3bit同士の...
-
マクロにてセルに文字表示
-
targetでクリックしたら○
-
日付け関数について
-
プログラムの記述方法について
-
【マクロ】実行時エラー '424':...
-
「段」と「行」の違いがよくわ...
おすすめ情報
有難うございます。
しかし、問題がありました。
保存しないで閉じるとカウントが
されません。なにか、いい方法はないでしょぅか
Workbooks. Sheet name. Saveでやりましたがダメでした