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

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

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

[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件  [ 動画を見る] 

[7599] この動画講座サイト「Padstudy」の使い方

松下 哲也さんからの投稿です。

どこでも繰り返し見れるとこに惹かれてこの道場にきました。
分かりやすそうですし、この先が楽しみです。

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

[7595]

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

お世話になります。沖縄の多和田です。

テキスト巻末の配列の課題について、質問です。(enshu1.xlsの課題です)

問題4で、このようなコードを書くと、問題なく動くんですが、

Sub test4()
Dim dic As Scripting.Dictionary
Set dic = CreateObject("Scripting.Dictionary")

Dim cGyo As Long
Dim cEnd As Long
cEnd = Range("C" & Rows.Count).End(xlUp).Row
For cGyo = 2 To cEnd
If Not dic.Exists(Range("C" & cGyo).Value) Then
dic.Add (Range("C" & cGyo).Value), ""
End If
Next

Dim vKeys As Variant
Dim c As Long
vKeys = dic.Keys
For c = LBound(vKeys) To UBound(vKeys)
Range("E" & c + 2).Value = vKeys(c)
'Debug.Print TypeName(vKeys(c))
Next
End Sub


単にvKeys の型をStringに指定しなおしただけの以下のコードでは動きません。
(コンパイルエラー 配列がありません となります)

Sub test4_1()
Dim dic As Scripting.Dictionary
Set dic = CreateObject("Scripting.Dictionary")

Dim cGyo As Long
Dim cEnd As Long
cEnd = Range("C" & Rows.Count).End(xlUp).Row
For cGyo = 2 To cEnd
If Not dic.Exists(Range("C" & cGyo).Value) Then
dic.Add (Range("C" & cGyo).Value), ""
End If
Next

Dim sKeys As String
Dim c As Long
sKeys = dic.Keys
For c = LBound(sKeys) To UBound(sKeys)
Range("E" & c + 2).Value = sKeys(c)
Debug.Print TypeName(sKeys(c))
Next
End Sub

しかし、sub test4 で、Typename関数でsKeys(c)の型を調べると、
型はstringになっているんです。

なぜ、型の指定をVariantにしないと動かないのか、分からないので
理由を解説していただけませんでしょうか?

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

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

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

今の仕事を効率化をするには必要だと思い、たどり着いたのがこちらでした。導入のムービーではマクロを使うとどういうことができるのか具体的な例があり、分かりやすかったです。使いこなせるといいことづくしですね。がんばって早く身につけたいです。

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

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

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


こんにちは小川先生。
今迄講座を受け得た知識で過去に作ったマクロがあります。
今回、WorksheetFunctionを勉強させてもらったので、変更してWorksheetFunction.VLookupを取り込んでみようとしました。
しかしマクロを実行すると、VLookupで参照するシートには内容変更が起こらないようにシートの保護をしてあります。
シート保護をしてある状態でもWorksheetFunctionで保護の解除を求められない方法はありますか?
下記のようなマクロでシートの保護はWorksheets("shaban")にかかっています。

Sub VL()
Dim c As Integer
Dim e As Integer
Dim s1 As Worksheet
Dim i As String

e = Range("C65536").End(xlUp).Row
Set s1 = Worksheets("aaa")

' シートを保護していると使えない?
' シート保護を解除するマクロが必要?

For c = 6 To e

' Worksheets("shaban").Unprotect ←このようにしてみたが結局パスワードを求められる…

i = s1.Range("C" & c).Value
s1.Range("D" & c).Value = Application.WorksheetFunction.VLookup(i, Worksheets("shaban").Range("A2").CurrentRegion, 2, False)

' Worksheets("shaban").Protect DrawingObjects:=True, Contents:=True, Scenarios:=True ←よくわからない

Next
End Sub



ご教授お願い致します。
また、発展編1を受講中ですがもう一度復習したのち次のステップに進もうと思ってます。
時間を作りながら勉強している状態でペースは遅いのですが次はどの講義を受講するのが良い手段ですか?
よろしくお願いします。

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

[7583] エクセルマクロ・VBAを利用するための推奨設定 - VisualBasicEditorの初期設定

柴田 邦彦さんからの投稿です。

Visual Basic Editorの[ツール]→[オプション]の設定は、一度実施すれば、全てのブックに有効ですか?それとも、別のセクセルブックを開いた時は、また、再設定しないとけませんか?

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

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

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

エクセルに記入しております企業名を特定のサイトで自動検索して指示する情報を自動入力することは可能ですか?

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

[7578] とびとびに存在するデータを拾って加工する

新見陽子さんからの投稿です。

はじめまして。2017年12月からこちらでマクロを勉強し始めました。
フォローアップでは、まず自分でマクロを作ってみてから答えや動画を見ています。
今回、自分で書いたマクロでは数列は使ってなかった(2015年2月5日の匿名さんと、そっくりのマクロでした)のですが、
動画では数列を使っていました。この式で数値がこう変わる、って結果はわかるのですが、自分でこの式を導き出す術がわかりません。
中学レベルの数列すら全く理解していないので、別サイトで数列の勉強からし直そうとしてみたのですが、
等差数列とかますます理解できなくなり絶望的になっています。
こんなことでは便利なマクロが作れるようにはなれそうにもない、と意気消沈。
やっぱり数列を理解できないと、先々発展できないでしょうか?

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

[7576] エクセル2010以降で「保護されたビュー」のツールバーを表示しない方法

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

解説がとても丁寧でわかりやすいですね。

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

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

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

マクロは聞いたことあったけど、難しいイメージがありました。とても分かりやすい内容でした、続けていきたいと思います。

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

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

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

大変興味深い内容でした。難しそうですが、是非努力して身につけたいと思いました。

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

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

近藤 磨美さんからの投稿です。

エクセルマクロ?なんだそれ??
大学の授業で聞いたことがなかったので、難しそうなイメージでしたが、作業の時間短縮に繋がるなど使えるだけでも尊敬されてしまいそうなものだとわかりました!

プログラミングみたいな数式を組み立てるのは難しそうですが、使いこなせたらかっこいいと思うので、少しずつ勉強させていただきます!

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

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

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

非常にわかりやすくまさに仕事に生かせるものばかりで勉強になります。質問なんですが、IDは入れたほうが良い理由を教えてほしいです。

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

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

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

はじめまして。
とてもわかり易い動画でした。
今まで、簡単なマクロはかじった事がありますが、これを機会に時間を作ってしっかりと学習したいと思います。

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

[7548] Wordと連携するには

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

あるフォルダーに保存されたWordファイル(.doc .docx)を一括印刷するマクロを作成してみました。
MS-Officeのバージョンを気にせずに実行できるよう工夫しています。
達人養成塾に入って1年以内でこのレベルに到達してことに感謝します。

 Option Explicit
Option Base 1

Sub Word一括印刷() 'H29.1.22

Dim seDir As String
'Wordファイルが保存されているフォルダーを選択
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
seDir = .SelectedItems(1)
Else
Exit Sub
End If
End With

Dim FSobj As Object 'ファイルシステムオブジェクト
Dim FSobjfolder As Object 'フォルダーオブジェクト
Dim FSobjfile As Object 'ファイルオブジェクト
Set FSobj = CreateObject("Scripting.FileSystemObject")
Set FSobjfolder = FSobj.GetFolder(seDir)

Dim cnt As Long 'カウンター
cnt = 0

Dim FName() As String 'Wordファイル名を入れる動的配列変数

For Each FSobjfile In FSobjfolder.Files
'Wordファイルが見つかったらファイル名を配列に入れる
If Right$(FSobjfile.Name, 4) = ".doc" Or Right$(FSobjfile.Name, 5) = ".docx" Then
cnt = cnt + 1
ReDim Preserve FName(cnt)
FName(cnt) = FSobjfile.Name
End If
Next

Set FSobj = Nothing 'オブジェクトを開放
Set FSobjfolder = Nothing 'オブジェクトを開放
Set FSobjfile = Nothing 'オブジェクトを開放

If cnt = 0 Then
MsgBox "Wordファイルが見つかりません。", vbExclamation
Exit Sub
End If

Dim wdApp As Object 'Wordアプリケーションオブジェクト
Dim doc As Object 'Wordドキュメントオブジェクト
Set wdApp = CreateObject("Word.Application")
wdApp.Visible = True 'Wordアプリケーションを表示

Application.DisplayAlerts = False

For cnt = LBound(FName) To UBound(FName)
Debug.Print FName(cnt)
Set doc = wdApp.Documents.Open(seDir & "\" & FName(cnt))
doc.PrintOut
doc.Close
Next cnt

Application.DisplayAlerts = True

wdApp.Quit 'Wordアプリケーションを終了
Set wdApp = Nothing 'オブジェクトを開放
Set doc = Nothing 'オブジェクトを開放

MsgBox "Wordファイルの一括印刷終了", vbInformation
End Sub

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


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

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

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

トップへ