- ベストアンサー
文字列をスライドショーorフラッシュにする方法
- エクセルに入力された単語をスライドショー形式で表示する方法について調べています。
- 文字列を画像に変換することなく切り替えて表示させる手軽な方法を探しています。
- フリーソフトでは文字の大きさや英語・日本語の表示が制限されることがあります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
VBE画面のプロジェクトウインドウのThisWorkbook をダブルクリック 以下をコピー貼り付け '--------------------------------------------------------------- Public Sub 開始() Dim EndPos As Long Dim i As Long EndPos = Sheets("英単語").Range("A1").End(xlDown).Row i = 0 UserForm1.Show vbModeless Do While True 'エンドレス UserForm1.Label1.Caption = Sheets("英単語").Range("A1").Offset(i).Value wait 1 '1秒待つ i = i + 1 If i = EndPos Then i = 0 Loop 'UserForm1.Hide End Sub Private Sub wait(sec As Long) Dim etime As Date etime = DateAdd("s", sec, Now) ' 今からsec 秒後 Do Until etime < Now DoEvents Loop End Sub --------------------------------------------------------------- プロジェクトウインドウのUserForm1 を右クリックからコードの表示 画面で 以下をコピー貼り付け '--------------------------------------------------------------- Private Sub UserForm_Terminate() End 'フォームの×ボタンで無限ループを終了させる End Sub
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
エクセルのUserForm にLabel を貼り付けてフォントを大きくしておいて、 セルに入力されている単語を Label1.Caption = Sheets("英単語").Range("A1").Offset(i).Value みたいな感じで、表示すればいいんじゃないかと思います。
お礼
User Formというのを初めて知りました。 ある一定時間毎に文字列を表示させるプログラムが組めるのですね。 ちょっと検索してやってみようとしたのですが どこをどうすればよいのか・・ Visual Basicを立ち上げて User Foem にLabelを貼り付けてフォントを大きくする、というところまで出来たのですが、 そのあとのLabel1.Caption = Sheets("英単語").Range("A1").Offset(i).Value はどこに入力 もしくは命令文?すればよいのでしょうか。 是非やってみたいので、 お手数かと思いますがもう少し詳しく教えていただければ嬉しいです。
お礼
プログラムを組んで頂いてありがとうございます。 早速やってみた所、成功しました! エクセルだけでこんな事が出来るとは思いもしなかったので感動です。 本当に奥が深いですね。 かなり手間が省けて、活用の仕方も応用が利きそうです。 文字の色を変えたり時間を変えたりと色々やってみます!