エクセルマクロオンライン講座 質問と回答

  • このエントリーをはてなブックマークに追加

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

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

ゲストさんからの投稿です。

これから先がかなり楽しみです。

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

[7699] イベントの連鎖(フラグで制御する方法)

受講生さんからの投稿です。

小川先生へ

サンプルコードを書いてくださってありがとうございます(*^^*)
いろんなコードを見て、動かしてみることはとても勉強になりますね。

「1枚のシートに1年分または所定の月の分だけのカレンダーを作成する」の
動画を見直して、Nyuryoku_Calendarをつくりなおしてみました。

Sub Nyuryoku_Calendar() ' ひと月分のカレンダーを作成する

Dim d As Date
Dim c As Long
Dim m As Long

m = Month(Range("A1").Value)
Range("A1").NumberFormatLocal = "yyyy" & "年" & "m" & "月"
d = Range("A1").Value
c = 0
Range("A1").CurrentRegion.Offset(0, 1).ClearContents 'データーを削除

Do While m = Month(d)
Range("B1").Offset(0, c).Value = Day(d)
Range("B2").Offset(0, c) = WeekdayName(Weekday(d), True)
c = c + 1
d = DateAdd("d", 1, d)
Loop
End Sub



小川先生がくださったヒントで

'[2] その月の月初日を日付型変数に格納。
'[3] DateAdd関数で一日づつ翌日の日付を調べる。

のところをどう書けばよいかわからず・・・
(調べてみてDateSerial関数を使うのかもしれないと思い試行錯誤したものの・・・
うまくつかいこなせずでした(+_+))

でも、このままではA1セルに1日以外の日付が入った場合、
カレンダーが月の途中からになってしまうので
イベントの方にも手を加えました(;^_^A

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" And IsDate(Target.Value) Then
If Day(Target) = 1 Then ’A1セルに入った日付が1日だったら
Nyuryoku_Calendar
Else
MsgBox "日付を1日にして入力し直してください"
Exit Sub
End If
End If
End Sub


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

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

受講生さんからの投稿です。

問題なくできました。マクロ、楽しいです。

option ezplicit の左側をクリックしてしまったら茶色の●が表示されてしまい、
いじったら黄色の⇒が出てしまい、F5を実行しても一度そこで止まってしまうようです。
この茶色の●は何で、どうしたら消えますか?

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

[7688] 自動記録機能でマクロを作る - 自動記録機能で表に番号を振る

受講生さんからの投稿です。

お世話になります。
初歩的な質問で申し訳ありませんが、
順位に1,2,3と番号を振ってそれをコピーすると4~20が表示されますが、どうしているのでしょうか?

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

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

ゲストさんからの投稿です。

仕事のどの場面でどんな風に生かせる
すごく興味が深くなりました。

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

[7681] イベントの連鎖(フラグで制御する方法)

受講生さんからの投稿です。

小川先生へ

いつもお世話になっております。
現在、イベントの連鎖のところで頭がこんがらがっています(+_+)

練習でカレンダーを作成するマクロを作ってみたのですが、
一体どこにフラグを立てたらよいのかわからず困っています。
コードのチェックをお願いいたします。


☆マクロの内容☆
Sheet1にA1の日付の値が変更されたら
標準ジュールのNyuryoku_Calendarマクロが実行されるWorksheet_Changeイベントを作成しています。
Nyuryoku_Calendarは次の月になるまでB1に日付、B2に曜日が横方向に入っていくマクロです。

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Nyuryoku_Calendar
End If
End Sub




Dim bFrg As Boolean
Sub Nyuryoku_Calendar() ' ひと月分のカレンダーを作成する
Dim dDay As Date
Dim c As Long

dDay = Range("A1").Value
Range("A1").NumberFormatLocal = "yyyy" & "年" & "m" & "月"

Range("B1:AF2").ClearContents 'B1:AF2の値を削除する

Range("B1").Value = dDay
Range("B2").Value = WeekdayName(Weekday(dDay), True)


Do While Month(dDay + 1) = Month(Range("A1").Value) 'A1に入っている月と同じ間はloopする。
Range("C1").Offset(0, c).Value = DateAdd("d", 1, dDay) '日付
Range("C1").Offset(0, c).NumberFormatLocal = "d" '書式をd
Range("C1").Offset(1, c) = WeekdayName(Weekday(DateAdd("d", 1, dDay)), True) '曜日
dDay = Range("C1").Offset(0, c).Value
c = c + 1
Loop
End Sub


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

[7680] エクセルマクロ・VBAを利用するための推奨設定 - イントロダクション

ゲストさんからの投稿です。

Excel2016の設定はどうですか?

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

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

野田 宏さんからの投稿です。

マクロは難しいものと思い避けていましたが、自分でもできそうな気がしてきました。

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

[7673] エクセル仕事を劇的に簡単にするDPRフレームワークその1

mihoさんからの投稿です。

いつもながら本当に分かりやすい。忘れちゃってもまた見直し、早く進みすぎてついて行けなければストップし、自分のペースで進められるのがとても素晴らしい。

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

[7672] イベントの生じたセルの行番号によって処理を切り分ける

受講生さんからの投稿です。

小川先生へ

Select Case でしたか!!
1行で記述ができるのがいいですね。

モヤモヤがすっきりしました(^^♪
ありがとうございました。

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

[7667] イベントの生じたセルの行番号によって処理を切り分ける

受講生さんからの投稿です。

小川先生へ

Targetの範囲を自由に設定できるのがおもしろくて、
いろいろ試しているところです。

複数の離れたセル(例えばC7とC9とC11)をTargetにする場合を考えて作ってみました。
これでもちゃんと動いたのですが
何かもっと良い方法があるような気がしています。

アドバイスをお願いします。


 Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$C$7" Then

ElseIf Target.Address = "$C$9" Then

ElseIf Target.Address = "$C$11" Then

Else
Exit Sub
End If

If Target.Row <= 6 Then
Exit Sub
End If

If Target.Column <> 3 Then
Exit Sub
End If


If Target.Value <> UCase(Target.Value) Then
Target.Value = UCase(Target.Value) '受け取った文字列を大文字に直す
End If

If Target.Value = "D" Then
Target.Offset(, 1).Value = "DVD無料"
ElseIf Target.Value = "C" Then
Target.Offset(, 1).Value = "CD無料"
ElseIf Target.Value = "J" Then
Target.Offset(, 1).Value = "ジャケット無料"
Else
Target.Offset(, 1).ClearContents
End If
End Sub


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

[7666] Visual Basic Editorの基本用語と使い方 - 標準モジュールとコードウィンドウ

受講生さんからの投稿です。

標準モジュールと Microsoft Excel Objects の繋がり、違いがわかりませんのでご教授下さいませ。

Sheet1をダブルクリックして、マクロを書くのと、標準モジュールにマクロを書くのでは何が違うのでしょうか?

また、VBAProject(FUNCRES.XLAM)と1番上にあるのですがこれは何でしょうか?

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

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

受講生さんからの投稿です。

オブジェクトとは特徴のあるモノだとの説明がありました。
逆に、特徴の無いモノはあるのでしょうか?
またここのカテゴリでないのかもしれませんが、
VBA
VBE
の定義の違いがよくわかりませんのでご教授下さいませ。
よろしくお願い致します。

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

[7660] 書式設定の活用方法、書式設定が原因で起こりうる問題とその対処法

受講生さんからの投稿です。

なんとなくわかっていたことが整理でき勉強になりました。ありがとうございます。

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

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

受講生さんからの投稿です。

マクロ、早く使ってみたいです!

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

[7658] 複数の記号の位置を調べて文字列を切り出す

受講生さんからの投稿です。

関数をコピーしておいて貼り付けることでとても関数が書きやすくなるなと思い、勉強になりました。ありがとうございます。

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

[7657] Left関数、Mid関数、Find関数を組み合わせる

受講生さんからの投稿です。

とてもわかりやすかったです。ありがとうございます。

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

[7653] .zip ファイルとは?

小川一恵さんからの投稿です。

私は、子どもの声は気になりませんでした。
小川さんはこういう環境でお仕事されているんだな、と好ましく感じました。

内容については知っている事でしたが、説明の仕方やまとめ方が勉強になりました。
ありがとうございました。

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

[7650] 基礎講座第1章1 - マクロの入ったファイルを開くときの注意点

受講生さんからの投稿です。

お世話になります。

動画にある標準モジュールというVBAProjectの下?にあるようなものが見当たりません。どのようにすれば表示されるのでしょうか?

エクセル2013です。
ご教授頂ければ幸いです。

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

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

ゲストさんからの投稿です。

マクロは難しく取っつきにくいもの・・・と思っていました。
動画を観て、やり方を学べば簡単にマクロを組める!と思いました。

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

[7630] 残業時間がいちばん多い従業員の情報を出力する。Max関数、Min関数より便利なマクロ

受講生さんからの投稿です。

小川先生

コメント有難うございます。
「英単語1語の言葉」の選択には、要注意ですね。

「ハンガリアン記法」の動画を見直してみたいと思います。

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

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

受講生さんからの投稿です。

自分の仕事だったらと想像してワクワクしました。
モチベーションがあがりました!
ありがとうございました。

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

[7618] 苗字と名前を分割して別のセルに投入する

受講生さんからの投稿です。

-1とか+1をとっさに思い付かないので、大変勉強になりました。

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

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

ゲストさんからの投稿です。

エクセルマクロでできることの一例のイメージがつかめました。
事例サンプルエクセルファイルなども活用し、業務の自動化・効率化に実践していきたいと思います。

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

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

受講生さんからの投稿です。

説明が丁寧で,資料も Excel のファイルが配布されていたり,PDFでの説明書があるなど理解もしやすいと思いました。
同じ繰り返しの作業をボタン一つでカンタンに完了することを目標に最後まで受講します。

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

[7608]

矢木裕子さんからの投稿です。

>ゲスト さん:
>
>お世話になります。
>
>そうですか。。
>
>「他の動画は観られけど、『投稿するプログラムを

 ... 

で囲う』の動画は観られないということでしょうか?
>
>以下、順番にお試しいただけますか。
>
>[1] ブラウザーを終了し、再起動。そして、以下のリンクに飛ぶ。
>https://padstudy.jp/detail?movie_id=477&package_id=49
>
>※再読込で解決することもかなりあります。
>
>[2] 以下の[a], [b]両方で試してみる。
>[a] https://padstudy.jp/detail?movie_id=866&package_id=49&youtube=0
>[b] https://padstudy.jp/detail?movie_id=866&package_id=49&youtube=1
>
>※動画再生方法が[a], [b]で異なります。これで、どちらかはOK、どちらかはNG、となれば、もう少し事情が分かりそうです。
>
>[3] 別のブラウザーで試してみる。
>たとえば、Google Chromeを使われていたのであれば、Mozilla Firefoxを使ってみる、インターネットエクスプローラーを使ってみる、等。
>
>[4] 別の端末で試してみる。
>PCでうまく行かなかったようでしたら、スマートフォンで接続しなおしてみる、もしも他にもパソコンがあるようでしたら、そのパソコンで試してみる、等。
>
>- - -
>
>おそらく、[1], [2]くらいで解決すると思うのですが。。
>まずは、よろしくお願いいたします。
>
>すべて試すのは大変だと思いますが、どこまで試してどうなったか?お知らせいただけると幸いです。
>


早速、対処ありがとうございます!

[1] ブラウザーを終了し、再起動。そして、以下のリンクに飛ぶ。
https://padstudy.jp/detail?movie_id=477&package_id=49
の方法にて、動画が再生されました。

今後ともよろしくお願いいたします♪

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

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

受講生さんからの投稿です。

今私がやっている仕事が、10000件以上あるデータの分析、分析を形にしてレポートを出し、次の動きにつなげるという仕事です。そして10000件以上あるデータが複数のシートに分かれているため、vlookup関数、iferror関数などを使ってデータ化し、ピボットテーブルで表を作るといった作業を毎週行っています。
正直データ化だけでも1日がかりで何も成果を望む事ができない状況でした。
マクロは難しいという印象がありましたが、ここで勉強して仕事に活かしていきたいと思います。

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

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

山本 佳さんからの投稿です。

エクセルマクロを使えば、より自分の時間を作り出すための仕組み作りができるのですね
そして何より、使いこなせるとかっこいいですね、ぜひ習得したいと思います

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

[7604] 残業時間がいちばん多い従業員の情報を出力する。Max関数、Min関数より便利なマクロ

受講生さんからの投稿です。

小川先生

最大値が複数存在した場合についてのコードを投稿します。
よろしくお願いします。

【課題を以下の通り、設定しています。】
 問題[1] 一番得点の高い人が複数いた場合でも抽出可能にする
 問題[2] 残業時間が一番多い人が複数いた場合でも抽出可能にする
 問題[3] 残業時間が一番多い人が複数いた場合でも抽出可能にする


'**************************************************************
'問題[1] 一番得点の高い人が複数いた場合でも抽出可能にする
'**************************************************************

Sub katinuki()

Dim gyou As Long
Dim kati As Long

'処理1
kati = 2
For gyou = 2 To 11
If Range("G" & kati).Value < Range("G" & gyou).Value Then
kati = gyou
End If
Next gyou
' Range("J" & kati).Value = "最高点です" '←不要かも

'処理2
For gyou = 2 To 11
If Range("G" & kati).Value = Range("G" & gyou).Value Then
Range("J" & gyou).Value = "最高点です"
End If
Next gyou
End Sub

'**************************************************************
'問題[2] 残業時間が一番多い人が複数いた場合でも抽出可能にする
'**************************************************************

Sub kati2()

Dim gyou As Long
Dim Migi As Long
Dim kati As Long

'処理1
kati = 6
Migi = 4
For gyou = 6 To 33
If Range("C" & kati).Value < Range("C" & gyou).Value Then
kati = gyou
End If
Next gyou
' Range("K" & Migi).Value = Range("B" & kati).Value '←不要かも
' Range("L" & Migi).Value = Range("C" & "5").Value '←不要かも
' Range("M" & Migi).Value = Range("C" & kati).Value '←不要かも

'処理2
For gyou = 6 To 33
If Range("C" & kati).Value = Range("C" & gyou).Value Then
Range("K" & Migi).Value = Range("B" & gyou).Value
Range("L" & Migi).Value = Range("C" & "5").Value
Range("M" & Migi).Value = Range("C" & gyou).Value
Migi = Migi + 1
End If
Next gyou
End Sub

'**************************************************************
'問題[3] 残業時間が一番多い人が複数いた場合でも抽出可能にする
'**************************************************************

Sub kati3()

Dim gyou
Dim Migi As Long '追加
Dim kati
Dim retu
Migi = 4 '追加

retu = "C"
kati = 6

'処理1
For gyou = 6 To 33
If Range(retu & kati).Value < Range("C" & gyou).Value Then
retu = "D"
kati = gyou
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value < Range("D" & gyou).Value Then
retu = "D"
kati = gyou
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value < Range("E" & gyou).Value Then
retu = "E"
kati = gyou
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value < Range("F" & gyou).Value Then
retu = "F"
kati = gyou
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value < Range("G" & gyou).Value Then
retu = "G"
kati = gyou
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value < Range("H" & gyou).Value Then
retu = "H"
kati = gyou
End If
Next gyou

' Range("K" & Migi).Value = Range("B" & kati).Value '←不要かも
' Range("L" & Migi).Value = Range(retu & "5").Value '←不要かも
' Range("M" & Migi).Value = Range(retu & kati).Value '←不要かも

'処理2
For gyou = 6 To 33
If Range(retu & kati).Value = Range("C" & gyou).Value Then
Range("K" & Migi).Value = Range("B" & gyou).Value
Range("L" & Migi).Value = Range("C" & "5").Value
Range("M" & Migi).Value = Range("C" & gyou).Value
Migi = Migi + 1
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value = Range("D" & gyou).Value Then
Range("K" & Migi).Value = Range("B" & gyou).Value
Range("L" & Migi).Value = Range("D" & "5").Value
Range("M" & Migi).Value = Range("D" & gyou).Value
Migi = Migi + 1
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value = Range("E" & gyou).Value Then
Range("K" & Migi).Value = Range("B" & gyou).Value
Range("L" & Migi).Value = Range("E" & "5").Value
Range("M" & Migi).Value = Range("E" & gyou).Value
Migi = Migi + 1
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value = Range("F" & gyou).Value Then
Range("K" & Migi).Value = Range("B" & gyou).Value
Range("L" & Migi).Value = Range("F" & "5").Value
Range("M" & Migi).Value = Range("F" & gyou).Value
Migi = Migi + 1
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value = Range("G" & gyou).Value Then
Range("K" & Migi).Value = Range("B" & gyou).Value
Range("L" & Migi).Value = Range("G" & "5").Value
Range("M" & Migi).Value = Range("G" & gyou).Value
Migi = Migi + 1
End If
Next gyou

For gyou = 6 To 33
If Range(retu & kati).Value = Range("H" & gyou).Value Then
Range("K" & Migi).Value = Range("B" & gyou).Value
Range("L" & Migi).Value = Range("H" & "5").Value
Range("M" & Migi).Value = Range("H" & gyou).Value
Migi = Migi + 1
End If
Next gyou
End Sub


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

[7602]

矢木裕子さんからの投稿です。

投稿するプログラムを

 ... 

で囲う の講座が真っ黒で声しかきこえないのですが、どうすればいいですか。

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


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

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

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

トップへ