salingerさん、ありがとうございました。

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

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

回答の条件
  • 1人2回まで
  • 登録:2009/09/26 04:07:56
  • 終了:2009/10/03 04:10:02

回答(2件)

id:SALINGER No.1

SALINGER回答回数3430ベストアンサー獲得回数9692009/09/26 13:35:49

ポイント35pt

これは前回の質問とほとんど同じで、名前が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


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

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

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

id:mitsueda

有難うございました

2009/09/26 14:49:37
id:an_shoku_panman No.2

an_shoku_panman回答回数14ベストアンサー獲得回数02009/09/26 13:32:08

ポイント35pt

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

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

id:mitsueda

有難うございました。

2009/09/26 14:49:56

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません