パソコン仕事5倍塾
35,000人を指導した東大卒・元日本IBM社内講師が直伝
MENU
受講生さんの投稿
(投稿ID: 3850) 添付ファイルのダウンロード権限がありません
小川慶一さんのコメント
(コメントID: 5375)
Option Explicit '↓インデント不要です ogawa ' モジュールレベル変数は、複数のプロシージャ間で情報を共有するため使うものです。 ' そうでないならば、可読性、メンテナンス性のために、個々のプロシージャ内で都度変数を宣言すべきです。 Dim DSheet As Worksheet Dim FSheet As Worksheet Dim mxGyo As Long Sub control_all() ' A_retu_number '---mainのA列に№付け ' sort_torihikisaki '---取引先名称で並べ替え ' denpyo_sakusei '---シート作成とデータ貼り付け ' sort_number '---№で並べ替え '可読性を考慮すると、以下のようにコメントをそろえて書くのもありです。 ogawa 'あと、 --- とか … という記号は不要では?とも。 A_retu_number 'mainのA列に№付け sort_torihikisaki '取引先名称で並べ替え denpyo_sakusei 'シート作成とデータ貼り付け sort_number '№で並べ替え End Sub Sub delete_sheets() '---伝票フォーマットを全て削除 '以下の2行不要ですね。 ogawa Set DSheet = Worksheets("main") Set FSheet = Worksheets("main1") Application.DisplayAlerts = False '…警告解除 Dim Ws As Worksheet For Each Ws In Worksheets If Left(Ws.Name, 4) <> "main" Then Ws.Delete End If Next Application.DisplayAlerts = True '…警告設定 End Sub Sub denpyo_sakusei() '---シート作成とデータ貼り付け delete_sheets '---伝票フォーマットを全て削除 Set DSheet = Worksheets("main") Set FSheet = Worksheets("main1") Dim Gyo As Long Dim sGyo As Long Dim Masyo As String Dim PSheet As Worksheet mxGyo = DSheet.Range("B" & Rows.Count).End(xlUp).Row Application.ScreenUpdating = False '…画面更新停止 For Gyo = 2 To mxGyo If Masyo <> DSheet.Range("B" & Gyo).Value Then Masyo = DSheet.Range("B" & Gyo).Value FSheet.Copy After:=DSheet Worksheets("main1 (2)").Name = Masyo Set PSheet = ActiveSheet PSheet.Name = Masyo sGyo = 16 End If '↓以下、インデントがひとつ余計です。 ogawa PSheet.Range("B" & sGyo).Value = Right(Year(DSheet.Range("C" & Gyo).Value), 2) '---年 PSheet.Range("C" & sGyo).Value = Month(DSheet.Range("C" & Gyo).Value) '---月 PSheet.Range("D" & sGyo).Value = Day(DSheet.Range("C" & Gyo).Value) '---日 PSheet.Range("E" & sGyo).Value = DSheet.Range("D" & Gyo).Value '---会計番号 PSheet.Range("F" & sGyo).Value = DSheet.Range("E" & Gyo).Value '---伝票番号 PSheet.Range("H" & sGyo).Value = DSheet.Range("F" & Gyo).Value '---取引詳細 If DSheet.Range("G" & Gyo).Value >= 0 Then PSheet.Range("I" & sGyo).Value = DSheet.Range("G" & Gyo).Value '---借方金額 Else PSheet.Range("J" & sGyo).Value = DSheet.Range("G" & Gyo).Value '---貸方金額 End If If sGyo = 16 Then '---残高計算 PSheet.Range("K" & sGyo).Value = DSheet.Range("G" & Gyo).Value Else PSheet.Range("K" & sGyo).Value = DSheet.Range("G" & Gyo).Value _ + DSheet.Range("G" & Gyo).Offset(-1).Value End If '↓データの件数分だけ罫線を引く作業するというのは非効率です。 ' 例えば、100,000件のデータからシートを10枚作る場合を考えてみてください。 ' 見本で示したやり方ならば、罫線を引く作業は10回で済みます。 ' ですが、これやり方だと、罫線を引く作業が100,000回発生しますね。 ogawa PSheet.Range("B" & sGyo & ":K" & sGyo + 1).Borders.LineStyle = True '---罫線を引く PSheet.Range("F2").Value = PSheet.Name & " 実績" '---実績タイトル sGyo = sGyo + 1 Next Application.ScreenUpdating = True '…画面更新設定 DSheet.Activate End Sub Sub A_retu_number() '---mainのA列に№付け Set DSheet = Worksheets("main") '№欄設定 DSheet.Range("A1").Value = "№" DSheet.Range("A1").Interior.ColorIndex = 35 DSheet.Range("A1").HorizontalAlignment = xlCenter DSheet.Range("A1").Font.Bold = True '№付け Dim Gyo As Long mxGyo = DSheet.Range("B" & Rows.Count).End(xlUp).Row For Gyo = 2 To mxGyo If Gyo = 2 Then DSheet.Range("A" & Gyo).Value = "1" Else DSheet.Range("A" & Gyo).Value = DSheet.Range("A" & Gyo).Offset(-1).Value + 1 End If Next End Sub Sub sort_torihikisaki() '---取引先名称で並べ替え Set DSheet = Worksheets("main") mxGyo = DSheet.Range("B" & Rows.Count).End(xlUp).Row DSheet.Range("A1:G" & mxGyo).Sort _ Key1:=DSheet.Range("B1"), _ Order1:=xlAscending, _ Header:=xlYes End Sub Sub sort_number() '---№で並べ替え Set DSheet = Worksheets("main") mxGyo = DSheet.Range("B" & Rows.Count).End(xlUp).Row DSheet.Range("A1:G" & mxGyo).Sort _ Key1:=DSheet.Range("A1"), _ Order1:=xlAscending, _ Header:=xlYes End Sub
たった1ヶ月で人生が劇的に変わりました
佐藤信さん
役員クラスの方から高い評価を受けるようになりました。
佐賀県 - 岩本徹さん
今までまったく知らなかったショートカットキーを使いまくっています。
東京都 - 鷹觜慶さん
年齢60才間近、営業で外回りの時間が多い私でも退社時間が1-2時間程度早くなりました。
東京都 - 宗内隆明さん
受講前もすでにパソコン得意でしたが、そんな私でも受講して本当に良かったと思えた講座です。
東京都 - 佐伯とも子さん
ここまで包括的に仕事に役立つ深い学びを受けれた講座は初めてでした
東京都 - 飯田倫子さん
2024年05月13日 00:20
2024年05月12日 16:21
2024年05月06日 19:09
2024年05月05日 07:10
2024年05月01日 14:04
2024年05月13日 10:21
2024年05月13日 10:17
2024年05月13日 10:05
2024年05月12日 20:26
2024年05月10日 13:24
2022年02月24日 10:59
2019年12月23日 05:57
2019年09月20日 12:29
表示できる投稿はありません。
この学習サイトの教材制作、サポート、システム開発をすべてやっています。
2022年02月02日 00:00
2022年02月02日 03:00
2022年02月02日 06:00
2022年02月02日 09:00
2022年02月02日 12:00
2024年02月15日 18:30
2024年02月09日 17:05
2024年01月19日 13:00
2023年12月31日 17:00
2023年12月21日 14:00
2024年05月05日 09:40
2024年05月03日 11:20
2024年05月02日 10:38
2024年05月02日 05:00
2024年05月01日 18:30
受講生さんの投稿
(投稿ID: 3850) 添付ファイルのダウンロード権限がありません
ご査収下さい。
小川慶一さんのコメント
(コメントID: 5375)
おはようございます。
ご協力ありがとうございます。
以下、添削を貼り付けます。ご確認ください。