[[20100326102626]] 『シート開いた時にセル内文字を点滅させたい』(はとむぎ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シート開いた時にセル内文字を点滅させたい』(はとむぎ)

 エクセルファイルを開くと同時にセル内の文字を点滅させたいのです。
 点滅させたいのはsheet1のA1だけなのでシートへ下記マクロを書込んだ
 のですが、sheet1から一度sheet2を表示させて再びsheet1に戻ればセル
 A1は点滅を開始します。

 しかし、最初にファイルを開いた時点では点滅を開始しません。

 無知で困っています。どなたか教えてください。
 ・・・下記マクロもコピペしただけで内容もあまり理解できてません・・

 Private Sub Worksheet_Activate()
  Dim selR As Range
  Dim selId() As Integer
  Dim selNum As Integer
  Dim i As Integer, colorId(1) As Integer
  Dim counter As Integer, setTime, flash
  Dim MySht As String               '追加
  Set selR = Range("A1") '点滅させるセル範囲
  selNum = selR.Count
  colorId(0) = 3                    '点滅色
  colorId(1) = 2                    ' 〃
  MySht = ActiveSheet.Name          '追加
  ReDim selId(1 To selR.Count)
  For i = 1 To selR.Count
    selId(i) = selR(i).Font.ColorIndex
  Next i
  While MySht = ActiveSheet.Name    '変更
    For Each flash In colorId
      selR.Font.ColorIndex = flash
      setTime = Timer
      Do
        DoEvents
      Loop Until Timer >= setTime + 0.3
    Next flash
  Wend                              '変更
  For i = 1 To selR.Count
    selR(i).Font.ColorIndex = selId(i)
  Next i
 End Sub


 Thisworkbookに
 Private Sub Workbook_Open()
  Sheets("該当シート名").activate
 End Sub
 とか。

 尚、
 >sheet1から一度sheet2を表示させて再びsheet1に戻ればセル
 >A1は点滅を開始します。
 は、そのまま動作します。
 BJ

 Worksheet_Activateイベントはご自身で試しておられるように、
ワークシートがアクティブでない状態からアクティブな状態になったときに起動します。
ブックオープンのときからアクティブのままでは起動しません。
 
Workbook_Openイベントでシートを選択しなおすようなマクロを
作っておけばよいのではないでしょうか。
「sheet1から一度sheet2を表示させて再びsheet1に戻る」という動作をマクロで記録
Macro1()という名前のマクロが標準モジュールに記録されたとすると、
ThisWorkBookモジュールへ下記。
 
Private Sub Workbook_Open()
Macro1()
End Sub
 
(みやほりん)(-_∂)b

 みやほりんさん、BJさん ありがとうございました。

 (はとむぎ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.