|
先日下記のように質問させて頂き、下記のようにお答え頂きました。
そこで今回は前回と違うデータを挿入したいのですが、記述の仕方が分かりません。
前回は./id.cgi?cm?tx3?num=5 の数字を指定する場合
"=if(sheet1!c2<>"""",""./id.cgi?cm?tx""&column()-2&""?num=""&$b2,"""")" というように記述しましたが
今回は、./01/b.cgi?cmd=s&sc=ball&UserNum=1というようなデータを挿入したいのですがどのように記述すればよろしいでしょうか?
./01/b.cgi?cmd=s&sc=ball&UserNum=1
↑ ↑
列番号 NO
>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
|
|