|
▼ichinose さん:
回答ありがとうございます。
下記のコードサンプルを行ってみたところ、サンプル1の方はうまく行きました。
サンプル2の方は
With Worksheets("sheet1").Range("a2", .Cells(.Rows.Count, "a").End(xlUp)).Offset(, 3)
で、エラーが出てうまく行きませんでした。
このコード事態が私にはわからないので、よかったら解説していただけると
助かります。
よろしくお願いいたします。
>こんばんは。
>
>>オートフィルタで抽出をかけた後のセルの値の修正方法を教えてください。
>>目的は「[D列]の[2]と等しくないデータを[2]に変更したい」です。
>>
>> A | B | C | D |
> 1 項目1| 項目2 | 項目3 | 項目4 |
> 2 AAA | 111 | ABC | 2 |
> 3 BBB | 222 | DEF | 2 |
> 4 CCC | 333 | GHI | 2 |
> 5 DDD | 444 | JKL | 1 |
> 6 EEE | 555 | MNO | 1 |
> 7 FFF | 666 | PQR | 3 |
>
>これ、実際には上記のように1行目は見出し(項目名)になっているのですよね?
>
>そうだとして・・・・。
>
>
>>
>>Sub test()
> Dim a As Variant
> Worksheets("Sheet1").Range("A1").AutoFilter field:=4, Criteria1:="<>2", Operator:=xlAnd
> For Each a In Worksheets("Sheet1").AutoFilter.Range.Columns(4).SpecialCells(xlCellTypeVisible)
> If a.Row > 1 Then a.Value = 2
> Next
> Worksheets("Sheet1").Range("A1").AutoFilter
>>End Sub
>
>こんなコードで可能だと思いますが、
>
>
>これ、入力範囲のD列を全部2にするだけなら、
>
>Sub testtest()
> With Worksheets("sheet1").Range("a2", .Cells(.Rows.Count, "a").End(xlUp)).Offset(, 3)
> If .Row > 1 Then
> .Value = 2
> End If
> End With
>End Sub
>これでも良さそうですけどね!!
|
|