Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


23329 / 76738 ←次へ | 前へ→

【58778】タイトルがコピペされないようにするには
質問  にしもり  - 08/11/10(月) 1:13 -

引用なし
パスワード
   こんにちは。
以下では、ファイルAのシート1のセルA2から、ファイルBのシート1のセルA2へ、ファイルAのシート1のセルA3から、ファイルBのシート1のセルA3へ、、
ファイルAのシート1のセルB2から、ファイルBのシート1のセルB2へ、ファイルAシート1のセルB3から、ファイルBのシート1のセルB3へ、、、、
ファイルAのシート1のセルC2から、ファイルBのシート1のセルC2へ、ファイルAのシート1のセルC3から、ファイルBのシート1のセルC3へ、、、、
ファイルAのシート1のセルD2から、ファイルBのシート1のセルD2へ、ファイルAのシート1のセルD3から、ファイルBのシート1のセルD3へ、、、、
と文字列を移しています。

ファイルBの1行目はタイトル行です。

このときたとえばファイルAのシート1のセルB2に文字列が入っていないと、ファイルBのシート1のセルB2に(ブランクのままでよいのに)ファイルBのシート1のセルB1のタイトルが入ってしまいます。どこがいけないからでしょうか?

ロジック自体もな何かもっとループか何かで洗練させることできるでしょうか?
ご教示ください。

Sub Test()

  Dim v 
 
  With Workbooks("A.xls").Worksheets("Sheet1")
    v = .Range("A2", _
      .Cells(.Rows.Count, "A").End(xlUp)).Value
  End With
  With Workbooks("B.xls").Worksheets("Sheet1")
    .Range("A2").Resize(UBound(v), 1).Value = v
    .Range("A2").Value = v
  End With

  With Workbooks("A.xls").Worksheets("Sheet1")
    v = .Range("B2", _
      .Cells(.Rows.Count, "B").End(xlUp)).Value
  End With
  With Workbooks("B.xls").Worksheets("Sheet1")
    .Range("B2").Resize(UBound(v), 1).Value = v
    .Range("B2").Value = v
  End With

  With Workbooks("A.xls").Worksheets("Sheet1")
    v = .Range("C2", _
      .Cells(.Rows.Count, "C").End(xlUp)).Value
  End With
  With Workbooks("B.xls").Worksheets("Sheet1")
    .Range("C2").Resize(UBound(v), 1).Value = v
    .Range("C2").Value = v
  End With

  With Workbooks("A.xls").Worksheets("Sheet1")
    v = .Range("D2", _
      .Cells(.Rows.Count, "D").End(xlUp)).Value
  End With
  With Workbooks("B.xls").Worksheets("Sheet1")
    .Range("D2").Resize(UBound(v), 1).Value = v
    .Range("D2").Value = v
  End With

  With Workbooks("A.xls").Worksheets("Sheet1")
    v = .Range("E2", _
      .Cells(.Rows.Count, "E").End(xlUp)).Value
  End With
  With Workbooks("B.xls").Worksheets("Sheet1")
    .Range("E2").Resize(UBound(v), 1).Value = v
    .Range("E2").Value = v
  End With

  With Workbooks("A.xls").Worksheets("Sheet1")
    v = .Range("F2", _
      .Cells(.Rows.Count, "F").End(xlUp)).Value
  End With
  With Workbooks("B.xls").Worksheets("Sheet1")
    .Range("F2").Resize(UBound(v), 1).Value = v
    .Range("F2").Value = v
  End With

 End Sub
0 hits

【58778】タイトルがコピペされないようにするには にしもり 08/11/10(月) 1:13 質問
【58784】Re:タイトルがコピペされないようにするには Jaka 08/11/10(月) 11:28 発言
【59059】Re:タイトルがコピペされないようにするには にしもり 08/11/25(火) 15:56 質問
【59063】Re:タイトルがコピペされないようにするには ichinose 08/11/25(火) 20:52 発言

23329 / 76738 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free