Excelで、シートaのA1とB1の値を次のシートbのC1とD1にコピーし

 同じく、シートaのA2とB2の値を、シートbのE1とF1にコピー、
  これを連続して、マクロ(VBA)でする方法は?

回答の条件
  • 1人1回まで
  • 登録:2014/08/13 14:49:47
  • 終了:2014/08/14 04:38:02

ベストアンサー

id:sasada No.1

sasada回答回数1482ベストアンサー獲得回数1332014/08/13 17:10:23

ポイント150pt

 下記のマクロで如何でしょう。

Sub Macro1()
'
' Macro1 Macro
'
    Sheets("シートa").Select
    Range("A1:B1").Select
    Selection.Copy
    Sheets("シートb").Select
    Range("C1").Select
    ActiveSheet.Paste
    Sheets("シートa").Select
    Range("A2:B2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("シートb").Select
    Range("E1").Select
    ActiveSheet.Paste
End Sub
id:sasada

 あぁ、勘違いしてました。
 シートaのA列とB列に値が有る限り、シートbの1行目に値を並べれば良いんですね。
 それだと、たとえば、以下のマクロになります^^

Sub Macro1()
'
' Macro1 Macro
'
  Dim I, J
  I = 1
  J = 3
  Sheets("シートa").Select
  Do Until IsEmpty(Cells(I, 1))
    Sheets("シートa").Select
    Cells(I, 1).Select
    Selection.Copy
    Sheets("シートb").Select
    Cells(1, J).Select
    ActiveSheet.Paste
    Sheets("シートa").Select
    Cells(I, 2).Select
    Selection.Copy
    Sheets("シートb").Select
    Cells(1, J + 1).Select
    ActiveSheet.Paste
    Sheets("シートa").Select
    I = I + 1
    J = J + 2
  Loop
End Sub
2014/08/13 17:51:51

その他の回答(1件)

id:sasada No.1

sasada回答回数1482ベストアンサー獲得回数1332014/08/13 17:10:23ここでベストアンサー

ポイント150pt

 下記のマクロで如何でしょう。

Sub Macro1()
'
' Macro1 Macro
'
    Sheets("シートa").Select
    Range("A1:B1").Select
    Selection.Copy
    Sheets("シートb").Select
    Range("C1").Select
    ActiveSheet.Paste
    Sheets("シートa").Select
    Range("A2:B2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("シートb").Select
    Range("E1").Select
    ActiveSheet.Paste
End Sub
id:sasada

 あぁ、勘違いしてました。
 シートaのA列とB列に値が有る限り、シートbの1行目に値を並べれば良いんですね。
 それだと、たとえば、以下のマクロになります^^

Sub Macro1()
'
' Macro1 Macro
'
  Dim I, J
  I = 1
  J = 3
  Sheets("シートa").Select
  Do Until IsEmpty(Cells(I, 1))
    Sheets("シートa").Select
    Cells(I, 1).Select
    Selection.Copy
    Sheets("シートb").Select
    Cells(1, J).Select
    ActiveSheet.Paste
    Sheets("シートa").Select
    Cells(I, 2).Select
    Selection.Copy
    Sheets("シートb").Select
    Cells(1, J + 1).Select
    ActiveSheet.Paste
    Sheets("シートa").Select
    I = I + 1
    J = J + 2
  Loop
End Sub
2014/08/13 17:51:51
id:kazukichi_0914 No.2

かずきち。回答回数126ベストアンサー獲得回数82014/08/13 20:41:04

ポイント50pt

マクロ組む必要ありますかね?wエクセルのセルの右下をひっぱるとコピーできるのですが、こっちのほうが手っ取り早いですよ。

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

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

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

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

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