• ベストアンサー

EXCELでプログラム処理をしたいです。

下記の条件で プログラム処理をしたいです。  (1)出題文章どおりにIPさせてその時間を測る。  (2)出題通りのIPでなければ先には進めない。  (3)10問完了した時点の分秒をタイマー表記。   昔ベーシックでは可能でした。 Excelの IF 関数でプログラム 出来そうなんですが??  識者様教えて頂けませんでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.1

単なる関数では対応できませんね。マクロになるでしょう。 例えば次のような表にします。 A2セルからA11セルまでに10問の出題文章を入力しておきます。そこでB列に出題通りの文章を入力させ、A列の文書とB列の文章が一致した時には最初からの経過時間をC列に表示させることにします。 B1セルには次のような文章を入力しておきます。 「ここをクリックしてから作業を始めてください。」 このB1セルをクリックすることで時間の計測が始まるようにします。 そこでマクロの設定ですが該当のシート見出しを右クリックして「コードの表示」を選択します。 表示の画面には次のコードを入力します。 Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range) If Target = Range("B1") Then Range("C1") = Time Range("B2:C11") = "" End If End Sub Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Integer On Error Resume Next If Target.Column <> 2 And Target.Row = 1 Then Exit Sub If Target.Value = Cells(Target.Row, 1).Value And Cells(Target.Row - 1, 3) <> "" Then Cells(Target.Row, 3) = Time - Range("C1").Value End If End Sub

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

回答No1です。 マクロでDim i As Integerは必要なかったですね。削除して使用してください。

関連するQ&A

  • 順番に処理させたい

    とある処理を順番どうりに処理させるにはどのような関数を入れるといいのでしょうか? タイマーで処理させていますが、 勝手に順番が入れ替わってしまうようなんです。 処理A 処理B 処理C となっています。 がなぜか処理Bが先に行われて、処理Aが行われます ※タイマーは2秒(2000MS)おきに実行し、一定の条件(その条件もタイマーで決定させる) ちなみに行数はそんなに多くないです。(多分・・・) 以上御願いします。 ちなみに .NET です。

  • エクセル IF関数を使って・・・

    こんな表です。  1 2 3 4 5 A◎ ◎ ◎ ◎ ◎ 完了  B△ ○ △ ○ △ 不備 C△ △ △ △ ○ 不備 の感じなんですが1から5まで◎がつけば完了が表記されるように関数でやろうと思ったのですが、IF関数でよかったのでしょうか? どうもうまくいきません それとも記号なのでまた違うのでしょうか よろしくお願いします。

  • タイマー 活用

    タイマー活用で 仕事の完了時間を管理したいのです。 何か良い方法を教えてくださいませんか? 識者様教えて頂けませんでしょうか? 関数を教えて頂けませんでしょうか?  

  • ExcelでIF文などを使いこなしたいのですが・・

    Excelのセルの中にIF文などを埋め込んだりする処理を 何というのでしょうか? Excelをよく使うのですが、SUM関数などしか知らない為、 セルにIF文を埋め込む処理をもっと覚えたいと思うのですが どういう本を買えばいいのか分かりません・・。 Excelの関数の本でしょうか? Excelの関数の本については初歩的な本をもってるのですが、 関数ウィザード?を使ったものしか載ってなくて、 IF文などについては全く載っていません・・。 マクロ?とかいうものについて書かれた本を 買えばいいのでしょうか? それから、IF文等は、Excelだけではなく、Wordも使えるのでしょうか? 使えるとしたら、文法は全く一緒でいいのでしょうか?

  • EXCEL で タイマー

    EXCEL で タイマーを使い I/P 能力UPしたいのです。 (1)スタートクリック =時間表示 (2)終了 クリック  =時間表示   (1)(2)の差は作業所用時間。   これの短縮する事が目的。 EXCELでの関数を駆使して出来ないかな?  識者様教えて頂けませんでしょうか?

  • Excelファイルの処理、どのプログラムがよい?

    .csvファイルが100個くらいあります。 各ファイルの行数は500~65000ほど、列数は7前後です。 これらのファイルを読み込み、単純操作を行い、結果表示をしたいというのが目的です。 1.具体的にはフォームにファイル一覧が表示される 2.一覧からファイルをクリックすると、ファイルがメモリあるいは、グリッド(?)などに読み込まれる 3.読み込まれたファイルに単純なExcelの処理をほどこす(MAX,MIN関数や加減乗除など) このプログラムを作成するには、どのアプリケーションで作成すべきですか? 自分ができそうなのは、VB.net、Excel、VBAなど(全てサンデープログラマー程度)です。 Javaとか使えません。

  • エクセルVBAでタイマーコントロールは使えますか

    エクセルVBAでタイマーコントロールは使えますか。 エクセルVBAで、ある時刻になったらマクロを実行させたいと思っています。 無限ループの中にTIME関数で時刻を呼び出し、それをIF文で判定して、 一定時刻にマクロを実行させるものは作りましたが、CPU負荷が高く、24時間 連続で動作させることに不安を感じています。 この他に、VBのタイマーコントロールのような機能を持つオブジェクトや 便利機能等があったら教えていただけませんか。 (一応、VBで時刻管理をするプログラムを作ってそこからエクセルVBAを呼 び出す方法やタスクスケジューラでエクセルVBAを呼び出す方法、ATコマンド 等も考えていますが、可能ならエクセルVBAで閉じて処理をしたい)。 尚、私はWindowsMe+エクセル2000でVBAを作成しています。 実際にVBAを動かすのは、WinsowNT4.0サーバー+エクセル2000を予定してい ます。

  • Excel のVlookup の処理方法について

    Excel での Vlookup 関数の処理法についてお教え下さい。 =IF(A1=””、””、VLOOKUP(A1,X1:Z9,2,FALSE)) で 2 行目の該当セル値がないとき、目的セルは  0 表示されますが。この時、目的セルを無表示にしたいのですが、どの様な数式を組めばよいかお教え下さい。

  • エクセルの関数でのデータ処理が重い

    お願いします。 エクセルで2万件のデータを関数処理しています。時間がかかるのでVBAで処理できればと 考えています。 A列に当日の顧客コード B列に前日の顧客コード   以下の式によって、前日と当日を比較して増えた顧客と減った顧客を表示させています。 C列に=IF(COUNTIF(B$2:B$23000,A2)>=1,"","増")の関数が入っています。 計算させた後でC列をオートフィルタで増のみ表示し、確認。 D列に=IF(COUNTIF(A$2:A$23000,B2)>=1,"","減")の関数が入っています。 計算させた後でD列をオートフィルタで減のみ表示し、確認。 これをVBAで処理して時間の短縮をしたいのでお教え頂ければ幸いです。 宜しくお願いします。

  • エクセルの処理速度関係の質問です。

    エクセルの処理速度関係の質問です。 エクセルシート上、60万個程度のセルに関数を入れています、 それぞれの関数はVBAにより変数を変化させ、その都度再計算され、 結果を集計、集計結果もシー上へ表示しています。 セルが多い為、変数の変化回数が多いとそれだけ時間が掛かるのですが、 (数時間から数日) もしこれを、VBなどのプログラム内で行えば瞬時に計算されるのでしょうか? エクセルの関数が入っているシートがそのまま再現出来るのかどうかも不明で、 そのあたりも含めた質問なのですが・・。 よろしくお願いいたします。

専門家に質問してみよう