オンライン講座 質問と回答

無料・有料のオンライン講座で寄せられたメッセージの一部を紹介致します。

[10515]Visual Basic Editorの基本用語と使い方 – プロパティウィンドウ

2018-08-27 16:03:02 恵子さんからの投稿です。

何気なく使っている用語の意味をちゃんと知ることができて、理解が深まりました。窓がいっぱい出てきても怖くなくりました。本当に少しずつですが見慣れてきたのかな?と思います。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10513]基礎講座第2章1 – 第2章の概要

2018-08-26 19:32:08 受講生さんからの投稿です。

スローペースですが、学び中です。
ようやく2章に突入しました。
どんどん新しい知識がつくのが楽しいです。引き続き頑張ります。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10512]データ記入用ファイルを配布する-その2

2018-08-25 18:25:18 ゲストさんからの投稿です。

こんにちは。いつもお世話になっております。
ファイルを保存するところで、エラーになり進めないでおります。

実行時エラー 1004

ファイル’D:\renshu\配布先フォルダa\’にアクセスできません。次のいずれかの理由が考えられます。
・ファイル名またはパスが存在しません
・ファイルが他のプログラムによって使用されています
・保存しようとしているブックと同じ名前のブックが現在開かれています

Dドライブには間違いなく「renshu」フォルダが存在します。
どのようにしたら解決しますでしょうか。


———————————————————————
Sub renshumacro()
Dim foldername
Dim filename
Dim gyo

foldername = Workbooks(“全部1つ.xls”).Sheets(“部署情報”).Range(“D2”).Value
filename = Workbooks(“全部1つ.xls”).Sheets(“部署情報”).Range(“E2”).Value

Workbooks(“全部1つ.xls”).Sheets(Array(“歳入”, “歳出”)).Select
Workbooks(“全部1つ.xls”).Sheets(“歳出”).Activate

Workbooks(“全部1つ.xls”).Sheets(Array(“歳入”, “歳出”)).Copy ‘←この段階で新しいファイルができた
ActiveWorkbook.SaveAs filename:=”D:\renshu\” & foldername & “\” & filename, FileFormat:= _
xlExcel8, Password:=””, WriteResPassword:=””, ReadOnlyRecommended:=False _
, CreateBackup:=False

Workbooks(filename).Sheets(“歳出”).Select
Workbooks(filename).Sheets(“歳出”).Range(“A23:D23”).Select
Selection.Delete Shift:=xlUp

Workbooks(filename).Sheets(“歳入”).Select
Workbooks(filename).Sheets(“歳入”).Range(“A23:D23”).Select
Selection.Delete Shift:=xlUp

Workbooks(filename).Save
Workbooks(filename).Close

End Sub

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 

[10497]発展1講座第5章 – モジュールレベル変数 変数の重複

2018-08-24 07:36:41 受講生さんからの投稿です。

モジュールレベル変数と同じ名前の変数をサブプロシージャの中では宣言しない。

そんな時の対処法は、モジュールレベル変数の時には”G_○○”として、ジー_丸々として、違いがわかる様にしておく。

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 

[10494]基礎講座第3章9 – 住所情報を分割する(実習)

2018-08-23 17:58:50 safaiyaさんからの投稿です。

小川先生、はじめまして。
感想フォームに入力するのは、初めてです。

丁寧な解説ありがとうございます。
動画を見ていると、なるほどこうやるんだ!と、納得しながらなんとか、
ここまでの動画をこなしています。

しかしながら、自分でいちからVBAを書くとなると、
式の考え方が、やはり難しいなと思ってしまいます。
今回の動画なら、関数をどうやって選び使っていくか、などです。
もっと、経験していけば、こうやればいいのかなと、
考え方が身についていくのかと、少し不安な部分もあります。

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 

[10490]転記先シートを生成してデータを流し込む。

2018-08-23 01:28:40 morimotoさんからの投稿です。

この例は実務でたくさん見かけそうなので、練習を繰り返したいと思います。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10489]転記先シートを生成してデータを流し込む。

2018-08-23 01:27:50 morimotoさんからの投稿です。

ifからend ifまでぬいぐるみ、積み木、プラモデル、無しの4ブロックつくればいいやん、と当初思いつきましたが、ヒントのハナコステップで4ブロックも要らん、1ブロックでLOOPさせば絶対行ける!と決め狙いできました。特にシート名n,b,p,,,どう書こうか悩みましたが、D4~D7にあるので気付けばサクサクできました。よかったです。さらにcurrentregionにて罫線も入れました。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10488]発展編1 フォローメールセミナー 第24回

2018-08-22 23:20:54 マメコトさんからの投稿です。

「Loopをwithで囲む」というヒントの意味を汲み切れず、問題[4]は未解答のままで今回の解答を拝見しました。
・・・これは秀麗ですね。
range(“A” & c)、range(“B” & c)、という朴訥としたコードより、明らかに洗練されている感じがします。
offsetを「for next構文の横方向バージョン」ぐらいに軽く考えていましたが、withと組み合わせると、こんなにスッキリしたコードになるのですね。
それと、この美しいコードを「読みこなせている」という事実に、率直に自分自身が驚いています。先生のご指導のおかげです。ありがとうございます。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10476]発展1講座第5章 – Sub プロシージャの分割と呼び出し

2018-08-22 07:41:47 受講生さんからの投稿です。

マクロの中で別のマクロ名を書くと、そのマクロを呼び出すことができる。

処理ごとにマクロをつくり、メインのマクロにまとめると
メンテナンスもしやすいですね。
凄い!

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10473]エクセルマクロ研修の選び方4-よくある落とし穴

2018-08-22 06:23:09 受講生さんからの投稿です。

お世話になります。1つ教えてください。マクロ習得に必要な要素として理系科目の勉強の仕方を知っている事との説明がありました。そこで教えていただきたいのですが、理系科目の勉強の仕方とはどのようなものでしょうか。宜しくお願いいたします。

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 

[10472]発展編1 フォローメールセミナー 第11回

2018-08-21 21:32:27 マメコトさんからの投稿です。

お世話になっております。

Sub Denpyou()
    Call Sort_First
    Call Delete_Sheets
    Call Create_Denpyou
    Call Sort_End
End Sub

という伝票作成マクロの、Create_Denpyouの中にCreate_Keisenを作り、そのCreate_Keisenの最後に印刷に関するコードを書きました。
・・・とは言え、マクロの記録のどこを削れば良いのかわかりませんでした。
Private Sub Create_Keisen()

    Dim nGyou As Long
    
    nGyou = Range("E" & Rows.Count).End(xlUp).Row
    
    Range("B16:K" & nGyou).Select
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ":"
        .PrintTitleColumns = ""
    End With
    With ActiveSheet.PageSetup
        .LeftHeader = ""
        .CenterHeader = ""
        .RightHeader = ""
        .LeftFooter = ""
        .CenterFooter = ""
        .RightFooter = ""
        .LeftMargin = Application.InchesToPoints(0.78740157480315)
        .RightMargin = Application.InchesToPoints(0.78740157480315)
        .TopMargin = Application.InchesToPoints(0.984251968503937)
        .BottomMargin = Application.InchesToPoints(0.984251968503937)
        .HeaderMargin = Application.InchesToPoints(0.511811023622047)
        .FooterMargin = Application.InchesToPoints(0.511811023622047)
        .PrintHeadings = False
        .PrintGridlines = False
        .PrintComments = xlPrintNoComments
        .PrintQuality = 600
        .CenterHorizontally = True
        .CenterVertically = False
        .Orientation = xlLandscape
        .Draft = False
        .PaperSize = xlPaperA4
        .FirstPageNumber = xlAutomatic
        .Order = xlDownThenOver
        .BlackAndWhite = False
        .Zoom = False
        .FitToPagesWide = 1
        .FitToPagesTall = 10
        .PrintErrors = xlPrintErrorsDisplayed
        .OddAndEvenPagesHeaderFooter = False
        .DifferentFirstPageHeaderFooter = False
        .ScaleWithDocHeaderFooter = True
        .AlignMarginsHeaderFooter = False
        .EvenPage.LeftHeader.Text = ""
        .EvenPage.CenterHeader.Text = ""
        .EvenPage.RightHeader.Text = ""
        .EvenPage.LeftFooter.Text = ""
        .EvenPage.CenterFooter.Text = ""
        .EvenPage.RightFooter.Text = ""
        .FirstPage.LeftHeader.Text = ""
        .FirstPage.CenterHeader.Text = ""
        .FirstPage.RightHeader.Text = ""
        .FirstPage.LeftFooter.Text = ""
        .FirstPage.CenterFooter.Text = ""
        .FirstPage.RightFooter.Text = ""
    End With
    ActiveSheet.PageSetup.PrintArea = ""
    Application.PrintCommunication = True
End Sub

やはりひとつひとつ意味を調べるべきなのでしょうか。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10470]発展編1 フォローメールセミナー 第9回

2018-08-21 16:56:10 マメコトさんからの投稿です。

先生のように30分では書けませんでしたが、1時間はかからずに書けました。(ボタンは作りませんでしたけど。)
「とりあえず動く」ものなので、マクロが記録したコードをそのまま使ったりしています。
いかがでしょうか。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10469]エクセルマクロ・VBAを利用するための推奨設定 – Excel2010、Excel2013、Excel2016の場合

2018-08-21 09:04:19 恵子さんからの投稿です。

とても分かりやすいです。「セルが編集中だとメニューが選べない」とか初心者にありがちな問題にも触れてくれていて、感動しました!Excelができる人にはわからない事ですが、こういう小さな事で先に進めない事もあるので
非常に役立ちます。本当に相手のレベルに合わせてくれているなと思います。こびとちゃんに続き、痒い所に手が届くアドバイスにやる気が起きます!

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10468]発展1講座第4章 – Select Case 比較する条件の順番

2018-08-21 07:30:03 受講生さんからの投稿です。

Select Case構文では、条件を満たした瞬間に処理が終わるので、
順番を考慮して条件を書かなければならない。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10467]発展1講座第4章 – Select Case If文との比較

2018-08-21 07:25:31 受講生さんからの投稿です。

同じ比較対象を使う時は、Select Case構文を使う方が
プログラムを見て理解しやすい。
うん。納得!

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10466]発展1講座第4章 – Select Case 概要

2018-08-21 07:20:59 受講生さんからの投稿です。

Select Case構文
シンプルです視覚的にも分かりやすい条件設定ができると分かり感動です。
テストの数値や、時数の計算の現状把握に役立ちますね。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10465]発展1講座第4章 – Exit For、Exit Do、Exit Sub

2018-08-21 07:14:14 受講生さんからの投稿です。

Exit For は以前にも習ったことがあったので復習になりました。
そのほかにも、

Exit Do ループの終了やExit Sub マクロの終了もあることを知りました。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10462]エクセルマクロの全体像

2018-08-20 16:33:27 恵子さんからの投稿です。

こびとちゃんの例えがとても分かりやすく、とっつきやすくて良かったです。全体を通して易しい言葉で説明してくれて苦手意識を持たずに、続ければ出来そうと思えるものでした。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10445]各資料ごとに1番からの番号を割り振る。AutoFill機能より便利なマクロ

2018-08-18 11:30:53 受講生さんからの投稿です。

初めの投稿での質問が下記になります。

「下のマクロを書いた際に、Range(“B” & GYO).Valueも繰り返されるので
初め関数を使っていたのですが、資料番号が表に記入されませんでした。
スッテプインで一つずつ確認しても
問題なく実行出来ているように見えるのですが、
どうしてエクセルに反映されないのでしょうか。」

つまり、コメント番号10378で投稿したマクロのRange(“B” & GYO).Valueの箇所をコメント番号10443で投稿したマクロのように関数(BANGO)に置き換えるとエクセルに反映されなくなります。このような関数の使い方は出来ないということなのでしょうか。という質問になります。

紛らわしい書き方をしてすいません。
よろしくお願いします。

ーーーーーーーーーーーーーーーーーーーーー
>受講生 さん:

コメント番号10378で投稿されたマクロは以下。
Sub AAA()
Dim GYO
For GYO = 4 To 19
Dim NAME
NAME = Range(“D” & GYO).Value
If NAME = “資料A” Then
Range(“B” & GYO).Value = 1
ElseIf NAME = “資料B” Then
Range(“B” & GYO).Value = 2
ElseIf NAME = “資料C” Then
Range(“B” & GYO).Value = 3
End If
Range(“C” & GYO).Value = Mid(Range(“F” & GYO).Value, 2, 1)
Next
End Sub


そして、今回お送りいただいたファイルのモジュール「Module1」にあったマクロは以下です。

Sub AAA()
Dim NAMAE
Dim BANGO
Dim GYO
For GYO = 4 To 19
NAMAE = Range(“D” & GYO).Value
BANGO = Range(“B” & GYO).Value
If NAMAE = “資料A” Then
BANGO = 1
ElseIf NAMAE = “資料B” Then
BANGO = 2
ElseIf NAMAE = “資料C” Then
BANGO = 3
End If
Range(“C” & GYO).Value = Mid(Range(“F” & GYO).Value, 2, 1)
Next
End Sub

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10443]各資料ごとに1番からの番号を割り振る。AutoFill機能より便利なマクロ

2018-08-18 03:05:06 受講生さんからの投稿です。

はい、二つ目の問題です。
自分で気づかないうちに間違った操作をしてるのかもしれないです。
お手数おかけしますが、添付ファイルの確認お願いします。

—————————
>受講生 さん:

動画の5分あたりから扱っている、2つ目の問題ですよね。
ちゃんと動きますね…。

ファイルごと送付いただけますか。
よろしくお願いいたします。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10435]発展1講座第4章 – Do Loop構文 概要

2018-08-17 07:10:08 受講生さんからの投稿です。

Do Loop構文 のイメージを掴んだ。
今のところ、数字が何文字かを計算するときに使う構文なのかと理解したがどうだろう。
次に進んでいきます。

[ 続きを読む ]  返信件数:2件  [ 動画を見る] 

[10434]発展1講座第4章 – For Each構文 カンニングペーパー

2018-08-17 06:58:25 受講生さんからの投稿です。

カンニングペーパーをしっかり手元に置いて、実際の作業に役立てて行こうと思います。
ありがとうございます。

[ 続きを読む ]  返信件数:2件  [ 動画を見る] 

[10433]発展1講座第4章 – For Each構文 セルのコレクション

2018-08-17 06:48:03 受講生さんからの投稿です。

For Each構文 セルのコレクション。
指定する範囲での処理ができ画期的ですね。

こんなことがしたかったです。

変数の宣言や、セルをRangeで表すなど
今更ですが、復習にもなりました。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10432]複数のマクロを連続実行する – Excel2007,2010,2013,2016の場合

2018-08-17 06:06:55 受講生さんからの投稿です。

お世話になります。1つ確認させてください。taiken03のtype1-2を開けてProject Explorerではtaiken03を指定してもcode windowには講座で説明されているcodeが表示されません。前回の講座で説明されましたサブプロシージャーの中に別のサブプロシージャーを入れるcodeが表示されています。type1-2で使うcodeを表示するにはどうすればよいでしょうか。

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 

[10431]VLookUp関数、Index関数、Match関数より便利なマクロ-該当する行が見つからない場合の処理をアレンジ

2018-08-17 00:47:18 morimotoさんからの投稿です。

小川塾長:改めて一度整理し考えて見まして、フラグのfalse, trueですが、4:45あたりから説明が始まりまして、左のIDと右のIDで一致しないものを見つけたときmitsuketaと定義し、そしてその一致がみつからないとき→true、反対に一致がみつかったとき→false ということでいいのかなと思いました。そうすると、左のIDと右のIDの一致について
(1)では一致がみつかるときだから、false
(2)では一致がみつからないすなわち不一致があるときだからtrue
そして(3)では一致がみつからないときだから、trueとすべきだと思いました。(解説ではfalseでした)
実際小生の解釈で実行すると解答と異なりA30行以下一致しているIDの12,17,2,11,19,6,26,10,13が表示されました。 
(3)にてfalseになるところが知りたいです。
いろんなcodeでfalseやtrueが出てくるのでこの機会につかみたいです。
よろしくお願いします。
Sub mondai201_01()
Dim hida
Dim migi
Dim mitsuketa
Dim tenkisaki

tenkisaki = 30

For migi = 11 To 21
mitsuketa = False—–(1)
For hida = 4 To 29
If Range(“A” & hida).Value = Range(“E” & migi).Value Then
Range(“C” & hida).Value = Range(“F” & migi).Value
mitsuketa = True——(2)
Exit For
End If
Next
If mitsuketa = False Then—–(3) 不一致があるときだからtrue??
Range(“A” & tenkisaki).Value = Range(“E” & migi).Value
Range(“C” & tenkisaki).Value = Range(“F” & migi).Value
tenkisaki = tenkisaki + 1
End If
Next
End Sub

[ 続きを読む ]  返信件数:3件  [ 動画を見る] 

[10416]発展1講座第4章 – For Each構文 伝票作成マクロ解説

2018-08-16 11:35:27 受講生さんからの投稿です。

シートを削除するマクロ!
かっこいいですね。
驚きました。
数行のマクロで効果絶大!
これからも楽しんで学びます。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10415]発展1講座第4章 – For Each構文 演習

2018-08-16 11:21:12 受講生さんからの投稿です。

実際にやってみると
動きが分かった。
書き方はこれからもっと練習していきます!

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10414]発展1講座第4章 – For Each構文 イントロダクション3

2018-08-16 11:08:51 受講生さんからの投稿です。

ここにきてDebug.Print の効果がわかった。
今回はどのシートが選ばれたかが分かるという事だ。

For Each構文の動きはなんとく理解した。

いよいよ次にWorkだ。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10412]VLookUp関数、Index関数、Match関数より便利なマクロ-該当する行が見つからない場合の処理をアレンジ

2018-08-15 22:23:15 morimotoさんからの投稿です。

false, trueのところがつかめませんで、下のcodeが解説講義の分ですが、(1)でfalseとありますが、falseは右のIDの中で左のIDにないもの(36,44)についてなので、(1)以下のhida,,,を処理するにはfalseでなくtrueにして右のIDの中に左のIDにあるときC列に転記する処理と考えtrueと書くのでないかと思いました(実行したらおかしな結果でした)
また(2)のtrueですが、右のIDの中で左のIDにないものがあればforからexitで抜けて(3)の処理に続けばと考えてしまいました。実行結果がおかしいので理解・解釈がおかしいのはわかりますが、きちんとつかんでおきたいので、(1)がfalse, (2)がtrueとなるところをアドバイスお願いします。
Sub mondai201_01()
Dim hida
Dim migi
Dim mitsuketa
Dim tenkisaki
tenkisaki = 30
For migi = 11 To 21
mitsuketa = False———(1)
For hida = 4 To 29
If Range(“A” & hida).Value = Range(“E” & migi).Value Then
Range(“C” & hida).Value = Range(“F” & migi).Value
mitsuketa = True——-(2)
Exit For
End If
Next
If mitsuketa = False Then——–(3)
Range(“A” & tenkisaki).Value = Range(“E” & migi).Value
Range(“C” & tenkisaki).Value = Range(“F” & migi).Value
tenkisaki = tenkisaki + 1
End If
Next
End Sub

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 

[10409]発展1講座第4章 – 論理演算子 解説

2018-08-15 15:12:55 受講生さんからの投稿です。

演算子 And Orの具体的な使い方を学んだ
Notは Notで書かれた以下の条件を満たしていれば処理を行わず、満たしていなければ処理をするときに使う。
意外とこのNot 自分が作りたいマクロで使えそうな気がする。

[ 続きを読む ]  返信件数:1件  [ 動画を見る] 


各講座ごとのメッセージを見る場合はこちら

 

まずはここから!スマホでも学べる無料動画講座

今なら先着30名限定で無料!定価4,800円の、初心者のためのエクセルマクロ動画講座。
  1. Excel 97~Excel 2016まですべて対応。動画本数20本、総再生時間2時間44分53秒
  2. PC, Mac, iPhone, iPad, Androidのお好みの環境で、いつでも好きなときに学べます。
2004年から10年間述べ3,000名以上に実施した研修の経験と実績を集約した講座です。
いますぐ無料で試してください。

トップへ