人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

salingerさん、ありがとうございました。
が、私には難解でした、そこで少し簡単にして、7回コピーしますので
今一度、次の左のデータを右になるマクロを教えて下さい。

あいこ25”””””あいこ25
ゆきお36”””””ゆきお36
いさお"""""""" けいこ25
けいこ25"""""たろう12
くにお"""""""
たろう12

●質問者: mitsueda
●カテゴリ:コンピュータ
✍キーワード:あいこ うご コピー データ マクロ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● SALINGER
●35ポイント

これは前回の質問とほとんど同じで、名前が6人ずつで7回ということになりますでしょうか。それならば以下で。


わかりやすいように、できる限りコードの説明を入れてみました。

 Dim i As Integer  '一まとまりの最初の行
 Dim j As Integer  '最初の行から何番目か
 Dim k As Integer  'コピー先の行
 
  '1から6ずつ増やして37まで繰り返す(7回)
 For i = 1 To 37 Step 6
 k = i
 
  '0から5まで繰り返す(一まとまりの名前の数である6回)
 For j = 0 To 5
 
  '数字が空白でなければ
 If Cells(i + j, 2).Value <> "" Then
 
  '名前をコピー
 Cells(k, 4).Value = Cells(i + j, 1).Value
  '数字をコピー
 Cells(k, 5).Value = Cells(i + j, 2).Value
  'コピー先を一つ下の行にずらす
 k = k + 1
 End If
 Next j
 Next i


質問とは直接関係ありませんが、人力検索には私よりも優秀な回答者がたくさんいるので、

特定の人を指名するよりは広く回答を集めたほうがより良い回答がもらえると思います。

「仲間内で理解を求める質問」と利用規約を持ち出す人もいるかもしれないでお気をつけください。

◎質問者からの返答

有難うございました


2 ● an_shoku_panman
●35ポイント

以下の様な方法もありますが。

A3からデータがあるとして、B列にデータが無ければ次のデータへ移動。

データがあればコピーし、D列にデータを溜めていく。

転写が終われば元の位置に戻り、次のデータへ・・・以降繰返し。

A列のデータが無くなり次第終了です。


で如何でしょう。salingerさん御指名ですので横入り済みません。

ポイントなしで結構です。(_ _)


Sub 選択コピー転写()

Range("A3").Select

Do Until ActiveCell.Value = ""

If ActiveCell.Offset(0, 1).Value <> "" Then _

A = ActiveCell.Address: _

ActiveCell.Offset(0).Resize(1, 2).Select: _

Selection.Copy: _

Range("D50").End(xlUp).Offset(1).Select: _

ActiveSheet.Paste: _

Range(A).Select

ActiveCell.Offset(1).Select

Loop

End Sub

◎質問者からの返答

有難うございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ