|
最近、脳軟化が始まっているのか、シートがあっちゃこっちゃ入れ替わるとついていけなくなります。
1、2分ほど前に試し打ちして、捨てた台をこれ打ったっけ?ってな事になるので、
前日との釘の比較はまず無理状態です。
だから、WS5.Parentとなんて書かれると、WS5って何?状態。
最近に始まった事じゃないけどね!
こんなですから、まだ全体を把握で出来ていません。
頭がぐにゃぐにゃ回っている状態で気づいた事。(まとまってなくてすみません。)
1、
下記変数の宣言がされていないようですが...。
Dim Cel As Range, CelAry() As Range
↑特にこの配列、これがないとエラーになると思います。
変数が定義されていないって....。
2、
>’オートフィルタをかけた仕入シートのBE列の最後の行
> Set 範囲 = WS5.Range("BE65536").End(xlUp).Offset(1)
これは、いつ取得しているのでしょうか?
いつと言うのは漠然としすぎるので、オートフィルタをかけた後でしょうか?
オートフィルタのコードが書いてなかったので、手動でオートフィルタをかけているのかな?
と、思います。
オートフィルタをかけた後に、フィルタ最終行を
Range("BE65536").End(xlUp)・・・
で、取得するととんでもない事になったりするので止めてください。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=87;id=FAQ
3、
>WS5.Activate
>Range("A1", Range("D65536").End(xlUp)).Offset(,2).Formula = _
> "=IF(BF1,D1-BE1,""D1"")"
これ、フィルタして表示されているセルに対して関数を書き込んでいるのしょうか?
フィルタして飛び飛びのセルに対して、一括で書き込むことが出来ないです。
1個1個ループ書かないとダメだと思います。
(Unionメソッドの事は、混乱を招きそうなので省きます。)
オートフィルタの全て表示は、こんな感じで出来ます。、
Sub 全表示() 'オートフィルタ解除または全表示時、
'関数が多いとフリーズしたようになるから計算方法を手動にする。
Dim CalFLG As Boolean
With Application
If .Calculation = xlAutomatic Then
.Calculation = xlManual
CalFLG = True
End If
Sheets("シート2").ShowAllData '全表示
If CalFLG = True Then
.Calculation = xlAutomatic
End If
End With
End Sub
オートフィルタの解除は、こんな感じでできます。
Sheets("シート2").AutoFilterMode = False
>Sub オートフィルタオフ1()
> Dim Wb1 As Workbook
> Dim WB2 As Workbook
> Dim WS3 As Worksheet
> Dim WS2 As Worksheet
> Dim WS2 As Worksheet
> Set Wb1 = Workbooks("入力.xls")
> Set WS2 = Wb1.Sheets("入力")
> Set WB2 = Workbooks("集計.xls")
> Set WS3 = WB2.Sheets("在庫")
> Set WS5 = WB2.Sheets("仕入")
>'在庫シートのオートフィルタ解除。
> If WS3.AutoFilterMode = True Then
↓ WS4 が上でセットされてないからエラーになります。
> WS4.Range("B23").AutoFilter
> End If
>End Sub
↓
決まったシートのオートフィルタを解除するなら、
こんな感じでいいです。
Sub オートフィルタオフ1()
WorkBooks("Book1.xls").Sheets("シート2").AutoFilterMode = False
Doevant '←入れておいた方が、良いと思います。
End Sub
オートフィルタして表示された列の最後の行は、こんな感じ....。
With Sheets("Sheet2").AutoFilter.Range
With .Columns(1).SpecialCells(xlCellTypeVisible)
With .Areas(.Areas.Count)
MsgBox .Rows(.Cells.Count).Row
End With
End With
End With
|
|