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

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

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

2017-10-29 09:20:55 柴田 邦彦さんからの投稿です。

【動画45】 発展1講座第4章 - For Each構文 セルのコレクション での質問です。
Sub ForEach_Range()
Dim rg As Range
For Each rg In Range("C2:H29")
If rg.Value >= 40 Then
rg.Interior.ColorIndex = 46
rg.Font.ColorIndex = 2
rg.Font.Bold = True
End If
Next
End Sub
のようにオブジェクト型の変数を宣言する場合は、
Sub ForEach_Range()
Dim rg As Range
 Set rg = Range("C2:H29")
For Each rg In Range("C2:H29")
のようにSetで変数を割り当てなくても良いのでしょうか?

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

[9085]発展1講座第5章 - モジュールレベル変数 アクセシビリティ設定

2017-10-25 10:14:25 受講生さんからの投稿です。

動画64まで見ました。ほかのファイルからのマクロの呼び出しは、どの様にしたらよいのでしょうか?。教えてください。(どこかで観落としているかもしれません。)
第6章の動画がありません。ないのでしょうか。

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

[8904]発展1講座第5章 - モジュールレベル変数 アクセシビリティ設定

2017-09-17 20:16:14 浦山大さんからの投稿です。

まずは、集中して昨日今日で一気に拝見致しました!
精神と時の部屋から出てきたみたいな感覚です…\(^o^)/

基礎編でめげずにガチャガチャやってたからでしょうか?
発展編で仰られていることについてはスムーズに理解できました。
(基礎編のときと比べて、「ん?」と思う回数が明らかに減少)

ここまで終えてみて、
元から持っていたマクロのイメージに大分近いものになりました。
「どうやってデータ最終行をプログラムで表現しているのか」
「As ○○の変数の型」
等々…。
わかりやすく説明して頂くと、以外にも身近に感じられますね。

次はフォローアップ、伝票作成マクロ等に進んで、
知識を体得して使えるレベルまで昇華させます。
取り急ぎ、感謝のコメントまで。

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

[8901]発展1講座第4章 - For Each構文 イントロダクション2

2017-09-17 13:45:47 浦山大さんからの投稿です。

仕事の改善をする際に、
無理やりWEBからForEach構文を引っ張ってきて処理をしてました。
ここへ来てとってもすっきりしました!

先生の「羊」の例がとっても面白かったです。
今まで「シート…シート…」と考え続けていて、
難しいものだなあというイメージがあったんですが、
「羊」と捉えてみると親しみがわきますね。
だったらワークブックは「牧場」みたいな認識でもいいのかな?
といろいろ考えるきっかけにもなりました(ちょっと強引かもですが)。

Excelへの向かい方という点でも参考になった動画でした。
ありがとうございます、本当に感謝です!

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

[8892]発展1講座第2章 - メソッド1

2017-09-16 22:49:05 浦山大さんからの投稿です。

こんな短時間で理解できるのは、
我々勉強者側にとって非常に時間短縮になりますし、
有意義なものであると思います。

感謝しかありません、ありがとうございます(*^^*)
浮いた時間を、繰り返しの練習に使っていきたいと思います!

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

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

2017-07-29 20:51:02 受講生さんからの投稿です。

2つのファイルをエクセルマクロで開いて、「同一シート名」の「特定のセル値」をコピーするマクロを for Each構文で処理できるか試してみました。
書き方で悩んでいましたが本動画を見て解決しました。

カンニングペーパーの
・ワークシート(特定のファイル内のすべてのワークシート)
で書いてみて、うまくいきました。

Dim ws As Worksheet
For Each ws In Workbooks("1つ目のファイル.xls").Worksheets
	For Each ws In Workbooks("2つ目のファイル.xls").Worksheets
           ・・・・・処理するプログラム・・・・・
	Next
Next


上記の通り、For EachをFor Eachで挟んだ書き方で処理しました。

仕事でも使えそうです。ありがとうございました。

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

[8081]発展1講座第2章 - End プロパティの使い方

2017-05-06 11:56:01 受講生さんからの投稿です。

とてもためになる講義をしていただきありがとうございます。いちいちfor next構文の値を変えるのが、面倒だったので、使ってみたいと思います。このマクロを仕事で使っているマクロに追加したいと思います。

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

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

2017-04-24 19:59:47 受講生さんからの投稿です。

filterメソードと同様に、以下のようにしましたが、
Range("a1").Sort _
key1:=Range("g1").Value, _
order1:=xlAscending, _
Header:=xlYes
セルa1を含む、range(”a1:h21”)全体を並べ替える結果となりましたが、コードとしては問題ないですか?

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

[7532]発展1講座第5章 - モジュールレベル変数 アクセシビリティ設定

2017-01-18 11:05:15 受講生さんからの投稿です。

お世話になっております。
複数モジュールの間での使いまわしの例、大変参考になりました!
複数ブック間でも、Excelでブックを開いていれば使いまわせたら便利と考えたのですが、
ブック間でのプロシージャの移動はpublic、plivateの知識だけではできないみたいですね。

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

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

2016-11-03 18:08:26 受講生さんからの投稿です。

小川先生

For Each構文 の動画を拝見し、以下に記載するテストデータで
「F列に合計と記入されている行を削除する」
マクロが作れるか試してみました。
結果は、合計と記入されている行が複数残りました。

以下のようなテストデータの場合、For Each構文を使わずに
For Next構文等でマクロを組んだ方がよいのでしょうか?

よろしくお願いいたします。

【書いたコード】

  
Sub GoukeiSakujyo()
    Dim rng As Range
    Dim rngs As Range
    Set rngs = Range("F1:F20")
    
    For Each rng In rngs
        
    Debug.Print rng.Address
        
        If rng.Value = "合計" Then
            Range(rng.Address).EntireRow.Delete
        End If
    Next
    MsgBox "処理が完了しました"
End Sub 


【テストデータ】
|B列 |C列 |D列 |E列 |F列 |G列 |H列 |
---------------------------------------------------
1 行目 |○ |○ |○ |○ |○ |○ |○ |
---------------------------------------------------
2 行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
3 行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
4 行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
5 行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
6 行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
7 行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
8 行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
9 行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
10 行目|○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
11行目 |○ |○ |○ |○ |○ |○ |○ |
---------------------------------------------------
12行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
13行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
14行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
15行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
16行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
17行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
18行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
19行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------
20行目 |○ |○ |○ |○ |合計 |○ |○ |
---------------------------------------------------

by domino

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

[7226]発展1講座第4章 - Select Case 複数条件の並べ方

2016-10-25 06:05:02 受講生さんからの投稿です。

シート削除のマクロで、for each構文、Select Case構文の組み合えわせたコードが参考になりました。実務で使えそうなのでマスターしたいです。

by domino

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

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

2016-10-23 08:39:11 受講生さんからの投稿です。

For Each構文のマクロの書き方は、
「ハナコのステップ」で作ったIf文を、For Next構文で挟み込む手順と同じなんですね。とても分かりやすかったです。

by domino

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

[7207]発展1講座第3章 - マクロの自動記録 途中改行1 入力支援機能

2016-10-21 06:50:45 受講生さんからの投稿です。

自動メンバー表示のショートカットキー
[Ctrl]キー+[J]キー
活用したいと思います。
自分が書いた変数の呼び出しにも使えるのが便利です。

ネットで調べていたら、[Ctrl]キー+[スペース]キーでも操作できるようですね。

by domino

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

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

2016-10-08 15:11:41 受講生さんからの投稿です。

目的とするマクロ作成に必要な構文が徐々にわかってきました。今後も楽しみです。

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

[7178]発展1講座第3章 - マクロの自動記録 オートフィルタ2

2016-10-07 21:15:28 受講生さんからの投稿です。

指示語の「オブジェクトを明示する言葉」への置き換え方としてSelection → Range("C3")とありますが、ActiveWorkbook、ActiveCellは下記のようになるのでしょうか?
ActiveWorkbook→Workbooks("excel1")
ActiveCell→Range("C3")

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

[6997]発展1講座第4章 - Select Case 複数条件の並べ方

2016-09-03 19:14:35 田中 宏明さんからの投稿です。

他人が書いたマクロの Select Case構文 でのに処理内容を直感的に理解できるレベルになりました。

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

[6978]発展1講座第1章 - ハンガリアン記法

2016-08-31 08:56:35 受講生さんからの投稿です。

ハンガリアン記法
視覚的に分かるので意味が便利だと感じました

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

[6336]発展1講座第5章 - モジュールレベル変数 アクセシビリティ設定

2016-04-05 04:03:02 受講生さんからの投稿です。

基礎編での質問でしたが 発展編で改行とモジュールの復習を・・とのアドバイスでしたのでこちらに再度掲載しました。
修正版作成してみましたのでアドバイス願います。
改行と変数retu 追加です。
【修正版】・・前回に加え合計数とカウント数両方算出にしました
Option Explicit
Dim retu As String
_____________________の
Sub goukeiRenzoku()
retu = "L"
goukei1
retu = "M"
goukeicount2
retu = "N"
goukei1
retu = "O"
goukeicount2
______________________
End Sub
Sub goukei1()  ’合計数
Dim goukei
Dim mAx1, mAx2 As Long
mAx1 = Range("A" & Rows.Count).End(xlUp).Row
mAx2 = Range("K" & Rows.Count).End(xlUp).Row
Dim hida
Dim migi
Dim gyo
gyo = 2
For migi = 3 To mAx2
goukei = 0
For hida = 3 To mAx1
If Range("E" & hida).Value = _
Range("K" & migi).Value And Range("H" & hida).Value = _
Range(retu & gyo).Value Then
goukei = goukei + Range("F" & hida).Value
End If
Range(retu & migi).Value = goukei
Next
Next
End Sub
_________________________________
Sub goukeicount2()  ’カウント数
Dim goukei
Dim mAx1, mAx2 As Long
mAx1 = Range("A" & Rows.Count).End(xlUp).Row
mAx2 = Range("K" & Rows.Count).End(xlUp).Row
Dim hida
Dim migi
Dim gyo
gyo = 2
For migi = 3 To mAx2
goukei = 0
For hida = 3 To mAx1
If Range("E" & hida).Value = _
Range("K" & migi).Value And Range("H" & hida).Value = _
Range(retu & gyo).Value Then
goukei = goukei + 1
End If
Range(retu & migi).Value = goukei
Next
Next
End Sub
*************************************************************************************************************
【前回】
Sub syuukei4()
Dim goukei
Dim retu
Dim hida
Dim migi
For migi = 3 To 9
retu = "L"
goukei = 0
For hida = 3 To 13
If Range("E" & hida).Value = Range("K" & migi).Value And Range("H" & hida).Value = Range("L2").Value Then
goukei = goukei + Range("F" & hida).Value
End If
Range(retu & migi).Value = goukei
Next
Next

For migi = 3 To 9
retu = "M"
goukei = 0
For hida = 3 To 13
If Range("E" & hida).Value = Range("K" & migi).Value And Range("H" & hida).Value = Range("M2").Value Then
goukei = goukei + Range("F" & hida).Value

End If
Range(retu & migi).Value = goukei
Next
Next

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

[5954]発展1講座第5章 - Sub プロシージャを分割するメリット

2016-03-12 23:46:16 受講生さんからの投稿です。

長いプログラムに コメント付けて 同じプログラムを何度も書いて・・後で見ると えっと何だったかな?と・・自分で書いておきながら 考えることがあります。
分割化でたくさんのメリットがありそうですね。今まで作成したものも見直してみます。

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

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

2016-03-12 23:21:01 受講生さんからの投稿です。

連続動作をさせるときに ネットで見て Call ***** Call ***2 としてましたが Call 有り無しで何か違いがありますか?

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

[5952]発展1講座第4章 - Select Case 複数条件の並べ方

2016-03-12 23:00:39 受講生さんからの投稿です。

IF 文で指定のWorksheetを複数削除するのに共通する文字がなく困っていたところでした。Select Caseで消したくないシートを指定することで解決出来ました。
又、会社でシステム化の方が作成した簡単なマクロなら少しずつ理解出来るようになり、(今回のSelectCaseもその一つ)ちゃっかり頂いて 
自分の仕事の状況に合わせて修正して使用したりしてます。

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

[5887]発展1講座第3章 - マクロの自動記録 オートフィルタ2

2016-03-06 15:11:09 受講生さんからの投稿です。

まさに事故が発生してました。(笑)
自動マクロは便利ですけど理解して修正する力を身に着ける事が大切ですね。

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

[5408]発展1講座第2章 - プロパティ Offsetの使い方

2015-12-09 12:57:42 受講生さんからの投稿です。

横方向の移動には、今までCellsを使っていました。シートのかなり右側で作業する場合はOffsetを使うほうがわかりやすいですね。勉強になりました。

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

[4871]発展1講座第5章 - Sub プロシージャを分割するメリット

2015-08-15 14:31:04 虫谷吉男さんからの投稿です。

マクロを部品化する事でメンテナンス性が格段に良くなりますね。

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

[4870]発展1講座第4章 - Select Case 条件の範囲選択

2015-08-15 14:06:52 虫谷吉男さんからの投稿です。

select caseの便利な使い方勉強になりました。
case is='' '','' ''のカンマでcaseを増やせること。
case 0 to 3のtoでで数字の範囲を変えられること。

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

[4823]発展1講座第3章 - マクロの自動記録 途中改行1 入力支援機能

2015-08-09 21:07:48 虫谷吉男さんからの投稿です。

back delete end
back delete end
back delete end覚えました。

手動メンバ表示機能ctr+lJ初めて知りました。変数にも利用できるという事は長い変数でも間違えなくて済む。という事ですね。
変数に小文字と大文字を組み合わせるのも新鮮でした。なるほど確かにー!です。

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

[4822]発展1講座第3章 - マクロの自動記録 オートフィルタ2

2015-08-09 16:16:33 虫谷吉男さんからの投稿です。

自動マクロで書かれたactive〜の指示語は明確なセル、シート、ブックに変更する事で事故が防げるんですね。

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

[4821]発展1講座第2章 - End プロパティの使い方

2015-08-09 13:12:37 虫谷吉男さんからの投稿です。

Range(''a''&Rows.Count).End(xlup).Rowは暗記ですね

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

[4820]発展1講座第2章 - プロパティ Offsetの使い方

2015-08-09 12:11:44 受講生さんからの投稿です。

offsetは横移動に便利なんですね。

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

[4814]発展1講座第1章 - 固有オブジェクト型

2015-08-08 16:50:22 虫谷吉男さんからの投稿です。

総称オブジェクト型ではなく固有オブジェクト型を使用することにより、自動メンバ機能が使えることがメリットなんですね。勉強になりました。

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


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

 

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

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

トップへ