[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『1行を複数行に分けるマクロの組み方』(mm)
1行を複数行に分けるマクロの組み方を知りたいです。
下記のような項目があるとします。
A1会社名 B1部署 C1役職 D1氏名 E1会社名02 F1 部署02 G1役職02 H1氏名02
これを↓
A1会社名 B1部署 C1役職 D1氏名
A2会社名02 B2部署02 C2役職02 D2氏名02
2行目に情報を入れたいです。
Range("2:3").Insert のようなマクロを使うのかとは思うのですが…
実際には1行に40項目ほどあり、列も100列ほどあります。
お力添えを頂けましたら幸いです。
宜しくお願いいたします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
初期状態では、2行目はどうなっているんですか?(更に、3,4、・・行目は?)
発想を変えると、新規シートに順に書き込んで行った方が楽だと思うんですが、 そんな手法は採れませんか?
※「mmさん」と言うHNは、常連回答者にもいるので、 次回投稿時からは、別名にして頂くと何かと有り難いです。
(半平太) 2018/03/28(水) 19:03
1列目〜40列目、41列目〜80列目、81列目〜120列目 がそれぞれ1つのレコードってことですよね
それって、手作業でコピペしても5分くらいで出来ちゃいません?
(後でソートするなど、元々の順番にこだわらないなら)
半平太さんのおっしゃるとおり、別シートに貼り付けるなら、
A1〜AN?をコピペして
AO1〜CB?をコピペして
CC1〜DP?をコピペで終了
ってことになっちゃいますよね。これマクロで処理する必要あります?
(もこな2) 2018/03/28(水) 19:17
Sub Sample() Dim 行 As Long, 列 As Long Dim i As Long Dim dstSH As Worksheet
Set dstSH = ThisWorkbook.Worksheets.Add
With ActiveSheet For 行 = 1 To .UsedRange.Rows.Count For 列 = 1 To 81 Step 40 i = i + 1 .Range(.Cells(行, 列), Cells(行, 列 + 39)).Copy dstSH.Cells(i, "A") Next 列 Next 行 End With End Sub (もこな2) 2018/03/28(水) 19:56
ご回答ありがとうございます。
この作業を日々行うものであるので、
繰り返し行う作業としては非効率だと思うのでマクロに、と思った次第です。
省略して記載しましたが会社名 部署 役職 氏名が、01〜07までそれぞれあるので28列はあります。
2行目以降のデータとしても、01〜07の項目が埋まっている所もあれば埋まっていないデータとして100行ほどあります。
HNにつきまして、お教えいただきありがとうございます。
お教えいただきましたマクロをそのまま貼り付けたところ、
白紙のシートが増えただけとなってしまいました。。
(mm) 2018/03/29(木) 10:49
Sub Sample() Dim 行 As Long, 列 As Long Dim i As Long Dim srcSH As Worksheet Set srcSH = ActiveSheet Dim dstSH As Worksheet Set dstSH = ThisWorkbook.Worksheets.Add
With srcSH For 行 = 1 To .UsedRange.Rows.Count For 列 = 1 To 81 Step 40 i = i + 1 .Range(.Cells(行, 列), .Cells(行, 列 + 39)).Copy dstSH.Cells(i, "A") Next 列 Next 行 End With End Sub
>省略して記載しましたが会社名 部署 役職 氏名が、01〜07までそれぞれあるので28列はあります。
>2行目以降のデータとしても、01〜07の項目が埋まっている所もあれば埋まっていないデータとして100行ほどあります。
最初と言ってることが変わっちゃってますし、Excel君(回答者も)にしてみれば、入ってるデータが”会社名01”なのか"氏名07"なのかはどうでもよくて、大事なのは1レコード(1つあたりのデータの範囲)がどこからどこまでなのか、また、それをどうしたいのか(貼り付けるたり、削除したり)ということに絞って、整理したうえで、処理を考えていくとよいとおもいます。
(もこな2) 2018/03/29(木) 12:28
ありがとうございます!
整理できずにお伝えしてしまい申し訳ございませんでした。
行いたい意図を汲み取ってくださりありがとうございます。
助かりました!
ありがとうございます。
(mm) 2018/03/29(木) 13:39
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.