エクセルマクロを書くときによくある問題とその対処法

この講座は定額コースで利用可能です。
エクセルマクロを書くときによくある問題とその対処法

講座の概要

エクセルマクロを書くときによくやってしまう問題と、その解決策について指南しています。初歩的な問題でひっかかってしまう方向け。

この講座の難易度:
この講座の教材ページ数: 11
この講座の動画の総時間数: 42分46秒
この講座の投稿/コメント数: 44

講座の詳細

この講座での学習内容詳細を見るには、講座受講権限が必要です。

関連資料

講座を利用可能になると、関連資料ダウンロードリンクがここに表示されます。

この講座の利用方法

この講座を含む定額コースに参加するか、この講座を購入することで、講座を利用できるようになります。
定額コースに参加すると、そのコースの利用期間中はいつでも講座を利用できます。
講座を購入すると、いつでも講座を利用できます。

  • この講座を利用できる定額コースはありません。
  • この講座は購入可能です。(3,000円) この講座を購入する

この講座のページリストを表示する/非表示にする(11ページ)

初心者がやってしまいがちな問題とその対処法 - 導入

理解度: 

初心者の方がやってしまいがちな問題はある程度決まってきます。この動画シリーズでは、よくある問題とその対処法について解説していきます。この動画ででてくる問題について事前に知っておけば、あとで同じようなことが起こったとしても、ある程度は自力で解決できるようになるでしょう。

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

エクセル画面でメニューを選択できない場合の対処法

理解度: 

エクセル画面でマクロ関係のメニューを選択できないという問題は、初心者に極めて多い問題です。
その原因はざっくり言うと、ほぼ間違いなく以下のどちらか。
○どこかのセルが編集中だから
○「小人ちゃん」が他の仕事の最中だから

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

Visual Basic Editorのウィンドウサイズを変更できない場合の対処法

理解度: 

VBEをはじめて起動したときに特に多い問題。どんなにがんばっても、ウィンドウサイズが最大になったまま、小さくできない?!

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

Visual Basic Editorのウィンドウサイズをアクティブにできない etc

理解度: 

「エクセル画面でメニューを選択できない場合の対処法」でも解説しましたが、エクセル画面でセルが編集中だと、諸処の問題が起こります。Visual Basic Editorのウィンドウサイズをアクティブにできないという問題も、まさにその典型。

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

マクロが無効に設定されています

理解度: 

「マクロが無効に設定されています」という表示が出たなら、その原因の可能性は以下の2つです。
○エクセルの初期設定が適切でない
○エクセルファイルを開くときの操作が適切でない
このどちらか(あるいは両方)でしかありませんので、ひとつひとつ確認して、問題をつぶしていってください。

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

黄色の状態で放置することで生じるその他の問題

理解度: 

黄色くなっている行がある状態でテスト実行をやめるということは、「小人ちゃん」を自分の用事で呼び出したまま、家に帰さないということです。そんな状態で放置しておくと、あとあと問題が起こりがちです。では、どんな問題が起こりがちで、どう対処すればよいのか?というと?

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

F5、F8を押しても何も起こらない等

理解度: 

[F5]キーや[F8]キーを押したとき、実行して欲しかったプログラムが実行されず、代わりに不可解な現象(?)と感じることが起きるかもしれません。起こり得る不可解な現象と、その対象法について解説。

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

ショートカットキーやアクセラレータキーでVisual Basic Editorを操作できない

理解度: 

エクセルやVBEをショートカットキーやアクセラレータキーで操作できないとき。

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

Insertキーを押してしまったことで生じる問題

理解度: 

プログラムを書いている側から、カーソルの右側にある文字が消えていってしまう?!という問題(?)で戸惑われる方がときどきいらっしゃいます。原因は、[上書きモード]になっているからです。

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

Sub と End Sub が対になっていないことで生じる問題

理解度: 

○End Subが必要です
○プロシージャの外では無効です
○End Sub, End Function または End Property 以降には、コメントのみが記述できます
そんなエラーメッセージが出ても、何が何だか分からないあなたへ。
起こった問題と、そういう問題を起こしがちな人への処方箋です。

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

ハナコのステップ

理解度: 

初心者の方がFor Next構文、If文といった構文を作るとき、手順をはしょるとだいたい失敗します。なぜか。作り方を間違えている(というか、正しい作り方を知らない)からです。

このページのメモはまだありません。
学んでいて気になったこと、気づいたことなどをメモしましょう。
メモでは、このページでの学習内容に対するあなたの理解度、あなたにとってのこのページの内容の重要度を記録することもできます。

このページのメモフォームへ

この講座での投稿を表示する/非表示にする(44件)

投稿ID: 4828 受講生さんの投稿
動画の内容とタイトルが一致していないようにおもいます。
この投稿には、4件の返信があります。  投稿日時: 2020年08月23日 00時20分46秒
投稿ID: 4693 受講生さんの投稿
「F8」キーを押してもステップインができませんでした汗
パソコンによってショートカットキーの使い方がことなるのでしょうか?

この投稿には、3件の返信があります。  投稿日時: 2020年04月28日 08時23分53秒
投稿ID: 3117 ゲストさんの投稿
お世話になっています。
下記のプログラムで実行しましたが、実行後の結果はプログラムが動いていない。
何が問題なのでしょうか? sub matching()が動きません。

下記 sub InvoiceUK転記()を添付します。

=======================================
Sub InvoiceUK転記()


Dim i As Integer
Dim 最終行 As Integer


最終行 = Worksheets("出荷一覧UK").Range("A1").End(xlDown).Row


For i = 3 To 最終行


With Worksheets("Invoice UK")



.Range("A" & i * 5 + 11).Value = Worksheets("出荷一覧UK").Range("A" & i).Value
.Range("A" & i * 5 + 12).Value = Worksheets("出荷一覧UK").Range("B" & i).Value
製品名 = .Range("A" & i * 5 + 12).Value
.Range("F" & i * 5 + 12).Value = Worksheets("出荷一覧UK").Range("C" & i).Value

matching


End With



Next

End Sub

Sub matching()


Dim data

For data = 2 To 700

If Worksheets("Invoice UK").Range("A" & i * 5 + 12).Value = Worksheets("BrooksItemDatabase").Range("A" & data) Then

Worksheets("Invoice UK").Range("A" & i * 5 + 13).Value = Worksheets("BrooksItemDatabase").Range("E" & data).Value
Worksheets("Invoice UK").Range("A" & i * 5 + 14).Value = Worksheets("BrooksItemDatabase").Range("G" & data).Value
Worksheets("Invoice UK").Range("E" & i * 5 + 12).Value = Worksheets("BrooksItemDatabase").Range("F" & data).Value
Worksheets("Invoice UK").Range("H" & i * 5 + 12).Value = Worksheets("BrooksItemDatabase").Range("C" & data).Value

End If

Next




End Sub
この投稿には、1件の返信があります。  投稿日時: 2017年05月27日 00時29分21秒
投稿ID: 3115 受講生さんの投稿
> 下記 subプログラムのsub 転記()の中でVlookup関数を
> マクロでプログラムする場合、"Set 検索する値 = Range("A" & i * 5 + 12).Value"の行で"オブジェクトが必要
> です”のエラーメッセージがでました。
> 何が問題か教えてください。
>
> sub プログラム
> =======================================
> Sub InvoiceUK転記()
>
>
> Dim i As Integer
> Dim 最終行 As Integer
>
>
> 最終行 = Worksheets("出荷一覧UK").Range("A1").End(xlDown).Row
>
>
> For i = 3 To 最終行
>
>
> With Worksheets("Invoice UK")
>
>
>
> .Range("A" & i * 5 + 11).Value = Worksheets("出荷一覧UK").Range("A" & i).Value
> .Range("A" & i * 5 + 12).Value = Worksheets("出荷一覧UK").Range("B" & i).Value
> 製品名 = .Range("A" & i * 5 + 12).Value
> .Range("F" & i * 5 + 12).Value = Worksheets("出荷一覧UK").Range("C" & i).Value
>
> 抽出
>
>
> End With
>
>
>
> Next
>
> End Sub
>
> Sub 抽出()
>
>
>
> Dim 検索する値 As Range, 検索する範囲 As Range
> Dim 検索結果1 As String, 検索結果2 As String, 検索結果3 As String, 検索結果4 As String
> Dim データベースシート As Worksheet
>
> Set データベースシート = Worksheets("BrooksItemDatabase")
> Set 検索する値 = Range("A" & i * 5 + 12).Value
> Set 検索する範囲 = Range(データベースシート.Range("A2"), データベースシート.Range("G700"))
>
> 検索結果1 = Application.WorksheetFunction.VLookup(検索する値, 検査する範囲, 5, False)
> 検索結果2 = Application.WorksheetFunction.VLookup(検索する値, 検査する範囲, 7, False)
> 検索結果3 = Application.WorksheetFunction.VLookup(検索する値, 検査する範囲, 6, False)
> 検索結果4 = Application.WorksheetFunction.VLookup(検索する値, 検査する範囲, 3, False)
>
> Worksheets("Invoice UK").Range("A" & i * 5 + 13).Value = 検索結果1
> Worksheets("Invoice UK").Range("A" & i * 5 + 14).Value = 検索結果1
> Worksheets("Invoice UK").Range("E" & i * 5 + 12).Value = 検索結果1
> Worksheets("Invoice UK").Range("H" & i * 5 + 12).Value = 検索結果1
>
>
>
> End Sub
>
この投稿には、1件の返信があります。  投稿日時: 2017年05月26日 20時29分09秒
投稿ID: 2548 受講生さんの投稿
きちんと理解してないと実際にマクロを組んだ時に混乱しそうだなと思いました。引き続き基礎編、勉強したいと思います。
この投稿には、1件の返信があります。  投稿日時: 2016年09月07日 21時50分12秒
投稿ID: 2547 受講生さんの投稿
私も先生と同じ考え方です。画面が見えてない状況で作業はできないですね。
投稿日時: 2016年09月07日 21時44分57秒
投稿ID: 2546 受講生さんの投稿
理解できました。
投稿日時: 2016年09月07日 21時37分14秒
投稿ID: 2545 受講生さんの投稿
理解できました。
投稿日時: 2016年09月07日 21時31分51秒
投稿ID: 2544 受講生さんの投稿
理解できました。
投稿日時: 2016年09月07日 21時28分45秒
投稿ID: 2543 受講生さんの投稿
このエラーが起こったら混乱してしまいそうです。気を付けたいです。
投稿日時: 2016年09月07日 21時25分17秒
投稿ID: 2542 受講生さんの投稿
理解できました。
投稿日時: 2016年09月07日 21時13分08秒
投稿ID: 2541 受講生さんの投稿
理解できました。
投稿日時: 2016年09月07日 20時24分46秒
投稿ID: 2540 受講生さんの投稿
理解できました。
投稿日時: 2016年09月07日 20時20分50秒
投稿ID: 2539 受講生さんの投稿
理解できました。
投稿日時: 2016年09月07日 20時17分28秒
投稿ID: 2451 受講生さんの投稿
エクセルサンプルを開き、開発コード画面を開くとき、本体と同時に画面表示ができません。開発コードをクリックすると、どうしても本体画面が消えますが?
動画みたいな表示とはなりません?
この投稿には、2件の返信があります。  投稿日時: 2016年07月06日 06時10分36秒
投稿ID: 2422 受講生さんの投稿
上から順じゃない!
上から順じゃない!
この投稿には、1件の返信があります。  投稿日時: 2016年06月14日 17時55分37秒
投稿ID: 2420 受講生さんの投稿
ワードでたまにこの現象をやらかしました
そういうことだったんですね
いつも閉じて、もう一回開いたらなおしてました
うっかりInsertキーを押してしまっていたか・・・
この投稿には、1件の返信があります。  投稿日時: 2016年06月14日 16時59分39秒
投稿ID: 1432 受講生さんの投稿
あるエクセル文書を開いて、マクロを作成し、保存しました。その保存したマクロを、別の文書を開いて使いたいのですが、マクロの実行を選択しても、以前作ったマクロが出てきません。
この投稿には、1件の返信があります。  投稿日時: 2015年06月09日 14時45分39秒
投稿ID: 821 受講生さんの投稿
基礎編でFor Next構文を学ぶ事ができると聴き、ワクワクしています。
プログラムを書くには、アルゴリズムを理解する必要があると思い、
簡単な本を読みましたが、途中で挫折していました。
特にフローチャートで記述されると、混乱してしまいます。
今後の講義が最終チャンスと捉え、何としてでも身に付けたいと思います。
投稿日時: 2014年10月17日 09時45分25秒
投稿ID: 818 受講生さんの投稿
この講座がエクセルマクロ理解への最初の登竜門であると、書いていました。
投げ出す事なく、継続して取組んで行きます。宜しくお願いします。

余談ですが、セル内の文字記載に慣れていると、改行の際、Ctrlキーを押してしまいます。
EneterキーのみでOKなのですね。
この投稿には、2件の返信があります。  投稿日時: 2014年10月16日 02時09分32秒
投稿ID: 509 受講生さんの投稿
Range("a2").Value = "○" 行を変えた時に正確に打てているかを判断するために、全て小文字で入力してはいけないのでしょうか。()の中のAだけシフトで大文字に入力するのですか。非効率のような気がしてきました。
この投稿には、3件の返信があります。  投稿日時: 2014年08月20日 02時08分29秒
投稿ID: 37 受講生さんの投稿
アクセレータキーが動かない時の対処法が全角半角キーで対処できたんですね~
この投稿には、1件の返信があります。  投稿日時: 2014年01月04日 18時49分30秒

この講座のメモ用フォームを表示する/非表示にする

完全に理解できた
まあまあ理解できた
ふつう
あまり理解できてない
さっぱり分からない

※メモを残すにはこの講座の利用権限が必要です。