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

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

123>

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

[9046]1枚のシート内で12ヶ月を横に並べたカレンダーを作成する

2017-10-12 09:29:50 浦山大さんからの投稿です。

おはようございます。
コードの添削、ありがとうございました!
曖昧な部分がクリアになりました。
こういう微妙な部分は、勉強会等に参加させて頂いて、
「いつもひっかかるんですけどどういうことですか?」
「…そんなことか!」
って一つ一つ潰していけると更に伸びそうだなって感じました。
11月or12月に参加したいと考えています。
それまでに発展編1については一通りこなしておきたいと思います!

Option Explicit

Sub Yokonarabe()

Worksheets("Sheet1").UsedRange.Interior.ColorIndex = xlNone '[*1]
Worksheets("Sheet1").UsedRange.ClearContents                '[*2]    '↓一枚のシートでの話なので、これ不要では?

'ワークシート変数 1枚のシートでも、宣言して明示したほうがいいのかな?ってあいまいでした。
'インデント不正部分は、変数の値を設定する際、
'毎回「1インデント前」にずらしていました(手前側のほうがええのかな?とかそんないい加減なレベルでした)。
'ハナコのステップで作業してたら間違わないような気がします…。

Dim daHiduke As Date
Dim cMigi As Long
Dim loTitle As Long
Dim loYoko As Long
    daHiduke = #1/1/2015#
    cMigi = 2
    loTitle = -6
    loYoko = -4
    Do While Year(daHiduke) = 2015
        If Day(daHiduke) = 1 Then '↓インデント不正→一つ奥にずらしました
            loTitle = loTitle + 5
            loYoko = loYoko + 5
            cMigi = 2
            With Range("A1")
                .Offset(, loTitle + 1).Value = "Date"
                .Offset(, loTitle + 2).Value = "weekday"
                .Offset(, loTitle + 3).Value = "memo"
                .Offset(, loTitle + 4).Value = "comment"
                .Offset(, loTitle + 2).ColumnWidth = 10.89
                .Offset(, loTitle + 3).ColumnWidth = 30
                .Offset(, loTitle + 4).ColumnWidth = 20
            End With
        End If
        Range("A" & cMigi).Offset(, loYoko - 1).Value = daHiduke
        Range("B" & cMigi).Offset(, loYoko - 1).Value = WeekdayName(Weekday(daHiduke), True)
        Select Case Range("B" & cMigi).Offset(, loYoko - 1).Value
            Case Is = "土"
                Range("A" & cMigi & ":D" & cMigi).Offset(, loYoko - 1).Interior.Color = vbBlue
            Case Is = "日"
                Range("A" & cMigi & ":D" & cMigi).Offset(, loYoko - 1).Interior.Color = vbRed
        End Select '↓インデント不正→一つ奥にずらしました
        daHiduke = DateAdd("d", 1, daHiduke)
        cMigi = cMigi + 1
    Loop
End Sub

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

[9033]1枚のシート内で12ヶ月を横に並べたカレンダーを作成する

2017-10-11 16:38:06 浦山大さんからの投稿です。

小川先生

お世話になります。
自分で作成してみました。
なんとか、形に出来ました。
しかし、先生のコードと比べると、
・私のは行列指定の変数が3つある→2つに出来る
・もっとすっきりさせられる(offsetの使い方、With文の使い方)
はまだまだだなあ、と感じました。
2週間前は手も足も出なかったので、
やりきれたことは喜ばしかったです。
引き続き、よろしくお願いします!

Sub Yokonarabe()

    ActiveSheet.UsedRange.Interior.ColorIndex = xlNone
    ActiveSheet.UsedRange.ClearContents

    Dim ws As Worksheet
    Dim daHiduke As Date
    Dim cMigi As Long
    Dim loTitle As Long
    Dim loYoko As Long
    Set ws = Worksheets("Sheet1")
    daHiduke = #1/1/2015#
    cMigi = 2
    loTitle = -6
    loYoko = -4
    Do While Year(daHiduke) = 2015
        If Day(daHiduke) = 1 Then
        loTitle = loTitle + 5
        loYoko = loYoko + 5
        cMigi = 2
            With ws.Range("A1")
                .Offset(, loTitle + 1).Value = "Date"
                .Offset(, loTitle + 2).Value = "weekday"
                .Offset(, loTitle + 3).Value = "memo"
                .Offset(, loTitle + 4).Value = "comment"
                .Offset(, loTitle + 2).ColumnWidth = 10.89
                .Offset(, loTitle + 3).ColumnWidth = 30
                .Offset(, loTitle + 4).ColumnWidth = 20
            End With
        End If
        ws.Range("A" & cMigi).Offset(, loYoko - 1).Value = daHiduke
        ws.Range("B" & cMigi).Offset(, loYoko - 1).Value = WeekdayName(Weekday(daHiduke), True)
        Select Case ws.Range("B" & cMigi).Offset(, loYoko - 1).Value
            Case Is = "土"
                ws.Range("A" & cMigi & ":D" & cMigi).Offset(, loYoko - 1).Interior.Color = vbBlue
            Case Is = "日"
                ws.Range("A" & cMigi & ":D" & cMigi).Offset(, loYoko - 1).Interior.Color = vbRed
        End Select
    daHiduke = DateAdd("d", 1, daHiduke)
    cMigi = cMigi + 1
    Loop
End Sub

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

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

2017-09-23 18:23:48 浦山大さんからの投稿です。

小川先生
添削頂きましてありがとうございます。
自分の書いたコードと小川先生のコードを見比べてみました。

>'↓丁寧にやるなら、以下のとおり、range("xx") の手前に wFm. をつけま
>す。でないと、アクティブシートが wFm でないときに誤動作する可能性
>が高いです。
> ' (「並べ替え対象は wFm で、諸条件の設定はアクティブシート」とな>ってしまうため)
> ' シートが1枚しかないか、このマクロ実行時には絶対に
>worksheets("main") がアクティブになっているという保証があれば
>話は別ですが。

見直してみたら、Rangeの前にwFmが抜けていますね。

> ' あるいは、この並べ替えが実行されるより前に、 wFm を明示的にアク>ティブにしておくこと。

添削頂いたコードに記載があったように、
最初の段階でニックネームを付けて、誤動作を防ぐように致します。

①明示的に宣言できる部分は宣言
②並べ替えが実行される前に、wFmを明示的にアクティブにしておく。
練習する度に頂いたコードを見ながら、
添削頂いた点が体得できているか確認します。

添削してもらうととってもよくわかります。
ありがとうございます!

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

[8917]1枚のシート内で12ヶ月を横に並べたカレンダーを作成する

2017-09-23 18:09:10 浦山大さんからの投稿です。

ここまでは動画見ながらですがやりきりました。
そして、カレンダーは一人でやりきるにはまだ自分のレベルが追いついていないなと感じました。

動画や、発展編で新しく教わった知識を繰り返した上で、
実力をつけてから再度チャレンジしたいと思います。
このあたりまでサラサラ書けてくると応用範囲がまた一気に広がりそうですね(*^^*)

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

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

2017-09-18 16:10:42 浦山大さんからの投稿です。

1~10までの動画を拝見させて頂いて、自分で作ってみました。

※記法、インデント等問題ないでしょうか?
※並べ替えが大変(ごちゃごちゃ)でした。
→過去の皆さんのコメント等参考にさせて頂いて自分なりに編集してみました。
■動作は確認しました、意図通りに動いています。
■別解の様に変数namaeを使用するのにもチャレンジしてみます。

基礎編で実施していることについてはサラサラ書けています。不思議です…。

また、今までブレークポイントをあまり使ってこなかったんですが、使い方が今回の練習で体得できました。途中途中でしっかり検証、実験しながらでないと訳がわからなくなってしまいますね。Debug.Printも入れながら作業するようにしています。

Sub renshu()
    Dim wFm As Worksheet
    Dim cMx As Long
    Dim cGyo As Long
    Dim cMigi As Long
        cMx = Range("B" & ActiveSheet.Rows.Count).End(xlUp).Row
        cMigi = 2
    
    For cGyo = 2 To cMx
        Range("A" & cGyo).Value = cGyo - 1
    Next
    
    Set wFm = ActiveWorkbook.Worksheets("main") 'ブレークポイント①↑通し番号を振る
    
    With wFm.Sort
            .SortFields.Clear
            .SortFields.Add Key:=Range("B1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Range("A1:B" & cMx)
            .Header = xlYes
            .Orientation = xlTopToBottom
            .Apply
    End With
    
    For cGyo = 2 To cMx 'ブレークポイント②↑B列で並べ替え
        If Range("B" & cGyo).Value <> Range("B" & cGyo - 1).Value Then
            Range("D" & cMigi).Value = cMigi - 1
            Range("E" & cMigi).Value = Range("B" & cGyo).Value
            cMigi = cMigi + 1
        End If
    Next
    
    With wFm.Sort   'ブレークポイント③↑リスト書き出しまで
            .SortFields.Clear
            .SortFields.Add Key:=Range("A1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
            .SetRange Range("A1:B" & cMx)
            .Header = xlYes
            .Orientation = xlTopToBottom
            .Apply
    End With
    
    Range("A2:A" & cMx).ClearContents   'ブレークポイント④↑A列で並べ替え
End Sub     '⑤番号を消す-A列を削除

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

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

2017-04-21 11:14:39 松隈 利幸さんからの投稿です。

小川 様

お世話になります。
何度も復習しながら覚えていっています。
伝票マクロを何とか会社用に代えてみたのですが、
一部でどうしても引っかかるところがあります。
Private Sub ExeCreateDenpyo()
DeleteSheets
Dim lnFm As Long
Dim lnFmMx As Long
Dim st As String
Dim shFm As Worksheet
Dim shTo As Worksheet
Dim dt As Date
Set shFm = Worksheets("main")
lnFmMx = shFm.Range("E1048576").End(xlUp).Row
Dim lnTo As Long
For lnFm = 3 To lnFmMx
If st <> shFm.Range("E" & lnFm).Value Then
If lnFm > 3 Then
Keisen
End If
st = shFm.Range("E" & lnFm).Value
Sheets("main1").Copy After:=Sheets(2)
Set shTo = ActiveSheet
> shTo.Name = st
lnTo = 16
End If
shTo.Range("A" & lnTo).Value = shFm.Range("B" & lnFm).Value
shTo.Range("B" & lnTo).Value = shFm.Range("C" & lnFm).Value
shTo.Range("C" & lnTo).Value = shFm.Range("D" & lnFm).Value
shTo.Range("D" & lnTo).Value = shFm.Range("E" & lnFm).Value
shTo.Range("E" & lnTo).Value = shFm.Range("F" & lnFm).Value
shTo.Range("F" & lnTo).Value = shFm.Range("G" & lnFm).Value
shTo.Range("G" & lnTo).Value = shFm.Range("H" & lnFm).Value
lnTo = lnTo + 1
Next
goukei
Keisen
shFm.Activate
End Sub

> shTo.Name = st

のところでデバッグしてしまうのです。

この名前は既に使われています。別の名前を入力してください。
というメッセージがあります。
最初はうまくいっていたのですが、最近でるようになりました。
どこが悪いのでしょうか。
お教えください。
Excel2016を使用しています。

最後の動画配信後ずいぶん時間が経っている 松隈

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

[7754]すべてのシートを順に処理する

2017-02-27 17:35:51 受講生さんからの投稿です。

【ご質問】
カレンダーの動画は一通り見ましたが、こちらの小川先生のコードサンプルはどちらからダウンロードすればよろしいでしょうか?

教材ダウンロードをしても、伝票のものしかダウンロードできない状態です。
ご確認のほど何卒よろしくお願いいたします。

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

[7471]1枚のシート内で12ヶ月を横に並べたカレンダーを作成する

2017-01-04 07:23:26 平吹 敦史さんからの投稿です。

小川先生

お世話になっております。
素朴な疑問ですが、月ごとにsheet分けしたカレンダーを作成したのであれば、それをコピーして、
同一シート内に張り付けるマクロをつくれば、もっと簡単に横に並べるカレンダーが作れるのでは?

と、思ってつくりました。

その後、先生の解説動画を見たら、最初から、横に並べるカレンダーを作り始めたので、
どっちかを最初につくれば、どっちかはコピーでいけるのかな?とも思いました。
(どっちかとは、月別sheetが先か横並びが先かという意味です。)

ただ、DPRの考え方でいくと、Dはあくまで最初につくった縦に長い年間カレンダーであり、
月別のsheetにしたのは、Rなので、そこからRをつくるのは良くない、という考え方になる、
ということでいいのでしょうか?
                                        平吹敦史

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

[7470]1枚のシート内で12ヶ月を横に並べたカレンダーを作成する

2017-01-04 07:04:36 平吹 敦史さんからの投稿です。

お世話になっております。
動画の最後で、カレンダーマクロのfileをお渡しする、とあったのですが、そのfileはどこから、
入手すればいいのでしょうか?
発展編1の既入手済みのfileも調べましたが、それらしきfileはありませんでした。
すみませんが、教えていただければと思います。
                                        平吹 敦史

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

[7149]複数シートを作成し、取引先名リストにあるのと同じ名前を順に割り当てる

2016-10-01 07:40:23 田中 宏明さんからの投稿です。

この動画を見ての感想です。
初心者のころに自分が書いた「シート間でデータをコピーするマクロ」を見直してみると、当時、とにかく動けばいいやといった感じで後からのメンテナンスを気にせずマクロを書いていたことに気がつきますね。

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

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

2016-03-22 19:01:49 平澤 延弘さんからの投稿です。

小川先生
 こんにちは。
 初めてホームページで伝票作成マクロの動画を見た後、
長い間自分でこんなプログラムを作成してみたいと思ってきましたが、
四苦八苦しながらもなんとかここまで来ることができました。

 私は伝票作成業務そのものは担当しておりませんが、
このマクロを学ぶ過程で得たデータの転記やシート作成の知識は、
十分私の業務に活かせるものでした。
まだ仕事ではここまで生産性の高いマクロは作成できていませんが、
「3日分の仕事を3分で」というレベルまでは大分近づいてきたように思います。

 この後は他の講座を受講してさらに知識を深めたいと思いますので、
これからもよろしくお願いいたします。

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

[5905]1枚のシート内で12ヶ月を横に並べたカレンダーを作成する

2016-03-07 13:54:28 tomoki1105さんからの投稿です。

小川先生

いつもお世話になっております。

5:35でおっしゃっていた、Offsetの変数値設定の裏技ですが、もし良ければ教えて頂けますか??

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

[5804]所定の条件に一致しないシートすべてを削除する

2016-02-21 01:54:27 受講生さんからの投稿です。

今作成しているマクロがまさにこれ・・伝票ではないですが品名ごとにシート作成・集計・転記・削除の繰り返しを日々の仕事としてます。
シート作成・削除がこれでできました。ワクワクしてきました。今月完成できるかも・\^:^/・・(集計に悪戦苦闘ですが^:^;)

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

[4992]所定のシート以外すべてを削除する

2015-09-02 10:42:47 受講生さんからの投稿です。

小川先生
消すワークシートのオブジェクト変数のネーミング、こういった積み重ねですね。

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

[4369]取引先ごとに作成したシートにデータ転記を行う

2015-05-23 05:50:17 山田 将之さんからの投稿です。

シート間のやりとりでひっかかります。復習が必要のようです。

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

[4346]重複しないリストを作成する(並べ替えから行う)

2015-05-22 06:14:00 山田 将之さんからの投稿です。

並べ替えを自動記録した後、どれを残してどこを消すかがよくわかりません。

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

[4271]重複しないリストを作成する(並べ替えから行う)

2015-05-15 20:32:55 watanbe daichiさんからの投稿です。

ありがとうございます。
もう一度よく見て実施したところ、できました☆
Range("A1:B317").Sort Key1:=Range("B1"), Order1:=xlAscending, Header:=xlYes

Dim hida As Long
Dim migi As Long
migi = 2
For hida = 2 To 317
If Range("B" & hida).Value <> Range("B" & hida - 1).Value Then
Range("D" & migi).Value = migi - 1
Range("E" & migi).Value = Range("B" & hida).Value
migi = migi + 1
End If
Next
End Sub

コメント頂いた様に2003と同じことが入っていました。
ヘルプを参照しながらでしたが、headerの後ろでいくつかのパターンがあるのですね。

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

[4260]重複しないリストを作成する(並べ替えから行う)

2015-05-14 20:08:27 watanbe daichiさんからの投稿です。

いつもありがとうございます。
EXCEL2010以降のものなので、私も下記のコメントの様な状況になりました。
Range("B1").Select
ActiveWorkbook.Worksheets("main").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("main").Sort.SortFields.Add Key:=Range("B1:B317"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("main").Sort
.SetRange Range("A1:B317")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

回答でいただいている様にできるだけシンプルなコマンドにしたいと思いました。
コメントで記載されている内容を実行して考えてみようと思います。

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

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

2015-04-16 20:36:51 井上 聡さんからの投稿です。

罫線の範囲を設定する方法について
Dim InMx As Long
InMx = Range("B" & Rows.Count).End(xlUp).Row
Range("B16:K" & InMx + 1).Select
この場合は、変数の範囲が選択されました。
("K" & Rows.Count).End(xlUP)のつもりでしたが範囲が選択されません。
  Range("B16:K" & Rows.Count).End(xlUP).Select
一行で表すにはどうすればいいのでしょうか。

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

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

2014-11-30 20:20:40 受講生さんからの投稿です。

小川先生
伝票作成はメールセミナーを先に見ましたが、動画ではメールセミナーとは違うやり方も説明されていて、参考になる部分も多かったです。
「罫線を最終行より1行多く引かないとエラーとなる」とのことでしたが、当方の環境(Excel2010)では特にエラーは出ませんでした。
また、Withを使いこなせるようなるために、あえてオブジェクト型変数を使わずに作成してみました。

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

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

2014-10-13 11:01:36 受講生さんからの投稿です。

伝票作成マクロ、財務という仕事柄、大変参考になりました。
もう少し復習した後、発展編2に進んでいこうかと思います。

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

[2708]取引先ごとに作成したシートにデータ転記を行う2

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

伝票マクロ3部構成、パート2も理解できました。
続きのパート3も楽しみです。

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

[2705]取引先ごとに作成したシートにデータ転記を行う

2014-10-12 16:51:12 受講生さんからの投稿です。

3部構成の最初のパート、理解できました。
続きの2つが楽しみです。

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

[2676]取引記録に登場するすべての取引先名のシートを作成する(IDの割り振りも行う)

2014-10-09 06:35:27 受講生さんからの投稿です。

何度も取り組むと手が慣れてきて、本当に嬉しいです。
「特打」同様、手を動かしてもっともっと慣れていきたいと思っています。

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

[2641]取引記録に登場するすべての取引先名のシートを作成する

2014-10-05 09:14:46 受講生さんからの投稿です。

マクロの自動記録と組み合わせて、マクロを完成させていく過程が頭で描けるようになってきました。
いつも分かりやすい動画ありがとうございます。

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

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

2014-09-30 01:25:31 明石 照伸さんからの投稿です。

お世話になります。

元のリストに番号を振って、
最後に削除するのが、最初
意味がわからなかったのですが(^^;、

元のリストの並びを元の順に戻すために
行っていたのですね。

一時的に元データを整形・加工して
処理しやすくすることで、マクロ作成を
楽にしているのですね。
非常に勉強になりました。(^^

毎回ライブ感があって
とても頭と心に響く動画解説ですね。(^^

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

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

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

伝票マクロ、とても勉強になります。
ひとつひとつのスキルを大切にして頑張ります。

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

[2538]重複しないリストを作成し、新規シート作成時にリストからシート名を生成する

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

順調にここまで来ています。
先生に1点だけ質問なのですが、例えばメソッドが分からない時など、先生のレベルでも自動記録で確認することはあるのでしょうか?
それとも、.Copyや.Activate等、必要最小限のメソッドは覚えるべきでしょうか?

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

123>

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

 

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

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

トップへ