質問するログイン新規登録

回答編集履歴

3

syuusei

2016/08/01 11:16

投稿

jawa
jawa

スコア3021

answer CHANGED
@@ -1,7 +1,7 @@
1
1
  VBAを使わなくてもできそうですが、使うならこんな感じでしょうか。
2
2
  ```
3
- Dim sht1 As Worksheets
3
+ Dim sht1 As Worksheet
4
- Dim sht2 As Worksheets
4
+ Dim sht2 As Worksheet
5
5
 
6
6
  Dim iReadRow As Integer
7
7
  Dim iWriteRow As Integer

2

修正

2016/08/01 11:16

投稿

jawa
jawa

スコア3021

answer CHANGED
@@ -18,7 +18,7 @@
18
18
  '読取行A列が未入力ならループを抜ける
19
19
  If sht1.Cells(iReadRow, 1) = "" Then Exit Do
20
20
 
21
- For iCol = 1 To 5
21
+ For iCol = 1 To 7
22
22
  If iCol = 1 Then
23
23
  '出力先A列には読取行の次行A列(苗字)をセット
24
24
  sht2.Cells(iWriteRow, iCol) = sht1.Cells(iReadRow + 1, 1)

1

追記

2016/08/01 09:39

投稿

jawa
jawa

スコア3021

answer CHANGED
@@ -31,4 +31,11 @@
31
31
  iReadRow = iReadRow + 2 '読取行を2行進める
32
32
  iWriteRow = iWriteRow + 1 '出力行を1行進める
33
33
  Loop
34
- ```
34
+ ```
35
+
36
+
37
+ (追記)
38
+ サンプルコードはシート1⇒シート2へのコピーで作っていますが、ブック1⇒ブック2と読み替えていただいても問題ないはずです。
39
+
40
+ あと、掲示いただいたコードは質問文のルールとはちょっと違う並びになりそうな気がするのですが・・・。
41
+ (動かして確認はしていませんが、B列からB列にコピーしているように見えます。)