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

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

<12

[3788]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.08

2015-02-10 05:16:13 井上 聡さんからの投稿です。

Workheetオブジェクトについて
テスト1の場合のはwsを変数で宣言していますので、Woriksheetはオブジェクトを指し、
テスト2の場合はエラーになり、Activesheetで動作します。従って、この場合のWorksheetはプロパティーでオブジェクトを取得する必要になるのでしょうか。
Worksheetをオブジェクトとして使用するのは、変数を宣言する時だけでしょうか。

Sub test1()
Dim ws As Worksheet
For Each ws In Worksheets
Range(“A1”).Value = ws.Name
Next
End Sub
Sub test2()
Dim ws As Worksheet
For Each ws In Worksheets
Range(“A1”).Value = Worksheet..Name
Next
End Sub

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

[3771]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.08

2015-02-08 09:13:44 井上 聡さんからの投稿です。

ニックネームについて
Sub w05()
Dim ws As Worksheet
Dim cnt As Long
cnt = 2
For Each ws In Worksheets
If ws.Range(“K” & Rows.Count).End(xlUp).Value < 0 Then
Worksheets(“集計”).Range(“B” & cnt) = ws.Name’(A)
cnt = cnt + 1
End If
Next

End Sub
(A)にwsをworksheetにするとエラーになります。
ニックネームをつけると必ずニックネームを使用しないといけないのでしょうか。

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

[3375]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.04

2014-12-02 00:27:41 受講生さんからの投稿です。

Findメソッドを使用して書いてみました。
コードがうまく表示されるか、テストも兼ねています。

Sub Sample5() 
    Dim i As Long, FoundCell As Range
    For i = 4 To 15
        Set FoundCell = Range("A4:A29").Find(what:=Cells(i, "E").Value)
        If Not FoundCell Is Nothing Then
            FoundCell.Offset(0, 2).Value = Cells(i, "F").Value
        End If
    Next i
End Sub

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

[3351]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.04

2014-11-28 23:01:40 伊久間博之さんからの投稿です。

発展編で習ったfor each構文をあえて使ってみました。

Sub toi5()
    Dim hida As Range
    Dim migi As Range
    For Each hida In Range("A4:A29")
        For Each migi In Range("E4:E15")
            If hida.Value = migi.Value Then
                Range("C" & hida.Row).Value = Range("F" & migi.Row).Value
                Exit For
            End If
        Next
    Next
End Sub

この場合for next構文の方がシンプルでわかりやすいですね。

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

[2837]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.06

2014-10-28 15:20:18 浜口 智之さんからの投稿です。

第三回目で色についてググっているときに
今回の回に少し登場したイミディエイトウインドウの使い方に出会いましたよ。
その時はへーと思ってましたが、、、
その時出会ったのはcolorindexを調べるのに「?activecell.interior.colorindex」。

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

[2832]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.03

2014-10-27 22:46:08 浜口 智之さんからの投稿です。

調べてみましたらエクセル2013にはオフラインヘルプがなく凹みました。
ないですよね?オフラインのヘルプ…
バージョン上がって使いにくくなってるのは残念ですね。
ググったり、オンラインヘルプを活用していきます。

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

[2809]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.02

2014-10-26 18:49:36 浜口 智之さんからの投稿です。

今回でFor Each構文についてしっくりくるようになりました。
あと基礎編で学んだLeft関数、Right関数、len関数、Instr関数は悩むことなく、うまく組み合わさりました。
難しかったのは色の設定。エクセルのバージョンによって違ってくるのですね。
完全には理解が難しいですが、自動記録から試行錯誤して形作ることはできました。
発展編になって自動記録の中身が読めるのは、かなりの強みですね。

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

[2806]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.01

2014-10-26 15:28:30 浜口 智之さんからの投稿です。

さっそくフォローに取り掛かりました。
昨日の今日ということもあってすんなり自動記録を使っての作業もできました。
あとは基礎編の知識で楽にクリアです。
ただ今回は発展編で学んだ as Long などに意識を向けました。
少しづつ基礎編に発展編の知識を組み込んでいきたと思います。
引き続きよろしくお願いします。

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

[2642]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.12

2014-10-05 15:37:48 受講生さんからの投稿です。

IsNumeric関数、おもしろいですね。
小さいパーツを組み合わせれば、どんなに大きくて難しいことでも解けると実感できました。

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

[2640]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.11

2014-10-05 08:39:38 受講生さんからの投稿です。

順調に書けました。
もう少し頑張って、発展編2に突入する予定です。

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

[2615]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.10

2014-10-02 07:13:56 受講生さんからの投稿です。

Select CaseとFor Each構文、両方使いこなせれば、間違いなく幅は広がりますね。
僕も個人的には、Else ifが続くよりは、Select Caseの方が可読性が優れているような気がして好きです。

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

[2588]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.09

2014-09-30 06:50:55 受講生さんからの投稿です。

フォローアップセミナーNo.9も比較的すんなり進めました。
別件ですが、イミディエイトウィンドウに?Worksheets.Countとかって使うことに慣れてきました。
先生のおかげでイミディエイトウィンドウも次第に使いこなせており、感謝しています。

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

[2576]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.08

2014-09-28 18:12:17 受講生さんからの投稿です。

フォローアップミニセミナーNo.07と続けて見たので、理解が深まり、本当に助かりました。

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

[2575]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.07

2014-09-28 17:30:11 受講生さんからの投稿です。

ハナコのステップ、馴染んできました。
まだまだ頑張って、先に進んでいきます。

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

[2559]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.01

2014-09-26 02:43:46 白川裕美さんからの投稿です。

”非表示”は書き方が分からず、検索して見つけて回答しましたが、マクロ自動記録を使うとあっという間に解決だったんですね。
これからは、有効に活用します。

それから、以前は何が書いてあるのかさっぱり分からなかったマクロ自動記録の内容ですが…
書いてある内容を理解して、応用できるようになったなんてすごいうれしい!

…と、感激してしまいました。

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

[2542]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.06

2014-09-24 06:38:11 受講生さんからの投稿です。

フォローアップミニセミナー、とても楽しいですね。
ちなみに、イミディエイトウィンドウにそんな使い方があるとはびっくりです。
?Worksheets.Countとかって記入すると答えが返ってくるんですね。

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

[2539]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.05

2014-09-23 20:26:19 受講生さんからの投稿です。

.PageSetup.LeftHeader等、使えそうな知識がどんどん増えて、嬉しい限りです。

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

[2512]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.04

2014-09-21 11:42:44 受講生さんからの投稿です。

自分が思っていた通りにマクロがまわると、本当に快感ですね。
タイピング同様、引き続き頑張ります。

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

[2414]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.03

2014-09-07 19:13:11 受講生さんからの投稿です。

For Each構文、まだまだですが、手が覚えるまで頑張ります。
For each k in “群れ”の”群れ”の部分がキーになることが理解できましたので、自分としては大きな一歩です。

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

[2381]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.02

2014-09-04 14:53:03 受講生さんからの投稿です。

InStr関数、非常に勉強になりました。
この関数は使いこなせるようになりたいです。

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

[1889]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.01

2014-08-10 09:36:33 受講生さんからの投稿です。

「ハコを作る」のプロセスにとにかく集中して、今回は取り組みました。
それに、「Home, Shift + ↓↓↓」、そしてTabを組み合わせて見やすいプログラムを作っていきたいと思います。

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

[1292]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.02

2014-05-28 14:49:14 円崎雄一さんからの投稿です。

いつもお世話になります。
問題4の中での質問になります。
発展編の内容とは関係がない部分での質問で申し訳ありません。

“印刷”の文字を抽出するために、Mid関数とLen関数を使いました。
(Right関数が思いつかなかったため)

イミディエイトウィンドウでは、”印刷”の文字が抽出できているように
見えるのですが、IF文の分岐がうまくできませんでした。
(タブの色付けを実行しないでEnd Ifに行ってしまいます)

Sub Mondai4()
    Dim w As Worksheet
    For Each w In Worksheets
        Debug.Print w.Name
        Debug.Print Mid(w.Name, Len(w.Name) - 1)
        Debug.Print Right(w.Name, 2)
        
        If Mid(w.Name, Len(w.Name) - 2) = "印刷" Then   '【Rightが思いつかず、Midでやりました】
        'If Right(w.Name, 2) = "印刷" Then 【お手本の答え】
        
        w.Tab.ColorIndex = 13
        End If
    Next
End Sub


Right関数で得られた値と、どのように違うのかがわかりませんでした。
どうぞよろしくお願いいたします。

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

[1234]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.10

2014-05-14 23:14:50 荏隈 直樹さんからの投稿です。

今日は仕事後で疲れたので頭の体操だけ

Sub taisou10_1()
    Worksheets("Sheet3").Range("A1").Value = Date + 3
End Sub

Sub taisou10_2()
    Worksheets("Sheet3").Range("A2").NumberFormatLocal = "@"
    Worksheets("Sheet3").Range("A2") = "001"
End Sub

Sub taisou10_3()
    Worksheets("Sheet3").Range("A3").NumberFormatLocal = "@"
    Worksheets("Sheet3").Range("A3") = "2010-08-31"
End Sub

Sub taisou10_4()
    Dim RA3 As String
    RA3 = Worksheets("Sheet3").Range("A3").Value
    Worksheets("Sheet3").Range("A4").Value = Replace(RA3, "-", "/")
End Sub



[1]は、dateadd関数なんてものがあったのですね。
[4]のreplace関数は、いただいたテキストを元に見よう見まねで書いてみました。

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

[1195]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.07

2014-05-11 17:26:27 荏隈 直樹さんからの投稿です。

どうも荏隈です。

No.7の、頭の体操の意味を取り違えておりました。

[2]
[1]で追加したワークシートの名前を、”test”にする
(※すでに”test”という名前のシートがある場合は、何か別の名前にしてください)

という問題文ですが、
if文で条件分岐して、すでに”test”という名前のシートがある場合には別の名前にするマクロを作る話だと思いました。
なので、既存のシートに”test”があるかどうかを探るマクロを考えて思いつかずに回答を見たら「あれ?」となってしまいました(^^;;


本文の問題は、こんな感じで、問題なく出来ました。

Sub mondai7()
    Dim ws As Worksheet
    Dim lnShukei As Long
    Dim wsShukei As Worksheet
    Dim wsMx As Long
    lnShukei = 2
    Set wsShukei = Worksheets("集計")
    For Each ws In Worksheets
        If ws.Name <> "集計" Then
            wsMx = ws.Range("B65536").End(xlUp).Row
            ws.Tab.Color = 49407
            wsShukei.Range("A" & lnShukei).Value = lnShukei - 1
            wsShukei.Range("B" & lnShukei).Value = ws.Name
            wsShukei.Range("C" & lnShukei).Value = ws.Range("K" & wsMx).Value
            lnShukei = lnShukei + 1
        End If
    Next
End Sub


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

[1171]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.04

2014-05-06 15:08:43 荏隈 直樹さんからの投稿です。

どうも荏隈です。
[1]の問題を変数を使ってやってみようとしたのですが、エラーが発生します。

 
Sub mondai1()
    Dim c As Long
    Dim A As Range
    A = Range("A" & c)
    For c = 4 To 29
        If A.Value = Range("E4").Value Then
            A.Font.Bold = True
        Else
            A.Font.Bold = False
        End If
    Next
End Sub


発生したエラー
http://www5d.biglobe.ne.jp/~middle/rangemethod.JPG

念のため、
A = Range(“A” & c)

Set A = Range(“A” & c)
に変更しても、同様のエラーが発生しました。

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

[1169]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.02

2014-05-05 18:53:34 荏隈 直樹さんからの投稿です。

どうも荏隈です。
オンライン講座で駆け足で5章まで見終わり、あとはフォローアップで体に叩き込んでいきたいところです。
今回のフォローアップ2も、かなり歯ごたえがありました。

ところで、オープニング問題で、セルの色を変える動作を自動記録で保存すると、以下のようになります。

Sub Macro5()

‘ Macro5 Macro



With Selection.Font
.ThemeColor = xlThemeColorAccent5
.TintAndShade = 0.799981688894314
End With
End Sub

使用しているExcelのバージョンは2007です。
色選択の際には、以下の画面が出てきます。
http://www5d.biglobe.ne.jp/~middle/excelcolor.JPG

動画と同じようにならず、そのまま
結局こういうページを見て色を参照して、該当する数値をコードの中に入力しております。
http://www.relief.jp/itnote/archives/000482.php

今回気になった所としてはそんな所でした。
それではよろしくお願いします。

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

[1107]エクセルマクロ・VBA発展編1フォローアップミニセミナーNo.03

2014-04-16 15:38:08 受講生さんからの投稿です。

今日の内容は、今までなら条件書式の設定でしかできなかった(私が方法を知らなかった)処理をマクロでできてしまった!という嬉しくも悔しくもある例題でした。
Excelの数式を使うとどうしてもファイルが重くなってしまうので、今まで何分待っていたことか…と。
でも、オブジェクトをマクロで操作できると楽しいです。

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

<12

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

 

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

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

トップへ