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

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

[9134]Worksheet_Changeイベントのサンプル その1

2017-11-21 21:15:22 浦山大さんからの投稿です。

定数を使ったことがなかったです(-_-;)
とっても見やすいですね!
どんどん使えそうな材料が頭の中に入ってくる感じが心地よいです。
ありがとうございます(^^)

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

[9133]Worksheet_Changeイベントの概要

2017-11-21 20:48:27 浦山大さんからの投稿です。

お世話様です。
ひっそりこちらにお邪魔しています。
新しいところに顔を出す度に衝撃を受けています…。

練習していて、ふと感じました。
「挿入した列が塗りつぶされてしまうけどなんでかな」
「文字列とか、明らかに数値じゃないものが入ったら、
別の色にできないかな」

こういう感じで仕分けてみたくて、
練習がてら作成してみました。

1.空白セルを挿入した場合は何もしない
2.数値で、100より大きい場合は黒
3.数値で、100より大きくない場合は黄緑
4.数値として評価できない値が入ったら赤

当初、Isnumeric関数を使って条件判断すればいいのかな?
と思って試してみました。
しかし、空白セルを貼り付けるor列を挿入すると(1.を狙って)、
何故か黄緑(3.)になってしまいました。

TypeName関数で空白セルを貼り付けた際のデータ型を調べてみたらEmpty値でした。
あれ、Empty値って数値じゃないからIsNumeric関数はFalseなんじゃないの?と思い、
ヘルプを調べてみたら、数値としては「0」を判定し(この場合はIsNumericで判断してるのでEmptyは「0)」、
文字列(String型で変数が宣言されており、Empty値が入る場合)
としては「""」を返すと記載がありました…。
IsEmpty関数を更に上側に差し込んで、漸く機能実現しました。

この時点で深く追求することではないと思うのですが、
ちょっとムキになってしまって、調べてみたら学びが得られました。
折角学んだことだったので書いてみようと思いました(^^)

※色の指定や変数名が適当です…(Boolean変数は、ほぼほぼ初めて使いました…)。
※この後で、もっといい方法があるのかもしれません。進めていきます。

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim r As Range
    Dim boo As Boolean
    
    For Each r In Target
    boo = IsEmpty(r.Value)  'Empty値かどうかを判断する
    Debug.Print TypeName(r.Value)
        If boo = False Then
            boo = IsNumeric(r.Value)
            'Empty値は変数が初期化されていないことを示す。
            'Empty値は数値としては0と評価され、
            '文字としては長さ0の文字列("")と評価される。
            If boo = True Then
                If r.Value > 100 Then
                    Target.Interior.ColorIndex = 1  '黒
                Else
                    Target.Interior.ColorIndex = 4  '黄緑
                End If
            Else
                Target.Interior.ColorIndex = 3  '赤
            End If
        End If
    Next
End Sub

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

[9131]エクセルマクロVBA「Web連携」Microsoft WinHTTP Services 5.1_POSTリクエスト

2017-11-18 11:06:01 田中 宏明さんからの投稿です。

POSTリクエストを別のWebサイトで試し、ようやく成功できました。気分がいいいです。

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

[9125]データベースとの接続と接続解除について

2017-11-15 15:04:57 田中 宏明さんからの投稿です。

小川先生
これからになりますが、SQLを使って、大量データを高速処理できるスキルを学習していきます。

> 追記ですが、複数表間でのマッチングは、AccessにデータをブチこんでSQLを発行するのが最強最速です。

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

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

2017-11-14 20:23:44 受講生さんからの投稿です。

現在Excelの講師をしておりますが、VBAの依頼も多く自己流でやっていては教えられないと思い受講しました。
この動画の内容はわかっていることでありながら、聞いていてワクワクするようなところが大変参考になりました。
どうぞよろしくお願いいたします。

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

[9121]データベースとの接続と接続解除について

2017-11-14 15:34:29 田中 宏明さんからの投稿です。

Access形式のデータベースからExcelシートにデータを取得できたことに感激しました。独学でこのレベルに到達することはできなかったと思います。

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

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

2017-11-10 00:08:55 受講生さんからの投稿です。

一通りフォローアップを学んでみたあと、また動画1の課題から解説を見ないで取り組んでいます。

今回は「担当区域」を先に考えてやりました。以前に動画を見たときに、確か、migi=2 とか使ってたな、と思って進めていくと、途中で、自分の書き方だとmigi=1でないとうまくいかないと思ったり、あとから「業者名」「フリガナ」を入れたので、『"e" & migi』には1を足さないとダメだな、など、動かしながらやってると、特に意図もなく、1を足してみたり引いてみたりして、結果的に答えにはたどりついています。

例えば、E~G列は、2行目から始まるので、migi=2とするのが通常かなと思います。しかし、意図せず1を足したり引いたりして結果に結び付けばよいのでしょうか?自分が書いたあと、もう一度動画を見ると、自分のはなんだか不格好だなと思います。

初心者のうちは、このような形でもよいのでしょうか?

Sub ren()
Dim hida
Dim tiku
Dim migi
migi = 1
For hida = 2 To 27

If Range("a" & hida).Value <> Range("a" & hida - 1).Value Then
    Range("e" & migi + 1) = Range("a" & hida).Value
    Range("f" & migi + 1) = Range("b" & hida).Value
     tiku = Range("c" & hida) & "地区"
     migi = migi + 1
Else
   tiku = tiku & "," & Range("c" & hida).Value & "地区"
End If
Range("g" & migi).Value = tiku

Next

End Sub

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

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

2017-11-07 22:36:31 ゲストさんからの投稿です。

初心者にとって、とてもわかり易い内容だった。イラストや表を用いるなど理解を助ける工夫がなされていてありがたい。

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

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

2017-11-05 00:36:03 受講生さんからの投稿です。

転職してマクロを勉強することになったのですが、どうやって勉強しようと思っていたところここにたどり着きました。
とても分かりやすくて助かりました。

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

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

2017-11-04 11:47:02 受講生さんからの投稿です。

その前の問題もそうですが、先生の動画を見る前に一度自分で書いてみると以下のようになってしまい、変数を効果的に使っていないことに気付きます。

書いたあとだと、Instr(range(~)など、同じようなものが出てくるし、変数を使った方がすっきりするな、と思うんですが、書いている途中だと変数の使い方がピンときませんでした。

慣れるしかないのかなと思いますが、最初のうちは、以下のように書いてしまってから、あとから、ここはこういう風に変数を使った方がいいな、とか考えていってもいいのでしょうか?よろしくお願いします。

「問題4」シート「Sheet2」で、C列にある住所の「区」または「市」までをF列に、それ以降をG列に書き込むマクロを作れ

Sub ren()

Dim gyo
For gyo = 2 To 11
If InStr(Range("c" & gyo).Value, "区") = 0 Then
    Range("f" & gyo).Value = Left(Range("c" & gyo).Value, InStr(Range("c" & gyo).Value, "市"))
Else
    Range("f" & gyo).Value = Left(Range("c" & gyo).Value, InStr(Range("c" & gyo).Value, "区"))
End If

Next

End Sub

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

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

2017-11-04 09:32:08 横山 知明さんからの投稿です。

すばらしいです。
請求書を発行するときなど、実践で使えそうです。
やっと、ここまでたどり着きました。

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

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

2017-10-31 21:23:36 受講生さんからの投稿です。

・select はクール!
・シートごとに分類するマクロを作る時は”リスト”などの下準備をしておくといい

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

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

2017-10-30 21:51:13 受講生さんからの投稿です。

・削除系のマクロを作る時は、後ろから削除する。
・数式 n(終わりの数になるための数)-gyo で後ろから実行する
・step -1 で指定した範囲の後ろから実行する

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

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

[9091]ワーク「advanced」のやりかた

2017-10-29 00:06:24 受講生さんからの投稿です。

複数ウインドウズ画面の切り替えが出来ました。
一つはエクセルの画面から、もう一つはエクスプローラーの画面から呼び出してみたら出来ました。

[1] 複数ウィンドウを起動する
[2] [Alt]を押しっぱなしにする
[3] [Alt]を押しっぱなしの状態を維持したまま、[Tab]を連続して複数回押す
あと、[wn] + [tab] では操作できますか?

上記についても問題なく出来ました。ありがとうございました。

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

[9086]ワーク「advanced」のやりかた

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

イヤでもWindows操作
動画19workのadvancedですが、エクセルファイルを同時に開くことが出来ません。スタートメニューから開こうとするとダイアログボックスが開いているため、この操作を実行できないとエラーメッセージが出てきます。どのようにして操作すれば2つのエクセル画面を開くことが出来るのでしょうか?
また、片方のエクセル画面からもう片方の画面にカーソルを移動させるのは例えばtabキーで移動出来るのでしょうか?
宜しくお願いします。

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

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

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

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

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

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

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

nagasa = Len(moji)

For n = 1 To nagasa
If Mid(moji, n, 1) = "、" Then
kazu = kazu + 1

がポイント!
 for の新しい使い方を学んだ!

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

[9075]基礎講座第2章5 - 文字列の結合

2017-10-18 21:43:55 Atakaさんからの投稿です。

小川先生
お返事ありがとうございました。
実践あるのみですねやってみます(>_<)
         

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

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

2017-10-18 00:35:52 受講生さんからの投稿です。

解説の前半で、goukei=0 ・・・ goukei=goukei+1 とありますが、前半だけの話で完結した場合、最初の「goukei=0」は必要でしょうか?
たとえば、goukei=0 を書かなくても、goukei=0+1 ということになり、結果的には同じことにはなると思いますが。

後半では、goukeiを0にしておかないと一旦クリアにならないので必要だというのは分かりました。

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

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

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

2017-10-17 22:42:19 浦山大さんからの投稿です。

とりあえずどんどん進めています。
今回のお話はとっても参考になりました。
私はもう、口をぽかんと開けて「え…」という状態で10秒位思考停止してました。

改行するマクロは、そのまま実務に使えそうです。
報告書の一部で、ピボットテーブルから持ってきたアンケートのコメントを表にする作業があります。凄い時間かかっていました…。

・個人用マクロブックに少しずつネタを増やしていく
・最適化の視点を持って仕事のファイルを見る

を気にしながら作業していきたいと思います。

7つの習慣みたいですね。
「私は5時間で木を切れと言われたら最初の1時間は斧を研ぐ」
のような文言が第7の習慣にあったような気がします(ちょっと記憶が曖昧です)。

↑使う道具(武器?)を最適な状態にして、
必要な力を軽減させ、全体にかかる時間も減少させるような考え方と認識しました(人間と捉えると運動や精神の修養等で全体のパフォーマンスを上げることと共通のような)。

やっぱり奥が深いですね!
最適化という言葉について、意識させられた1日でした。

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

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

2017-10-16 19:40:02 ゲストさんからの投稿です。

マクロでどんな事が出来るのかのイメージも付いていないのに、なんとなく仕事に役立ちそうという理由で、教室に通おうとしていました。
先にこちらの講座を見つけて良かったです。
私の仕事にどのように活かせるか、考えながら学ぼうと思います。

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

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

2017-10-15 16:18:36 受講生さんからの投稿です。

初めて 先にイメージしたことが解説通りになった。
新しいポイントは Exit for
条件を満たした時に For next構文を終了する。

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

[9062]Visual Basic Editorの基本用語と使い方 - プロパティウィンドウ

2017-10-15 12:32:35 受講生さんからの投稿です。

鼻の穴の数というところで笑ってしまいましたが、
とても分かりやすかったです。

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

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

2017-10-15 12:26:57 受講生さんからの投稿です。

業務でマクロの効率性を認識してはいたが、こうやってチャート化されて説明を受けるとなんとしてでも取得しなきゃと思う。勉強頑張ります。

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

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

2017-10-15 11:03:03 浦山大さんからの投稿です。

おはようございます。
ずっと溜まり続けているこのフォローアップ。
今日から取り掛かり始めます!

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

[9052]データ転記先のシートすべてに対し、罫線を引く等の後処理をする

2017-10-13 16:43:27 浦山大さんからの投稿です。

問題文だけ参照にし、
ノーヒントで罫線を引く部分まで作りました(通し番号が振られていない前提で作成)。
きちんと動きました…(大丈夫でしょうか?)。
一度、紙で印刷してみたら、A4用紙3枚分位になりました。

勉強を始めて2か月程でこんなに書けるようになるなんて思っていませんでした。感謝しています。
引き続き、よろしくお願いします(そろそろ、フォローメールセミナー30題にも取り掛かっていきたいと思っています)。

Option Explicit

Dim wFm, wTo, wS, wA As Worksheet
Dim cMx, cCo, cTo As Long
Dim daHiduke As Date
Dim strNamae As String

Sub Zentai()
    Set wFm = Worksheets("main")
    Set wTo = Worksheets("main1")
    cMx = wFm.Range("B" & wFm.Rows.Count).End(xlUp).Row
    cCo = 2
        Delete_Sheet
        Tooshi_bangou
    cCo = 2
        NarabekaeB
    cTo = 16
        Sheet_Create_Kakikomi
    cCo = 2
    strNamae = ""
        NarabekaeA
        Sakujo_Tooshibangou
End Sub

Sub Delete_Sheet()
       For Each wS In Worksheets
       Application.DisplayAlerts = False
           If wS.Name <> "main1" And wS.Name <> "main" Then
                wS.Delete
           End If
       Next
       Application.DisplayAlerts = True
End Sub

Sub Tooshi_bangou()
    For cCo = 2 To cMx
        wFm.Range("A" & cCo).Value = cCo - 1
    Next
End Sub

Sub NarabekaeB()
    With wFm
        wFm.Sort.SortFields.Clear
        wFm.Sort.SortFields.Add Key:=Range("B1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A1:G" & cMx)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
End Sub

Sub Sheet_Create_Kakikomi()
    For cCo = 2 To cMx
        If wFm.Range("B" & cCo).Value <> strNamae Then
            If strNamae <> "" Then
                wA.Range("H2").Value = wA.Range("K" & cTo - 1).Value
                Keisen
            End If
            cTo = 16
            strNamae = wFm.Range("B" & cCo).Value
            wTo.Copy after:=wFm
            Set wA = ActiveSheet
            wA.Name = strNamae
            wA.Range("J12").Value = strNamae
        End If
        With wA.Range("B" & cTo)
            .Offset().Value = Year(wFm.Range("C" & cCo).Value)       'wA B
            .Offset(, 1).Value = Month(wFm.Range("C" & cCo).Value)       'wA C
            .Offset(, 2).Value = Day(wFm.Range("C" & cCo).Value)         'wA D
            .Offset(, 3).Value = wFm.Range("D" & cCo).Value                  'wA E
            .Offset(, 4).Value = wFm.Range("E" & cCo).Value                  'wA F
            .Offset(, 6).Value = wFm.Range("F" & cCo).Value                  'wA G
            Select Case wFm.Range("G" & cCo).Value                                                     'H
                Case Is > 0
                    .Offset(, 7).Value = wFm.Range("G" & cCo).Value              'wA I
                Case Is < 0
                    .Offset(, 8).Value = wFm.Range("G" & cCo).Value              'wA J
            End Select
            If cTo = 16 Then
                .Offset(, 9).Value = .Offset(, 7).Value + .Offset(, 8).Value       'wA K= wA I+ wA J
            Else
                .Offset(, 9).Value = wA.Range("K" & cTo - 1).Value + .Offset(, 7).Value + .Offset(, 8).Value      'wA K=wA Kの一個上+wA I+ wA J
            End If
        End With
        cTo = cTo + 1
    Next
    wA.Range("H2").Value = wA.Range("K" & cTo - 1).Value
    Keisen
End Sub

Sub NarabekaeA()
    With wFm
        wFm.Sort.SortFields.Clear
        wFm.Sort.SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A1:G" & cMx)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
End Sub

Sub Sakujo_Tooshibangou()
    wFm.Range("A2:A" & cMx).ClearContents
End Sub

Sub Keisen()
    With wA.Range("B16:K" & cTo)
        .Borders(xlDiagonalDown).LineStyle = xlNone
        .Borders(xlDiagonalUp).LineStyle = xlNone
        With .Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With .Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With .Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With .Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlThin
        End With
        With .Borders(xlInsideVertical)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlHairline
        End With
        With .Borders(xlInsideHorizontal)
            .LineStyle = xlContinuous
            .ColorIndex = 0
            .TintAndShade = 0
            .Weight = xlHairline
        End With
    End With
End Sub

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

[9050]重複しないリストを作成する(並べ替えを行い、最後に元に戻す)

2017-10-13 10:04:46 浦山大さんからの投稿です。

Zentaiというプロシージャに処理をまとめました。
確認の意味で一度見て頂けると嬉しいです。
部分部分は問題ないと思います(ちゃんと動きました)。

・インデントの位置は大丈夫でしょうか?
・一つひとつ細切れにしてチェックしながら取り組めました。
 →いつも先生の仰っているパーツごとに細かく…の意味がとてもよ  くわかりました。実務でも使えそうです。
・早速、実務で作成した長いマクロも整理していきたいと思います。

Option Explicit

Dim ws As Worksheet
Dim cCo, cMx, cMigi As Long 'よくコメントで纏めてあるのを見かけるのでやってみました、問題なく動く
Dim namae As String     '別解、理解できました、使えてます。

Sub Zentai()
    Set ws = Worksheets("main")     '見本と"main"2枚なので明示
    cMx = Range("B" & ws.Rows.Count).End(xlUp).Row
    cCo = 2
    cMigi = 2
        Tooshibanngou   '通番を振る
    cCo = 2     'プロシージャ内で設定し直す方がスマートなんですか?
        Narabekae_B     'B列で並べ替える
        Create_List         'リストを作成する
    cCo = 2     'プロシージャ内で設定し直す方がスマートなんですか?
        Narabekae_A     'A列で並べ替える(並び順を元に戻す)
        Sakujo_Tooshibangou '通番を削除する、これで元通り
End Sub

Sub Tooshibanngou()
    For cCo = 2 To cMx
        ws.Range("A" & cCo).Value = cCo - 1
    Next
End Sub

Sub Narabekae_B()
    With ws
    .Sort.SortFields.Clear
    .Sort.SortFields.Add _
        Key:=Range("B1"), _
        SortOn:=xlSortOnValues, _
        Order:=xlAscending, _
        DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A1:B" & cMx)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
End Sub

Sub Create_List()
    For cCo = 2 To cMx
        If ws.Range("B" & cCo) <> namae Then
            namae = ws.Range("B" & cCo).Value
            ws.Range("D" & cMigi).Value = cMigi - 1
            ws.Range("E" & cMigi).Value = namae
            cMigi = cMigi + 1
        End If
    Next
End Sub

Sub Narabekae_A()
    With ws
    .Sort.SortFields.Clear
    .Sort.SortFields.Add _
        Key:=Range("A1"), _
        SortOn:=xlSortOnValues, _
        Order:=xlAscending, _
        DataOption:=xlSortNormal
        With .Sort
            .SetRange Range("A1:B" & cMx)
            .Header = xlYes
            .MatchCase = False
            .Orientation = xlTopToBottom
            .SortMethod = xlPinYin
            .Apply
        End With
    End With
End Sub

Sub Sakujo_Tooshibangou()
    ws.Range("A2:A" & cMx).ClearContents
End Sub

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

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

2017-10-12 22:44:12 受講生さんからの投稿です。

お世話になっております。
[8959]で説明されているDo Loopで上から処理をするとなると、こんな感じになるのでしょうか。違和感があるため、動画のとおりに素直に下からFor Nextで処理したいです。

Sub Sample()
    Dim i As Long, j As Long, wsName As String
    With Sheets("リスト")
        For i = 4 To 7
            Sheets("本番").Copy After:=Sheets(Sheets.Count)
            wsName = .Cells(i, 4)
            ActiveSheet.Name = wsName
            j = 4
            Do While Cells(j, 2).Value <> ""
                If .Cells(i, 3).Value <> Cells(j, 4).Value Then
                    Range(Cells(j, 2), Cells(j, 5)).Delete Shift:=xlUp
                    j = j - 1
                End If
                j = j + 1
            Loop
        Next i
    End With
End Sub

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

[9047]既存レコード内容の削除とデータリンクファイルによる接続について

2017-10-12 09:46:56 受講生さんからの投稿です。

◎「.udl をメモ帳で開いて Data Source= ... 以降の部分を実際に adosample.mdb がある場所に書き換えてもつながらない」ということですね。
→【回答】ご教示いただいた通り、書き換えてみたところ、動作しました。ありがとうございます。.udlソースを直接修正すれば、動作することを確認しました。

◎db参照先は、現在どのような方法で指定していて、変更はどのような手順で行っていますでしょうか。
→【回答】実は、これからやってみようという段階です。udlソースの内容を使えば、出来る事が分かったため、本件解決です。
Excel経由で、Accessを複数人で共有するのは、あまり良くないでしょうか?

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


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

 

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

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

トップへ