さあ、新しい一週間の始まりですね。
今日は、ExcelVBAを使って、セルに入力された値を、タイプライターのように
1秒ずつ順次表示していくプログラムをご紹介します。
たとえば、B列2行目に「おはよう」と入力してから実行すると、次のように表示されます。
1病後・・・
1病後・・・
ってな、感じで、表示されていくのです。
さて、さっそくコードを書いてみましょう。
ALT + F11 で、VisualBasicEditorを起動します。
「挿入」→「標準モジュール」をクリックします。
そこに、次のようにコードを記述してください。
画像も載せておきます。
コードの簡単な解説です。
mid関数は、指定した位置から指定した分の文字列を取得する関数です。
Application.Wait を使うと、指定した時間だけ処理を待ちます。
それでは、エクセルに切り替えて、F5キーを押して確認してください。
今回は、B列7行目に秒数指定ができますよ。
2と入力すると、2秒おきに文字が増えていきます。
なお、同様のプログラムをVisual Basic でやろうと思うと、これまた一筋縄ではいかないのであります。
それは、またの機会に・・・
だい
今日は、ExcelVBAを使って、セルに入力された値を、タイプライターのように
1秒ずつ順次表示していくプログラムをご紹介します。
たとえば、B列2行目に「おはよう」と入力してから実行すると、次のように表示されます。
1病後・・・
1病後・・・
ってな、感じで、表示されていくのです。
さて、さっそくコードを書いてみましょう。
ALT + F11 で、VisualBasicEditorを起動します。
「挿入」→「標準モジュール」をクリックします。
そこに、次のようにコードを記述してください。
Sub typewriting() Dim s As String Dim i As Integer Dim t As Double Range("B5").Value = "" t = Range("B7").Value / 24 / 60 / 60 s = Range("B2").Value For i = 1 To Len(s) DoEvents Application.Wait Now + t Range("B5").Value = Mid(s, 1, i) Next End Sub
画像も載せておきます。
コードの簡単な解説です。
mid関数は、指定した位置から指定した分の文字列を取得する関数です。
Application.Wait を使うと、指定した時間だけ処理を待ちます。
それでは、エクセルに切り替えて、F5キーを押して確認してください。
今回は、B列7行目に秒数指定ができますよ。
2と入力すると、2秒おきに文字が増えていきます。
なお、同様のプログラムをVisual Basic でやろうと思うと、これまた一筋縄ではいかないのであります。
それは、またの機会に・・・
だい
※コメント投稿者のブログIDはブログ作成者のみに通知されます