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

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

[10054]表を解析して1行のリストを作る、1行のリストを解析して表にする(その2)

2018-05-28 01:11:24 杉本 忠昭さんからの投稿です。

今回の問題はこのように書いてから動画を見ました。

Sub mondai2()
    Dim hida
    Dim migi
    Dim Kuiki
    migi = 2
    
    For hida = 2 To 27
        If Range("A" & hida).Value <> Range("A" & hida - 1) Then
            Range("E" & migi).Value = Range("A" & hida).Value
            Range("F" & migi).Value = Range("B" & hida).Value
            Kuiki = Range("C" & hida).Value & "地区"
            Range("G" & migi).Value = Kuiki
            migi = migi + 1
        Else
            Kuiki = Kuiki & "," & Range("C" & hida) & "地区"
            Range("G" & migi - 1).Value = Kuiki
        End If
    Next

End Sub

重複した業者名が続くと『区域』を毎回書き直すのがカッコワルイと感じてはいますが、最初と最後の特殊な制御は不要になるので、メンテナンスはしやすく、これはこれでアリなのではと思っています。
一方、処理が重くなったり遅くなったりするというデメリットもあるかも知れないのですが・・・どうでしょうか。

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

[10051]簡単なマクロを書いてみる – 基本編

2018-05-27 09:52:21 受講生さんからの投稿です。

ExcelVBA初心者です。
凄くわかりやすく勉強になります。
ステップインの黄色行はこれから実行する行と教えていただき、よくわかりました。

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

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

2018-05-26 15:45:24 杉本 忠昭さんからの投稿です。

『行をループさせて最大値を取り、その後列をループさせて表の最大値を獲得する』というアイデア(設計図)を思いついたものの、列をループさせる手法が思いつかず、結局何度も似たようなForループをコピペして「とりあえず動く」マクロを書いたものの、エレガントとは言えない方法だなぁと思っていました。解決策をネットで検索して、手法として使えそうなcellsを知りました。
四苦八苦しながらcellsで動くマクロを作成(過去に投稿された方のコードと全く同じ)し、それから動画を見ました。
ところが、そのエレガントとは言えない方法(ベタな方法)が解説されている動画を見て、自分の考え方に根本的な誤りがあることに気づきました。
つまり『まだ白帯の私が高度な技を憶えようとするのは早すぎる。学んだことを徹底して反復練習することが先決』ということです。
実際、ベタな方法でコードを書くのには、15分もかかっていないのに、慣れないcellsを検索して試行錯誤するのに3日もかかってしまいました。
cellsという手法もどうやらベストではないらしく、for each構文その他、将来学ぶべきことはまだあるらしいということも知りました。
もう、ネットで検索するのに時間を費やして演習時間を減らすという迂遠な方法は止めます。
たぶん、この講座のカリキュラムに沿って学ぶ方が、最速でマクラー(マクロを自在に操れる人。そんな言い方するのか不明)になれる気が本当にするからです。
今後もよろしくお願いします。

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

[10040]条件に一致するデータだけのリストを、条件に一致しないデータを削除する方法で複数の別ファイルとして連続的に作成する。

2018-05-24 06:08:09 ゲストさんからの投稿です。

小川様

お返事ありがとうございます。無事に実行できました。
やはり自分では気が付かないことがあるのですね。
結構時間を費やしてしまいましたが、プログラム書くときは
このようなことをひとつずつ学んでいく必要があるのだと感じました。
今後ともよろしくお願いいたします。

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

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

2018-05-23 14:53:03 ゲストさんからの投稿です。

いままで知らずにzipファイルを使っていました。
大変勉強になりました。仕事でも使っていきます。

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

[10038]エクセルマクロVBA「Web連携」Microsoft Internet Controls_Webコンテンツの取得

2018-05-23 12:23:46 受講生さんからの投稿です。

田中 宏明様

わざわざコメントありがとうございました。
やはり一筋縄ではいかないのですね。
参考ページを見ながら、
MSXMLやWinHttpRequestの検討もしつつ
研究してみます。
ありがとうございました。

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

[10034]条件に一致するデータだけのリストを、条件に一致しないデータを削除する方法で複数の別ファイルとして連続的に作成する。

2018-05-22 21:31:02 ゲストさんからの投稿です。

小川様

workbooksでファイルを指定しているのですが、インデックスが有効範囲にありません というエラーが解消できません。

以下、マクロ内容です。


Sub kotae2()
Dim fairu
Dim sakujyo
fairu = “n.xls”
Sheets(“本番”).Select
Sheets(“本番”).Copy
ChDir “C:\Users\morita\Desktop”
ActiveWorkbook.SaveAs Filename:=”C:\Users\morita\Desktop\ ” & fairu, _
FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
Workbooks(“n.xls”).Worksheets(“本番”).Range(“E4”).Value = “ぬいぐるみ”

End Sub


Workbooks(“n.xls”).Worksheets(“本番”).Range(“E4”).Value = “ぬいぐるみ”
の部分で止まってしまいます。
このとき、おおもとのks207のファイルも開いております。

どうぞよろしくお願いします。

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

[10033]条件に一致するデータを別表に転記する。AutoFilterより便利な条件抽出マクロ。

2018-05-22 21:17:29 ゲストさんからの投稿です。

ありがとうございます!
コードの意味は深く考えず、最終行なのでROWで下からぶつかったところ・・・?と想像しつつ、とりあえず活用させていただきます。

ここまでの動画の練習問題も日々の業務に本当に役に立っていて、毎日進化中の自分、数週間前の私とは明らかに違って、魔法にかかっているみたいです。
発展編へ向けて頑張ります☆

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

[10032]発展1講座第2章 – プロパティ 上位のオブジェクト

2018-05-22 21:09:52 田中 宏明さんからの投稿です。

上位のオブジェクト、理解できました。
.Parent を使わない方法で書いてみました。

Sub sample()
    Dim rng As Range
    Set rng = Range("C3")
    Debug.Print rng.Worksheet.Name
End Sub

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

[10014]エクセルマクロVBA「Web連携」Microsoft Internet Controls_Webコンテンツの取得

2018-05-21 13:37:46 受講生さんからの投稿です。

何度もすみません、
以下の件で、
.getElementsByClassName(“nav-login-btn”)を使ってみたところ、
要素の取得はできるようなのですが、クリックができませんでした。
.clickと書くだけではダメなのでしょうか。


また、それとは別の質問で、SWFコンテンツ?というのでしょうか、
以下のようなソースの場合、どのようにすればクリックできますでしょうか
getElementByIdではできませんでした。

<object type=”application/x-shockwave-flash” id=”MainExternalImport” name=”MainExternalImport” align=”middle” data=”./swf/MainExternalImport_ver1_4.swf” width=”105″ height=”23″><param name=”quality” value=”high”><param name=”bgcolor” value=”#ffffff”><param name=”allowscriptaccess” value=”sameDomain”><param name=”allowfullscreen” value=”true”></object>

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

[10013]条件に一致するデータを別シートに転記する

2018-05-21 02:57:15 杉本 忠昭さんからの投稿です。

なぜ同じ感想を3通も送信されてしまったのか、わかりません。お手数ですが、削除してください。
以前解説があったかも知れませんが、ピリオドを打った後(Range(“A1”).⇐これ)の候補リストが、今回のマクロを記述する際に表示されないのは、vbeの仕様なのでしょうか。

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

[10010]条件に一致するデータを別シートに転記する

2018-05-21 02:40:32 杉本 忠昭さんからの投稿です。

全ての問題について、動画解説を見る前に「先ずは自力でやってみよう」と思って取り組んでいます。
今回の問題は、動画5で学んだことが直接活かせる問題でした。
途中で考え込むこともなく、サラサラとコードを書いている自分にびっくりですw
今までのマクロはシートが別だと全く用をなさなかったですが、マクロの中でシートを指定すれば、どのシートからでも動かせるんですね。
面白いなぁ~

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

[10009]エクセルマクロVBA「Web連携」Microsoft Internet Controls_Webコンテンツの取得

2018-05-20 22:26:05 受講生さんからの投稿です。

(追記)
ちなみに、IDとパスワードを入力する部分にはIDがついていたのでgetElementByIdでの操作は成功済です。
ログインボタンだけがIDの記載がなかったので詰まってしまいました。

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

[10008]エクセルマクロVBA「Web連携」Microsoft Internet Controls_Webコンテンツの取得

2018-05-20 22:18:58 受講生さんからの投稿です。

IEで、IDとパスワードを入力してログインボタンを押す、
という操作をしたいのですが、
ログインボタンにはIDがついておらず、
getElementByIdでの操作ができそうにありません。
また、elementsでもないようで、エラーになってしまいました。

ソースは次のようなものでした。
<dd class=”nav-login-btn”><a href=”javascript:void(0);” onclick=”javascript:func_request_Link(‘LOGIN’); return false;”>ログイン</a></dd>


ネットで調べたところ、以下のようなコードが見つかり、
これでやったら無事にログインボタンが押されました。
この場合は、このような方法しかないでしょうか。

Dim ie As Object
Dim tag As Object
Set ie = CreateObject(“InternetExplorer.Application”)
ie.Visible = True
ie.navigate “http://目的のURL"
Do While ie.Busy Or (ie.ReadyState <> 4): DoEvents: Loop
For Each tag In ie.document.getElementsByTagName(“a”)
If tag.InnerText = “ログイン” Then
tag.Click
Exit For
End If
Next

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

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

2018-05-20 15:54:54 受講生さんからの投稿です。

モジュールレベル変数の有効性について教えて下さい。
第29回のModule23において、
Dim b As Boolean
のモジュールレベル変数は、IsHoliday23でTrueかFalseになったあと
別のSubプロシージャであるExeCreateCalendar23へ戻ってきても
TrueかFalseが保持さていました。
私は今まで、同じモジュール内であっても別のSubプロシージャになると変数はリセットされると解釈してましたが、これは間違いだったのでしょうか?
これは、オブジェクト型変数にも有効でしょうか?
モジュールレベル変数でオブジェクト型変数を設定しておいて、
最初のSubプロシージャでSet~でオブジェクトを指定しておけば
以降、同じモジュール内のSubプロシージャであれば、ずっと有効なのでしょうか?

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

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

2018-05-20 15:16:59 受講生さんからの投稿です。

第29回のwebページからDLするExcelファイルには、「control」シートがありませんが(summaryシートのみ)、これは何かの手違いでしょうか?

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

[10004]条件に一致するデータを別表に転記する。AutoFilterより便利な条件抽出マクロ。

2018-05-18 21:50:54 ゲストさんからの投稿です。

マクロを学んでみようと思ったきっかけの一つがこれでした。
元データを一つ一つ検索ソフトに打ち込んで、半日くらいかけて行うこともしばしばあって何とかならないかと思い始めて数か月になります。

先日、職場でプログラムを書き上げて一気に終わった仕事を見て、あまりの気分の良さに定時でさっさと帰ってきました♪

毎日の業務なので、検索値の最終行を自動で判断してくれるようなマクロを書けるようになると、さらに楽になるのに。。。と淡い期待を抱いています。

一週間先の自分が楽しみな毎日です。

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

[10003]商品ごと、年ごとの販売額合計をピボットテーブルのように出力する(その2-1)

2018-05-17 22:40:04 伊藤博文さんからの投稿です。

お世話になっております。
右の表を年と商品を書くマクロを一気にすることができないかなと思ってトライしてみましたが、うまくいかなかったです。
Sub rensyu1()
Range(“B1”).Select
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add Key:=Range(“B1”), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(“Sheet1”).Sort
.SetRange Range(“A2:F231”)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range(“E1”).Select
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add Key:=Range(“E1”), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(“Sheet1”).Sort
.SetRange Range(“A2:F231”)
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With


Dim tate
Dim hida
Dim yoko
Dim syohin
Dim toshi
 ここでタテ、ヨコの変数を0としても、
 上手くいかなかったです。
For hida = 2 To 231
If Range(“E” & hida).Value <> syohin Then
Range(“H3”).Offset(tate, 0).Value = Range(“E” & hida).Value
syohin = Range(“E” & hida).Value
tate = tate + 1

ElseIf Range(“B” & hida).Value <> toshi Then
Range(“I2”).Offset(0, yoko).Value = Range(“B” & hida).Value & “年”
toshi = Range(“B” & hida).Value
yoko = yoko + 1
End If

Next
NarabeID
End Sub
ご指導宜しくお願いします。

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

[10002]エクセルマクロVBA「Web連携」HTMLコンテンツの取得と解析_概要

2018-05-17 20:58:09 受講生さんからの投稿です。

本講座をマスターしたいド初心者です。

前編までは理解いたしましたが、本編は何が何だか全く理解できませんでした。

何のためにHTMLコンテンツを取得し、解析するのか。

そもそも、HLMLコンテンツ、ライブラリーとは一体何のことなのか。

この辺りですら全く分かりません。クグっても分からないです・・・。

ご教示のほどお願いします。

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

[10001]エクセルマクロVBA「Web連携」Cookieを使ったリクエスト

2018-05-17 18:56:02 受講生さんからの投稿です。

ヘッダーの表示・確認方法について質問します。

レスポンスボディーについては、【ページのソースを表示(Ctrl+U)】にて確認ができました。

一方、講義で出てきたヘッダー(例えば以下)ですが、どのようにしたら表示・確認をすることができますか?

>>[リクエストはこんな感じ↓]

GET /ws/cookiesample.php HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Accept-Language: ja-JP
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; MALC)
UA-CPU: AMD64
Accept-Encoding: gzip, deflate
Host: [ 続きを読む ]  返信件数:1件  [ 動画を見る] 


[9981]補講:複数ファイル間でのデータ転記

2018-05-16 02:15:13 morimotoさんからの投稿です。

a & gyoの記載とinstr関数の使う場面、ifの条件不成立のときは何もしない、、、、ほんと役立だってます。フォローアップ終わらせて発展へ
早くいきたいですね。

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

[9980]補講:複数ファイル間でのデータ転記

2018-05-16 02:12:02 morimotoさんからの投稿です。

やっと基礎編が終わって、ほんと不思議なもので、カレーライスの話ではありませんが、以前にはなかった「こうやったら行けるかも!?」といった勘が少しながら出た感じです。したいことをネットで調べても有効に役立てできるようなところも見えるようになった感じです。驚くべきスキルアップ感です。変なvbaスクールなんか行くんでなかったと後悔してます。

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

[9979]出現回数を数える。CountIf関数がやっていることをマクロで書くと?

2018-05-16 02:05:06 morimotoさんからの投稿です。

ふれあい広場の例えはほんとわかりやすい。初期値goukei=0と
goukei=goukei+1 どこにコードを書くかゆっくり考えればできそうです。
だめならどこかに入れてf9で1つ1つどうなるか検証ですね。

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

[9978]条件に一致するデータを別表に転記する。AutoFilterより便利な条件抽出マクロ。

2018-05-16 02:02:47 morimotoさんからの投稿です。

きたないコードになりましたができてやり応えありました。ヒントがあったので助かりました。動画4にあったgoukei=goukei+1 の記憶が行かせました。しばしばたとえばcnt=cnt+1といったコードを見かけますが
何か数えるときはこの式がでるように記憶します。

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

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

2018-05-15 05:46:21 横山 知明さんからの投稿です。

動画30の「指示語を極力使わない。」ことは、自分が、他の人に仕事をお願いするときにも役に立つ話ですね。

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

[9975]文字列を加工してデータ転記する(その2)

2018-05-14 23:40:39 ゲストさんからの投稿です。

小川 様

質問に対するご指導、
ありがとうございました。

[a] Dim … , Dim … という変数宣言を、
Subプロシージャ先頭のほうで固めた方が良さそうな気がするけど、
変数が登場する順序と、それらの変数を使う順序は
一致していた方が良いのかな?

と思っていましたが、正確に表現できていませんでした。

宣言してから、値を格納するという点、
動画を復習します。

今後ともよろしくお願い致します。

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

[9974]テキストファイルの操作について

2018-05-14 21:48:25 受講生さんからの投稿です。

AtEndOfLine と streamについて、
動画内での説明と字幕での説明が違いますが
結局はどちらなのでしょうか。
混乱するので動画の再編集をしていただければ
有り難いかなと思いますが。

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

[9966]ファイルの操作・フォルダの操作説明

2018-05-14 00:55:23 澤田 亨さんからの投稿です。

いつもお世話になっております。
処理時間について教えてもらいたいことがあります。
今迄、日ごとに分けたファイルから情報をあつめて集計しようと考えてます。
FileSystemObjectのサンプルコードを参考にして書いてみたコードがあります。
“siken”ファイルに”1.xlsm”,”3.xlsm””4.xlsm”3個が存在していて有無を確認した後、あったらSheet1の”A1”の値を “syuukei”シートに書き出す処理をしてみました。
僅か3個の処理で2~3秒かかってます。コードの描き方がいけないのでしょうか?それともこのくらいはかかるものでしょうか?うまく説明できずすいません。よろしくお願いします。

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

[9965]出現回数を数える。CountIf関数がやっていることをマクロで書くと?

2018-05-13 17:07:05 ゲストさんからの投稿です。

変数が複数出てくると途中で混乱してしまい、なかなかついていくのが難しいですが、ひとつづつ説明いただいているので構造的には理解できそうです!落ち着いて、構造を把握してひとつずつ検証するのと、トライアンドエラーの繰り返しが必要そうです

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

[9963]さいごに-まとめ、演習のご案内と、今後の学習について

2018-05-13 10:51:18 澤崎 哲朗さんからの投稿です。

☆演習 – 種々のリライト –
の作成が完了しました。よろしくお願いいたします。

カレンダー生成から自動化を対応しました。
(ガントチャート作成講座本編に投稿したプログラムをもとに
ブラッシュアップをしました。)

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


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

 

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

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

トップへ