2017-10-30 5 views
0

私は、ファイルを開いたときにセルを更新するマクロを作成しようとしています。私は424エラーを取得しているので、私は自分のコード/オブジェクトを定義するより良い仕事をしようとしましたが、それはまだ成功していませんでした。本当に簡単なことを見落としていると思いますが、私はそれを理解することができません。これが私の最初のプロジェクトです。それで、うまくいくことが分かります。Excelファイルを開くマクロ

Private Sub Auto_Open() 

    Dim Try1 As String 
    Try1 = ActivateSheet.Cells(3, 2).Select 
    Tryl = "-" 

    ' My first attempt is shown below 
    ' 
    'Sheets("Current Calc").Activate 
    'ActivateSheet.Cells(3, 2).Value = "-" 

End Sub 

答えて

2

あなたは、それはまた...

Sheets("Current Calc").Activate 
ActiveSheet.Cells(3, 2).Value = "-" 

どうあるべきか...

Sheets("Current Calc").Activate 
ActivateSheet.Cells(3, 2).Value = "-" 

をあなたが持っているどのようなあなたのコメントコード

のタイプミスを持っています必要がない限り.Activate.Selectを使わないでください。それは言われていると、私の代わりに以下のコードを...お勧めしたい

Sheets("Current Calc").Cells(3, 2).Value = "-" 

EDIT:

Auto_Openを使用して、Excelが実行するコードためにMANUALLYを開く必要があります。したがって、VBA経由で開かれている場合、このイベントはトリガされません。あなたは、イベントが手動でVBA経由でトリガと同様にしたい場合は、私がWorkbook_Open

+1

フィードバックをいただきありがとうございます。もう一度タイプミスをして、私のすべての選択肢を知らないと、私の落ち込みになります。 – icstarz2

1

を使用してお勧めしたい以下のサブで試してみてください。

Private Sub Workbook_Open() 

    Dim Try1 As String 

    Try1 = ActiveSheet.Cells(3, 2).Select 
    Tryl = "-" 

End Sub 

いくつかのアドバイス:

  1. がであなたのコードを書きます小文字。行を変更すると、コードは大文字と小文字に自動的に変更されます。これにより、入力ミスがあるかどうかを検出します。
  2. 関数またはオブジェクトを作成するant type .これはドロップダウンリストを開きます。これにより、入力ミスを避けることもできます。
+0

アドバイスと "最高のコーディング実践"に感謝します。私はいつも学習と改善を続けたいと思っています。あなたが読めるVBAの最高のコーディング慣行のリストを知っていますか? – icstarz2

+0

こんにちは、それは喜びです。 [Excel VBAのパフォーマンス](https://blogs.office.com/en-us/2009/03/12/excel-vba-performance-coding-best-practices/)と[VBAベストプラクティス](http ://www.spreadsheet1.com/vba-development-best-practices.html) –

関連する問題