VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/09/07(Wed) 10:04
投稿者いち
Eメール
URL
タイトルMSHFlexGridの複数行削除

こんにちわ、よろしくお願いします。
VB6.0 WinXP使用

MSHFlexGrid1とCommand1(削除ボタン)をつけ、選択した行(反転した部分)のみを削除したいと思って
いますがエラーが出ます。

@MSHFlexGrid1のクリックイベントに(HP参考にさせていただき)反転するようにしました。
With MSHFlexGrid1
    If .CellBackColor = QBColor(1) Then
        '再クリックした場合セル色を元に
        .CellBackColor = QBColor(15)
        .CellForeColor = QBColor(0)
    Else
        'セルに反転色を指定
        .CellBackColor = QBColor(1)
        .CellForeColor = QBColor(15)
    End If
end with

ACommand1クリックイベント(削除ボタン)で
Do Until MSHFlexGrid1.Row = MSHFlexGrid1.Rows
    If MSHFlexGrid1.CellBackColor = QBColor(1) Then
        '反転していれば行削除
        MSHFlexGrid1.RemoveItem i
        i = i - 1
    Else
        MSHFlexGrid1.Row = MSHFlexGrid1.Row + 1
        i = i + 1
    End If
Loop

MSHFlexGridを1行ずつループして反転していれば削除というように作りましたがエラーの状態です。
ループの処理で、カレント行が総行数になればという処理にしましたが、ここで、どうしても最終行
のところでエラーになってしまいます。エラーの原因はわかるのですが、どう作って良いのかわから
なく困っています。よろしくお願いします。
この方法以外でもありましたら、お願いします。


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -