Excel VBA質問箱 IV

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

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


66820 / 76732 ←次へ | 前へ→

【14471】Re:sheet1にデータがあればSheet2に違う値を挿入
回答  ichinose  - 04/5/30(日) 15:53 -

引用なし
パスワード
   こんにちは。
>Sheet1,Sheet2があるとして
>現在
><Sheet1>
>A   B  C    D    E    F   G ・・・・
>PASS NO 項目1 項目2 項目3 項目4 項目5 ・・・・
>abc  1  ×            ○×  
>ded  5  ×        △       
>※PASS=半角英数字 番号=連番ではない 項目1〜10まであり、データはない部分もあり,すべて文字列データ
>
>ここでやりたいことがSheet1にて、項目1〜10にてセルにデータがあれば
>Sheet2に同じ座標のセルに下記のようなデータを以下のように転記したいのです。
>
><Sheet2>
>A   B C          D    E    F       G 
>PASS NO 項目1       項目2 項目3  項目4     項目5
>abc  1 ./id.cgi?cm?tx1?num=1        ./id.cgi?cm?tx4?num=1  
>ded  5 ./id.cgi?cm?tx1?num=5   ./id.cgi?cm?tx3?num=5 
>
> ./id.cgi?cm?tx1?num=1   ←挿入したいデータ
>        ↑   ↑
>      列番号  NO  
>のようにSheet1にあるセルにデータがあれば、Sheet2の該当する同じ座標のセルに
>『./id.cgi?cm=・・・・・』 というデータを上記にある規則に従って
>挿入するようにしたいのですが、可能でしょうか?可能であれば、実際にどのような方法をすればよろしいでしょうか?ご教授お願いします
一箇所、不明な点がありましたが(Sheet1の項目1〜項目10が全て未入力だったデータも項目空白として転記するか否か? 、今回は転記しました)、

私は、こういう事例の場合は、関数を使うことが多いんですが・・・。
Sheet2には、1行目の各見出しだけコピーしておいて下さい。

'=================================================================
Sub test()
  Dim rng As Range
  With Worksheets("sheet1")
   Set rng = .Range(.Cells(2, 1), .Cells(.Rows.Count, 1).End(xlUp))
   End With
  If rng.Row > 1 Then
   With Worksheets("sheet2")
     .Range(rng.Resize(, 2).Address).Value = _
         rng.Resize(, 2).Value
     With .Range(rng.Offset(0, 2).Resize(, 10).Address)
      .Formula = _
         "=if(sheet1!c2<>"""",""./id.cgi?cm?tx""&column()-2&""?num=""&$b2,"""")"
      .Value = .Value
      End With
     End With
   End If
End Sub

確認してみて下さい

2 hits

【14466】sheet1にデータがあればSheet2に違う値を挿入 バカボン 04/5/30(日) 13:02 質問
【14469】Re:sheet1にデータがあればSheet2に違う値... ちゃっぴ 04/5/30(日) 15:32 回答
【14471】Re:sheet1にデータがあればSheet2に違う値... ichinose 04/5/30(日) 15:53 回答
【14472】Re:sheet1にデータがあればSheet2に違う値... バカボン 04/5/30(日) 16:06 お礼

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