gooポイントが当たる質問投稿キャンペーン>>

エクセルで写真や文字を自動で動かして表示させる方法を教えて下さい。
以上

このQ&Aに関連する最新のQ&A

A 回答 (4件)

エクセルは表計算ソフトで、パワポのように、プレゼンソフトではない。

あまり無理を申されるな。
ーー
ワードにはアニメーション(書式ーフォントーアニメーション)画あるが、文字が動くとはいえない。
ーー
同様の質問
http://detail.chiebukuro.yahoo.co.jp/qa/question …
ーー
どうしてもというなら、VBAでタイマーを使って、短時間ごとに
ずらした状態を表示するぐらいか無いかもしれない。VBAを今から勉強するのなら簡単ではない。
APIなどの利用も必要かも。
http://homepage2.nifty.com/DreamyCat/APIpage1.htm
ーー
http://www.happy2-island.com/excelsmile/smile04/ …
ゲームの世界などでは、当たり前に見える画像は全てが動くわけだか、エクセルでは、ソフトを作る力点が違うのです。だからMSも力を入れてない、そういう設定を盛り込んでないと思います。
ーー
何かそれ専用のフリーソフトでも探すことです。
http://www.happy500z.com/YNxv9e9.html
ーー
初等HTML文のWEBページでも、marqeeは、できないブラウザもある。最低Javascriptなど使う。
ーー
お遊び
エクセルシートのA1に
「次ぎは東京行きです。」
と入れます。
VBEの標準モジュールに下記をコピペ。
Sub test02()
Cells(1, "A").Font.ColorIndex = 3
x = Cells(1, "A") & " "
For i = 1 To 1000
Call Wait(0.2)
x = Mid(x, 2, Len(x) - 1) & Mid(x, 1, 1)
Cells(1, "A") = x
Next i
End Sub
Sub Wait(tm As Single) 'tm秒間経過後に戻るサブルーチン
Dim ts
ts = Timer
Do While Timer < ts + tm
DoEvents
Loop
End Sub
実行すると、A1セルの文字が、左へ動くように見える。(マーキー)
駅の電光掲示板のイメージです。
止める仕組みもできてないボロですが、勉強して発展させてください。

この回答への補足

http://www.geocities.jp/yyat24/memo_02.html
上記のホームページの様なものが出来ないか?
調べています。
質問が悪かったかもしれませんね。
お願いします。
        以上

補足日時:2007/07/08 19:15
    • good
    • 0
この回答へのお礼

有難う御座います。いろいろ参考になりました。
これから試して、作成して行きます。

お礼日時:2007/07/12 15:39

参考としてご提示いただいた Web ページ上で、回転アニメーション


をしているのは、アニメーション GIF です。

これは、少しずつずらした一枚絵(GIF)を複数用意し、ひとつの
ファイルにまとめたものを対応アプリケーション(ここでは IE)で
開くと、一定間隔でそれらの絵が順次表示され、アニメーションする
ものです。

ご提示の参考 URL ですが、単純にその1コマの絵を作成する手段
として Excel を使用した例を紹介しているに過ぎないと思います。
Excel や Word 上で表示...というのとは違うと思いますが..

Office ソフトだけで アニメーション GIF を作成することは不可能
です。専用のソフトが必要です。
また、Excel にはアニメーション表示の機能がありませんので、取り
得る方法は次の2つのみだと思います。

  ・#3 WebBrowser コントロールに外部ファイルを表示させる
  ・自前で VBA コードを書いて、アニメーションさせる

一般的な操作のみで簡単にはできないと思いますよ。

                           以上
    • good
    • 0

簡単なのは WebBrowser コントロールを使って、アニメーション GIF


や Flash などを表示することでしょうか。

例えば、シート[Sheet1] に[コントロール ツールボックス]から

  Microsoft WebBrowser

コントロールをシートに配置して、Open イベントで表示するように
コードを書きます。

次の例は、マクロが書かれたブックと同一のフォルダ内にある、
「test.swf」という Flash ファイルを表示します。

※ Flash ファイルは適当に用意して下さい。

Private Sub Workbook_Open()

  Dim sMediaFilePath As String
  sMediaFilePath = "file://" _
          & ThisWorkbook.Path _
          & "\test.swf"
  Worksheets("Sheet1").WebBrowser1.Navigate sMediaFilePath

End Sub

外部ファイルが必要というデメリットはありますが、Excel VBA 単体で
は不可能な高度な表現力とか、アニメーション中も Excel を通常どおり
操作できるとか...メリットも多いですよ。

この回答への補足

http://www.geocities.jp/yyat24/memo_02.html
上記のホームページの様なものが出来ないか?
調べています。
質問が悪かったかもしれませんね。
お願いします。
        以上

補足日時:2007/07/08 19:40
    • good
    • 0

V.B.A.でIncrementメソッドで操作


する位しかないですかね!
(簡単な動きは表示出来ます)
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QExcelVBAでテロップを表示したい。

ExcelVBAでテロップを表示したい。
ExcelVBAを独学でゼロから学んでる超初心者です。
worksheet上に右側から現れて左側に消えて行くというごくシンプルなテロップを作成したいのですが
ExcelVBAでテロップ作成することは出来ますか?
出来るのであれば、コードを教えて頂けるととてもありがたいです。
わがままな質問で申し訳ありません。宜しくお願い致します。

Aベストアンサー

先の物では先頭部分の表示に問題があったので修正します。
それとともに表示時間を柔軟に調節出来るようにしました。
後の欠点としては、全角半角文字の区別をしていないので、表示にズレがでてしまう問題が残っています。


------------------------------------------------------------------------

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub sample2()

Dim i As Integer, j As Long, k As Integer
Dim tmp As String
Dim mes As String
Dim word As Integer
Dim loops As Integer
Dim CEL As String

mes = "ExcelVBAでテロップを表示したい。ExcelVBAを独学でゼロから学んでる超初心者です。" & _
"worksheet上に右側から現れて左側に消えて行くというごくシンプルなテロップを作成したいのですが" & _
"ExcelVBAでテロップ作成することは出来ますか?" & _
"出来るのであれば、コードを教えて頂けるととてもありがたいです。" & _
"わがままな質問で申し訳ありません。宜しくお願い致します。"

word = 30
loops = 3
CEL = "A1"
mes = String(word, " ") & mes

For k = 1 To loops
For i = 1 To Len(mes)
DoEvents
Sleep (250)
tmp = Mid(mes, i, word)
Range(CEL) = tmp
Next
Range(CEL).ClearContents
Next

End Sub

先の物では先頭部分の表示に問題があったので修正します。
それとともに表示時間を柔軟に調節出来るようにしました。
後の欠点としては、全角半角文字の区別をしていないので、表示にズレがでてしまう問題が残っています。


------------------------------------------------------------------------

Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub sample2()

Dim i As Integer, j As Long, k As Integer
Dim tmp As String
Dim mes As String
Dim word As Integer
Dim loops...続きを読む

QExcelで文字の点滅方法

Excelでセル内の文字を点滅する方法を教えてください。
ヘルプや書籍で検索したのですが分かりませんでした。
できましたら、マクロを使わずにしたいのですが、無ければマクロでも可です。 宜しくお願いします。 使用しているVersionは"2000"です。

Aベストアンサー

Option Explicit

Private Sub Worksheet_Activate()
Const imax As Long = 5
Const tmax As Long = 10000000
Dim i As Long
Dim t As Long

For i = 0 To imax
Range("A1").Font.ColorIndex = 2

DoEvents

For t = 0 To tmax
Next t

Range("A1").Font.ColorIndex = 0

DoEvents

For t = 0 To tmax
Next t

Next i

End Sub

Qエクセルのセルに時計表示するには?

パソコンのシステム時計を使って、エクセルの1つのセルにリアルタイムに時刻を表示させる方法を教えてください。
システム時計でなくても、インターネットから標準時を取り込む方法でも良いと思います。
リアルタイムの時刻をエクセルのデータのひとつとして使いたいのです。
よろしくお願いします。

Aベストアンサー

追伸です。

# VRAMメモリのバッファの関係や仮想メモリの問題で、表示の問題は、PCの環境の問題ではないかと思います。

もう少し説明すると、Excelのワークシートに毎秒書き込むという作業そのものが負担なのです。こちらでは、その違いが分りませんが、ユーザーフォームではなく、例えば、ラベルやExcelのApplication.Caption を使うなどして、あまり、下位のRangeオブジェクトのプロパティにアクセスすることを避けるのがよいかもしれません。Rangeオブジェクトは、複合的な存在なのですね。

Qgif画像をエクセルのシートに貼り付けて動かしたい

gif画像をエクセルのシートに貼り付けて動かしたいのですが可能でしょうか?

ぐぐったら
http://home.att.ne.jp/zeta/gen/excel/c04p23.htm
がヒットしたのですが、
これは複数の画像を表示する方法ですよね?

やりたい事はひとつのtest.gifと言うファイルをエクセル上で動かしたいのです。

例えばサンプルとして
http://www.civillink.net/sozai/move.html
のペンギンををダウンロードしてデスクトップに落としましたが
これをエクセル上でブラウザと同じく動的に表示させることは可能でしょうか?

ご回答よろしくお願いします。

Aベストアンサー

PowerPointなら動きますが、ExcelやWordのレイアウト内では
[ブラウザでプレビュー]を使ってブラウザ上に表示する方法や、
[コントロールの選択]で埋め込みのブラウザを作って、その中で
動かすしかありません。
http://hokanko2008.seesaa.net/article/168786983.html

ペンギンのようなGIFアニメの場合は、ブラウザや対応している
画像ビューア、PowerPointのようなアニメーション対応ソフト
でしか基本的に動きません。

QExcelのアニメーション作成について Excelのマクロでアニメーションを作りたいのですが、For

Excelのアニメーション作成について

Excelのマクロでアニメーションを作りたいのですが、For〜Nextを用いるとアニメーションが連続的に変化せず最初と最後の結果だけ表示されてしまって困っています...

Sub フォントサイズアニメーション()
For s = 1 To 100
Range(''A1:E5'').Font.Size = s
Next
End Sub

フォントサイズを連続的に変化させるアニメーションなのですが、何かおかしいでしょうか?
図書館で借りた本のものをそのまま引用しているので間違いはないと思うのですが...
古いバージョンの本なので設定がおかしいのかとも思ったのですがどこの設定を変えれば良いのかも分かりません...
原因が分かる方がいたら回答よろしくお願いします。

Aベストアンサー

たぶんこう
For s = 1 To 100
Range(''A1:E5'').Font.Size = s
Doevents
Next

VBAは自分の処理が終わるまで結果をOSに返さない場合があります。
OSに処理を渡す関数が
Doevents
です。

QEXCEL VBA で現在開いているブックのファイル名を取得する方法

EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。
作業手順をマクロを使って処理していますが、オリジナルのワークブックをファイル名を変えて保存し、以後、このワークブックを読み込んで使用しています。
このときのVBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり、以後の業務に使用できません。
常にファイル名を取得出来るVBAをどなたか、教えて下さい。

Aベストアンサー

>現在開いているブックのファイル名
 ちょっと曖昧な表現かなぁという気もいたしますが、VBAが書いてあるブックのブック名は
ThisWorkbook.Name
で、現在 "アクティブにして" 操作対象になっているブックの名前は
ActiveWorkbook.Name
ですね。

 しかし、
>VBAは、オリジナルのファイル名を使っているため、ファイル名を変更するとエラーになり
というような文脈からすると、
ThisWorkbook.Name
の方ですかね。

Qエクセル VBA ユーザーフォームを閉じる

ユーザーフォームを開く時は
UserForm1.Showですが
閉じる時は?
UserForm1.Close
だとコンパイルエラーになります。
End
にするしかないですか?

Aベストアンサー

Unload Me とか Unload UserForm1 でユーザーフォームを閉じることができます。

Qエクセルで、条件に一致した行を別のセルに抜き出す方法

エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。

たとえば、

<A列> <B列> <C列>
7/1 りんご 100円
7/2 ぶどう 200円
7/2 すいか 300円
7/3 みかん 100円

このような表があって、100円を含む行をそのままの形で、
別のセル(同じシート内)に抜き出したいのですが。

7/1 りんご 100円
7/3 みかん 100円

抽出するだけならオートフィルターでもできますが、
抽出結果を自動的に、別の場所に、常に表示させておきたいのです。

初歩的な質問だと思いますが、検索しても分からなかったので、よろしくお願いします。

Aベストアンサー

同じ質問が結構よく出てますが、そんなに初歩的でもありません
別シートのA1セルに「100円」と入力し、そのシートの任意のセルに以下の式を貼り付けて下さい。後は、下方向、右方向にコピー。
日付のセル書式は「日付」形式に再設定してください

=IF(COUNTIF(Sheet1!$C:$C,$A$1)>=ROW(A1),INDEX(Sheet1!A:A,LARGE(INDEX((Sheet1!$C$1:$C$500=$A$1)*ROW(Sheet1!$C$1:$C$500),),COUNTIF(Sheet1!$C:$C,$A$1)-ROW(A1)+1)),"")

データ範囲は500行までとしていますが、必要に応じて変更して下さい

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

QSub ***( ) と Private Sub ***( ) の違い

初歩的な質問で申し訳ありませんが・・・

自分でコードを書いていても、イベントが発生したりした時の処理で、コードのウィンドウで上のドロップダウンリストで選択できる時の処理などは自動的に[Private Sub Command1_Click( )]などと出てくるのでそのまま使っています。自分で別途プロシージャーを作成する時は[Sub ****( )]としています。
ですがその違いを理解しないまま、自分で作成する時は[Private Sub]ではなくて[Sub]を使っています。

Sub ***( ) と Private Sub ***( ) の違いは何なんでしょうか?
どなたか説明頂けませんか?
よろしくお願いします。

Aベストアンサー

「Sub」の部分にカーソルを置いて[F1]を押せばヘルプが起動します。
「指定項目」のところに「Public」と「Private」の説明がありますよ。
省略して「Sub hogehoge()」とした場合は「Public」とみなされます。

Publicは「すべてのモジュールから呼び出せるプロシージャ」ということになります。
Privateとすると「同じモジュールの中からしか呼び出せないプロシージャ」となります。

もしExcelをお持ちでしたらExcelのVBEで標準モジュールを追加し、「Sub Test1()」と「Private Sub Test2()」を作成してみてください。
そしてExcelの[ツール]-[マクロ]-[マクロ(Alt+F8)]でマクロ実行のダイアログを表示させてみるとわかります。
ここには実行できるプロシージャの一覧が表示されますが、Test1は表示されているけれどTest2は表示されません。
Test1はPublicで、Test2はPrivateだからです。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング