pickup

目次

文字を抽出して別シートへ転記

こんにちは。伊川(@naonaoke)です。

今回は令和2回目の質問になります。

実務では、データベースを整理することがよくあります。

その際に、N行飛ばし(2行飛ばし、3行とばし)で転記という場面があります。

問題提起

(株)IKAWAの柄久 瀬瑠子(エク セルコ)は上司から下記の依頼を受けました。

3行飛ばしで、データを転記してほしい。

どのようなコードを記載するのか?

解決策

回答
sesuo2.jpg
・For~Next構文にStepを加える。

 

ループにひと手間を加える

ループに関しては、苦手な人が結構いると思います。

このループが理解すると、同じ作業をExcelが勝手にやってくれます。

この際にぜひ、覚えてください。

ループにひと手間を加える 作成手順その1 データベース確認


上のデータを転記します。

A列にデータがある限りです。

端から端までがわからないときは、上の記事を参照してください。

ループにひと手間を加える 作成手順その2 コードを解説


Sub 転記()

Dim ws As Worksheet, w As Worksheet                                 'WorkSheetを変数として宣言

Set ws = Worksheets("Sheet2")                                        'wsがSheet2の代わりになる

Set w = Worksheets("Sheet1")                                        'wsがSheet1の代わりになる

Dim i As Long, cut As Long, maxrow As Long                          'i cut maxrow この3つの変数は数字の代わりとなるため、Longを使う
 
'----------------------------------------------------------------------------------------ここまでは料理でいうしこみ----------------------

maxrow = w.Cells(Rows.Count, 1).End(xlUp).Row    'Sheet1のA列の最終のセルを取得する

cut = 1                                          'cutは1から始まると定義する

For i = 1 To maxrow Step 4                      'これがループさせることを宣言する つまりSheet1のセルA1~A列の最終の値までを、4つ飛ばしで取得する



cut = cut + 1                                    'これが、このプログラムの肝になり、cutの1回の処理が終了後に、さらに、cutに1回を足す

'------------------------------------------------------------------------------------ここまでが、料理で言うところの調理----------------

ws.Cells(cut, 2) = w.Cells(i, 1)                  '取得した値を、貼り付ける

'-------------------------------------------------------------------------------------これが料理で言うところの盛り付け------------------

Next i                                            'For ~Next構文のための決まり文句



End Sub

ループにひと手間を加える 作成手順その3 コードを実行する

こんな簡単なコードで、あっという間にできました。

ここがポイント

ここがポイント
Function8.png
今回のポイントは、Cut=Cut+1です。いまだに私も悩むのですが、Cutとう変数に1個加えていくということです。イコールは等しいという意味もありますが、Cutに代入するという意味です。この点はものすごく重要です。

 

まとめ

今回のまとめ
sesuko3.jpg
面倒なことは、Excelにまかせましょう。少しの努力で、業務短縮は可能になります。

今回のサンプルファイルは、No104です。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事