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

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

[11380]データ記入用ファイルを配布する-その2

2019-04-29 17:09:01 マサラさんからの投稿です。

小川先生が動画の中で度々お話しされているように、
繰り返しコードを打つことで段々と身に付いてきました。
特に、フォローアップのbasicから一問ずつ繰り返すことにより、
先日質問させていただいたFor Nextの使い方について、迷わなくなりました。
今回のマクロでは、細かいケアレスミスをしなくなる(その都度ミスに気が付く)というのがひとつの到達点だと感じています。

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

[11346]セル内の文字列から区切り文字を見つけ、その出現回数+1回だけデータ転記する

2019-04-12 17:28:41 マサラさんからの投稿です。

【動画3】でSheet1からSheet2へ転記が行われる際に、
For kaisu = 0 To Worksheets(“Sheet1”).Range(“G” & gyo).Value
というマクロの一文が登場しましたが、正直なところ戸惑いを覚えました。
このkaisuという変数は、マクロの実行に伴い
0→1→2→3
と4つの値を示し、その後に4回の転記が行われています。
For~Nextの構文では、例えば上記の例のgyoのように、
特定のセルの値を示すものだと思い込んでおりましたが、
このkaisuという変数はgyoのような役割ではなく、いわば形式的に置かれていると考えてよろしいのでしょうか?

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

[11178]セル内の文字列から区切り文字を見つけ、その区切り文字の間にある文字列を反映しつつデータ転記する

2019-02-16 19:52:32 受講生さんからの投稿です。

文字列の最後に”、”を追加する方法を思いつき、少しシンプルになりました。

Sub ikkinizenbu2()
    Dim migi
    migi = 2
    Dim mae
    Dim ato
    Dim moji
    Dim n
    Dim gyo
    For gyo = 2 To 7
        mae = 0
        ato = 0
        moji = Worksheets("Sheet1").Range("D" & gyo).Value
        'mojiの最後が"、"でない場合、
        If Mid(moji, Len(moji), 1) <> "、" Then
            moji = moji & "、" '文字列の最後に"、"を追加
        End If
        For n = 1 To Len(moji)
            If Mid(moji, n, 1) = "、" Then
                mae = ato
                ato = n
                Worksheets("Sheet2").Range("A" & migi).Value = migi - 1
                Worksheets("Sheet2").Range("B" & migi).Value = Worksheets("Sheet1").Range("A" & gyo).Value
                Worksheets("Sheet2").Range("C" & migi).Value = Worksheets("Sheet1").Range("B" & gyo).Value
                Worksheets("Sheet2").Range("D" & migi).Value = Worksheets("Sheet1").Range("C" & gyo).Value
                Worksheets("Sheet2").Range("F" & migi).Value = Worksheets("Sheet1").Range("E" & gyo).Value
                Worksheets("Sheet2").Range("E" & migi).Value = Mid(moji, mae + 1, ato - mae - 1)
                migi = migi + 1
            End If
        Next
    Next
End Sub 

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

[11115]転記先ファイルを生成してデータを流し込む。

2019-02-10 22:44:56 ゲストさんからの投稿です。

小川先生
いつも楽しく勉強させていただいております。

1つ質問があります。
>[1] ワークブック「template.xls」を開き、「sample.xls」という名称で保存せよ。そして、新たに生成した「sample.xls」を閉じる。
という問題で動画にもあるようにマクロの自動記録を使ってコードを作りました。
しかしいざ実行してみると以下のようなエラーが出てしまい実行できませんでした。このエラーを調べて開発タブのマクロのセキュリティ部分をすべてのマクロを有効するに変えたのですがエラーは消えず実行することができませんでした。このエラーを解消する方法はあるのでしょうか?

<エラー内容>
このオブジェクトのマクロは無効に設定されています。マクロを有効にする方法についてはオンラインヘルプまたはホストアプリケーションのドキュメントを参照してください。

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

[11076]条件に一致するデータだけのリストを、条件に一致しないデータを削除する方法で作成する。

2019-02-05 15:05:32 ひろしさんからの投稿です。

いつもお世話になっております。
行の削除について、質問があります。

下記のように、A列に"行削除"と文字が発見されたら、
対象の列を削除させるマクロを作成しました。
しかし、データ数が膨大になると(20,000行以上とか)
処理時間が、かなり掛かってしまうようです。

データ数が、多い場合は別の方法が良いのでしょうか?
ご教授頂けると幸いです。

Sub gyo_sakujo()

    Dim gyo As Long
    Dim gmax As Long
    gmax = Range("A" & Rows.Count).End(xlUp).Row
    
    For gyo = gmax To 2 Step -1
        If Range("A" & gyo).Value = "行削除" Then
            Range("A" & gyo).EntireRow.Delete
        End If
    Next
End Sub


よろしくお願いします。

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

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

2018-11-09 07:41:06 ひろしさんからの投稿です。

小川先生

いつも、お世話になっています。
kadai_pivot2_のよくある型について理解しました。

一つ質問ですが、"if カウンターの値が「小」より大きければ"ですが、
最初のデータが1件しかない場合(あま酒が1件)は、あま酒が読み飛ばされてしまいます?。
状況でカウンターを使い分けるのがベストでしょうか?

勉強不足でスミマセン。
ご教授いただければ幸いです

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

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

2018-10-10 03:53:15 受講生さんからの投稿です。

動画再生時、音量が小さくて聞き取りにくい状態にあります。
「よくある質問の回答」に記載されていることを実行しましたが、解決しませんでした。
特定の動画で、このような現象が起こります。

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

[10559]条件に一致するデータだけのリストを、条件に一致しないデータを削除する方法で作成する。

2018-09-09 20:03:17 morimotoさんからの投稿です。

「削除系は下から」勉強になりました。練習中は上からしてしまい当然できませんでした。F8で動きをみると for nextの順と削除したい行がずれていくのが見えました。ヒント通り下からすると解消しました。絶対削除は下からと覚えておかないといけないですね。

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

[10558]条件に一致するデータだけのリストを、条件に一致しないデータを削除する方法で作成する。

2018-09-09 19:59:33 morimotoさんからの投稿です。

冒頭の解説で、「別のシートに転記する方法」というのがほんと感心しました。確かにアレンジ効きませんよね。ks204の練習をしてて転記元と転記先のIDや氏名、住所の並びがバラバラで練習中は相互に見比べるのが大変でしたが、この転記という方法は大変役立つので覚えておきたいです。

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

[10512]データ記入用ファイルを配布する-その2

2018-08-25 18:25:18 ゲストさんからの投稿です。

こんにちは。いつもお世話になっております。
ファイルを保存するところで、エラーになり進めないでおります。

実行時エラー 1004

ファイル’D:\renshu\配布先フォルダa\’にアクセスできません。次のいずれかの理由が考えられます。
・ファイル名またはパスが存在しません
・ファイルが他のプログラムによって使用されています
・保存しようとしているブックと同じ名前のブックが現在開かれています

Dドライブには間違いなく「renshu」フォルダが存在します。
どのようにしたら解決しますでしょうか。


———————————————————————
Sub renshumacro()
Dim foldername
Dim filename
Dim gyo

foldername = Workbooks(“全部1つ.xls”).Sheets(“部署情報”).Range(“D2”).Value
filename = Workbooks(“全部1つ.xls”).Sheets(“部署情報”).Range(“E2”).Value

Workbooks(“全部1つ.xls”).Sheets(Array(“歳入”, “歳出”)).Select
Workbooks(“全部1つ.xls”).Sheets(“歳出”).Activate

Workbooks(“全部1つ.xls”).Sheets(Array(“歳入”, “歳出”)).Copy ‘←この段階で新しいファイルができた
ActiveWorkbook.SaveAs filename:=”D:\renshu\” & foldername & “\” & filename, FileFormat:= _
xlExcel8, Password:=””, WriteResPassword:=””, ReadOnlyRecommended:=False _
, CreateBackup:=False

Workbooks(filename).Sheets(“歳出”).Select
Workbooks(filename).Sheets(“歳出”).Range(“A23:D23”).Select
Selection.Delete Shift:=xlUp

Workbooks(filename).Sheets(“歳入”).Select
Workbooks(filename).Sheets(“歳入”).Range(“A23:D23”).Select
Selection.Delete Shift:=xlUp

Workbooks(filename).Save
Workbooks(filename).Close

End Sub

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

[10490]転記先シートを生成してデータを流し込む。

2018-08-23 01:28:40 morimotoさんからの投稿です。

この例は実務でたくさん見かけそうなので、練習を繰り返したいと思います。

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

[10489]転記先シートを生成してデータを流し込む。

2018-08-23 01:27:50 morimotoさんからの投稿です。

ifからend ifまでぬいぐるみ、積み木、プラモデル、無しの4ブロックつくればいいやん、と当初思いつきましたが、ヒントのハナコステップで4ブロックも要らん、1ブロックでLOOPさせば絶対行ける!と決め狙いできました。特にシート名n,b,p,,,どう書こうか悩みましたが、D4~D7にあるので気付けばサクサクできました。よかったです。さらにcurrentregionにて罫線も入れました。

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

[10431]VLookUp関数、Index関数、Match関数より便利なマクロ-該当する行が見つからない場合の処理をアレンジ

2018-08-17 00:47:18 morimotoさんからの投稿です。

小川塾長:改めて一度整理し考えて見まして、フラグのfalse, trueですが、4:45あたりから説明が始まりまして、左のIDと右のIDで一致しないものを見つけたときmitsuketaと定義し、そしてその一致がみつからないとき→true、反対に一致がみつかったとき→false ということでいいのかなと思いました。そうすると、左のIDと右のIDの一致について
(1)では一致がみつかるときだから、false
(2)では一致がみつからないすなわち不一致があるときだからtrue
そして(3)では一致がみつからないときだから、trueとすべきだと思いました。(解説ではfalseでした)
実際小生の解釈で実行すると解答と異なりA30行以下一致しているIDの12,17,2,11,19,6,26,10,13が表示されました。 
(3)にてfalseになるところが知りたいです。
いろんなcodeでfalseやtrueが出てくるのでこの機会につかみたいです。
よろしくお願いします。
Sub mondai201_01()
Dim hida
Dim migi
Dim mitsuketa
Dim tenkisaki

tenkisaki = 30

For migi = 11 To 21
mitsuketa = False—–(1)
For hida = 4 To 29
If Range(“A” & hida).Value = Range(“E” & migi).Value Then
Range(“C” & hida).Value = Range(“F” & migi).Value
mitsuketa = True——(2)
Exit For
End If
Next
If mitsuketa = False Then—–(3) 不一致があるときだからtrue??
Range(“A” & tenkisaki).Value = Range(“E” & migi).Value
Range(“C” & tenkisaki).Value = Range(“F” & migi).Value
tenkisaki = tenkisaki + 1
End If
Next
End Sub

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

[10412]VLookUp関数、Index関数、Match関数より便利なマクロ-該当する行が見つからない場合の処理をアレンジ

2018-08-15 22:23:15 morimotoさんからの投稿です。

false, trueのところがつかめませんで、下のcodeが解説講義の分ですが、(1)でfalseとありますが、falseは右のIDの中で左のIDにないもの(36,44)についてなので、(1)以下のhida,,,を処理するにはfalseでなくtrueにして右のIDの中に左のIDにあるときC列に転記する処理と考えtrueと書くのでないかと思いました(実行したらおかしな結果でした)
また(2)のtrueですが、右のIDの中で左のIDにないものがあればforからexitで抜けて(3)の処理に続けばと考えてしまいました。実行結果がおかしいので理解・解釈がおかしいのはわかりますが、きちんとつかんでおきたいので、(1)がfalse, (2)がtrueとなるところをアドバイスお願いします。
Sub mondai201_01()
Dim hida
Dim migi
Dim mitsuketa
Dim tenkisaki
tenkisaki = 30
For migi = 11 To 21
mitsuketa = False———(1)
For hida = 4 To 29
If Range(“A” & hida).Value = Range(“E” & migi).Value Then
Range(“C” & hida).Value = Range(“F” & migi).Value
mitsuketa = True——-(2)
Exit For
End If
Next
If mitsuketa = False Then——–(3)
Range(“A” & tenkisaki).Value = Range(“E” & migi).Value
Range(“C” & tenkisaki).Value = Range(“F” & migi).Value
tenkisaki = tenkisaki + 1
End If
Next
End Sub

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

[10333]セル内の文字列から区切り文字を見つけ、その出現回数+1回だけデータ転記する

2018-08-07 00:11:59 morimotoさんからの投稿です。

instrで「、」の位置を見つけ次のstart値を変えていく、、、という苦戦したやり方でしました。。。がmidでストレートに文字を探せばシンプルに解決できるのですね。勉強になりました。問題3で「、」の位置を直接求めずいっきにする方法はびっくりしました!。問題2のコードを加工してるだけですね。使う道具はシンプル、あとは
ほんと応用するだけですね。

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

[10292]保険料額表から標準報酬額ごとの保険料負担額を算出する

2018-07-28 01:10:37 morimotoさんからの投稿です。

以上~未満なので
If hidari <= Range(“e” & gyo2).Value And Range(“e” & gyo2).Value < migi と挟みつけましたが、よくみればmigiの値で大小さえわかればよかったことに気付きませんでした。っとなんといってもここはexit forとfor next のなかにfor nextを使うのがkeyと思いました。
実務でかならず出そうなところですよね。

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

[10277]住所情報を都道府県から市区町村レベルで細かく分割する

2018-07-23 13:14:31 morimotoさんからの投稿です。

途中何回やってもエラーデバックで返ってきました。ほんと悩みに悩み見ましたらどこか1行で毎度おなじみ
range(“b” & gyo),,,をrange(“b” : gyo),,,と書いてました。エラー解消にならないときケアレスミスがないかみないといけないことが、バカばかしですが気を付ける点だとわかりました。当たり前ですが見過ごしやすいです。

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

[10276]住所情報を都道府県から市区町村レベルで細かく分割する

2018-07-23 13:10:42 morimotoさんからの投稿です。

動画解説を基に自分の今ある知識で再度トライしまして
納得いく形ができました。やれやれです。が解説の方でsikugun = Mid(moto, todofuken + 1)があり、そうですよね都道府県部分を省いてから市区町等考えれば非常にシンプルでわかりやすいですよね。B列だけで処理しようとしててしんどくなりました。わずか1行のコードですが勉強になりました。

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

[10272]住所情報を都道府県から市区町村レベルで細かく分割する

2018-07-19 02:22:06 morimotoさんからの投稿です。

確かに日本の住所にはきれいに行政区がわかれていないものがありますよね。たとえば四日市市や町田市、、、受講生からご質問があったとのことですが、すっごい着眼されているなと思います。ここでのセミナーの知識は住所を触る場面で絶対活用できそうです。カレーのよき材料になりそうです。

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

[10271]住所情報を都道府県から市区町村レベルで細かく分割する

2018-07-19 02:18:09 morimotoさんからの投稿です。

非常に難しかったです。4日考えましたができませんでした(練習と経験不足)。解説例を熟読した後、作りたての自分のコード(まずいカレー)が補正できるか(多少マシなカレーになるか)悩みに悩み再度試してみます。ヒントがあった住所の後半で分けていくというのがすっごい参考になりました。

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

[10237]セル内の文字列から区切り文字を見つけ、その区切り文字の間にある文字列を切り出す

2018-07-09 10:33:26 ゲストさんからの投稿です。

ワークのご指導をありがとうございます。基礎編からやり直してみます。
ExcelVBAスタンダードまで取得しているのに、実際はまったく理解できていなかったようです・・・かなりやり直さ無くてはいけない部分が多く、正直自分に理解できるのかとても不安ですが、引き続きやってみます。ありがとうございました。

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

[10229]セル内の文字列から区切り文字を見つけ、その区切り文字の間にある文字列を切り出す

2018-07-08 08:53:25 ゲストさんからの投稿です。

> ためしに「mae=ato」を削除してマクロを実行してみましたが、問題無く動きました。

小川先生、ご返答ありがとうございました。勘違いしていたことはわかりました。失礼しました。どうにも 「〇〇=△△」というのが、なかなか腑に落ちないところがあります。数学も苦手なのは「代入する」という考えがなかなか自分的にしっくりこないせいだと気づきました。ただ、これは練習不足なのだと思います。引き続きワークを続けてみます。

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

[10221]セル内の文字列から区切り文字を見つけ、その区切り文字の間にある文字列を切り出す

2018-07-06 11:27:14 ゲストさんからの投稿です。

こんにちは。「【動画4】セル内の文字列から区切り文字を見つけ、その区切り文字の間にある文字列を切り出す」において不明点があります。

mae=ato

この部分の意味がよくわかりません。
その直後に「ato=n」と定義するのに、なぜ先に「mae=ato」を入れなくてはいけないのでしょうか・・・

ためしに「mae=ato」を削除してマクロを実行してみましたが、問題無く動きました。
お手数ですが、教えてくださると助かります。よろしくお願いいたします。

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

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

2018-06-29 16:09:13 わかやまさんからの投稿です。

小川様

いつもありがとうございます。
特に深く考えたわけではなかったのですが、以下のマクロができました。

Sub kotae1()

Columns(“A:F”).Select
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add Key:=Range(“E2:E231”) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add Key:=Range(“B2:B231”) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(“Sheet1”).Sort
.SetRange Range(“A1:F231”)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
‘ここから自装したマクロ
Dim moto
Dim saki
Dim syoukei
saki = 3
For moto = 2 To 231
syoukei = syoukei + Workbooks(“コピーpivot_type1.xlsm”).Worksheets(“Sheet1”).Range(“F” & moto).Value
If Workbooks(“コピーpivot_type1.xlsm”).Worksheets(“Sheet1”).Range(“B” & moto).Value <> Workbooks(“コピーpivot_type1.xlsm”).Worksheets(“Sheet1”).Range(“B” & moto + 1).Value Then
Workbooks(“コピーpivot_type1.xlsm”).Worksheets(“Sheet1”).Range(“H” & saki).Value = Workbooks(“コピーpivot_type1.xlsm”).Worksheets(“Sheet1”).Range(“E” & moto).Value
Workbooks(“コピーpivot_type1.xlsm”).Worksheets(“Sheet1”).Range(“I” & saki).Value = Workbooks(“コピーpivot_type1.xlsm”).Worksheets(“Sheet1”).Range(“B” & moto).Value
Workbooks(“コピーpivot_type1.xlsm”).Worksheets(“Sheet1”).Range(“J” & saki).Value = syoukei
saki = saki + 1
syoukei = 0
End If
Next

ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(“Sheet1”).Sort.SortFields.Add Key:=Range(“A2:A231”) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(“Sheet1”).Sort
.SetRange Range(“A1:F231”)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With



End Sub

はじめとおわりの操作がないので、すごくシンプルだと思います。
これでもよいでしょうか?

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

[10111]ファイル配布→配布先でのデータ記入→記入済データを手元資料に統合

2018-06-12 22:57:44 マメコトさんからの投稿です。

F5を押して一気にマクロを実行し、指定したフォルダに指定したデータ処理が完了しているファイルがa~iまで出来ていた時は感動しました。
こびとちゃんは優秀ですねw
模範解答と違ったところは、保存するフォルダの直前までを変数basyoに格納しておいて、保存場所の連結を簡明にしたところと、歳入と歳出をforループで回したところです。歳入の方が歳出よりも行数が多いので、歳出ループは無駄削除を10回ほど繰り返しますけど、まいっかと思いまして。
ところで、Selection.Delete Shift:=xlUpは書かなくても処理してくれますが、やはり書いた方が良いのでしょうか。

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

[10069]セル内の文字列から区切り文字を見つけ、その区切り文字の間にある文字列を反映しつつデータ転記する

2018-06-04 09:45:33 マメコトさんからの投稿です。

『最初に見つけた「、」をatoに入れる(∵仮想のmaeが0だから)。』という発想は独力では思いつきませんでした。
動画を見て処理のロジックが理解できた後、一気に処理できるマクロを先生のように書けるのが楽しくて、3回も(最初から)書いて実行してみるを繰り返しましたw
しかもこのような処理って、実務で結構ニーズのあることだと思います。
サラサラとマクロを書いて、同僚から賞賛の目で見られている自分の姿を妄想したりしています。
楽しいなぁ~

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

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

2018-05-24 06:08:09 わかやまさんからの投稿です。

小川様

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

[ 続きを読む ]  返信件数: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件  [ 動画を見る] 

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

[9835]データ記入用ファイルを配布する-その1

2018-04-24 08:26:47 ひろしさんからの投稿です。

問題解決のために、様々なアドバイスをありがとうございました。
色々と試した結果、事象が発生しなくなりました。

実は以前から、Excel上に印鑑を押すフリーソフト(Excel電子印鑑)を、アドインインストールして使用していましたが、そのソフトをアンインストールしたら再現しなくなりました。
なぜ、あの箇所でエラーが発生したかは解りませんが…

これで、スッキリした気持ちで次のステップに進めます。
本当にありがとうございました。
考えられることは、全てやってみる事ですね…

今回の事象は、今後勉強を進めていく上でも役に立ったと思います。
また、つまずいたら質問させて頂きますネ!

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


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

 

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

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

トップへ