|
▼Jaka さん:
色々と回答いただき、本当にありがとうございました。
困った時のサイトなども教えていただきありがとうございます。
今回の処理で、空白が見つからないときは何もしないで
そのまま進めたいということでした。
色々な案をいただきましたのを
勉強していきたいと思います。
ありがとうございました。
>下記コードの場合、空白セルが無いのにエラーにならないのは、
>On Error Resume Next が、効いているから。
>
>>Dim Deg空白 As Range
>>On Error Resume Next
>>Set Deg空白 = Range(Cells(i, "A"), Cells(i + x - 1, "B")).SpecialCells(xlCellTypeBlanks)
>>Deg空白.Value = "(空白)"
>
>通常の考え方なら、エラートラップをするのは、この行だけでですから、
>これを過ぎたら、トラップを解除しておきます。
>>Set Deg空白 = Range(Cells(i, "A"), Cells(i + x - 1, "B")).SpecialCells(xlCellTypeBlanks)
>
>このように解除。
>>On Error Resume Next
>>Set Deg空白 = Range(Cells(i, "A"), Cells(i + x - 1, "B")).SpecialCells(xlCellTypeBlanks)
> On Error Goto 0
>>Deg空白.Value = "(空白)"
>
>もし、空白セルが無い場合は、「Deg空白」に何もセットされていないわけですから。
>エラートラップが解除された状態で、
>>Deg空白.Value = "(空白)"
>などとやると、エラーになるはずです。
>
>>この1番下で空白をに"(空白)"を入れていますが、マクロを実行した後に
>>エラーじゃなかったところに"(空白)"が入っていました。。。
>これは、何かの間違いか、勘違いと思います。
>
>
>Dim Deg空白 As Range
>On Error Resume Next
>Set Deg空白 = Range(Cells(i, "A"), Cells(i + x - 1, "B")).
>(xlCellTypeBlanks)
>On Error Goto 0
>If Not Rng Is Nothing Then
> Deg空白.Value = "(空白)"
>Else
> 空白セルが見つからなかった場合にさせたい処理。
>End If
>
>
>おまけ。
>覚えておくとためになるだろう事。
>
>【253】良く解らないSpecialCells
>ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=253;id=FAQ
>
>SpecialCellsは、使った形跡の無い(UsedRangeの範囲以外)セルを無視します。
>【42687】範囲指定について
>ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=42687;id=excel
>
>【43413】SpecialCellsの限界って・・・。
>ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=43413;id=excel
|
|