
VB6.0 SPREAD3.0
SPREADで何行か表示している時に削除したい行をクリックし、その行に色(黄色)をつけ、その色のついた行を削除ボタンを押したら削除する・・・という仕様にしたいと思っております。
そして以下のように書いてみたのですが、問題があり、
(1)クリックした行の色が変わると同時に何故だか最終行の文字の色が黄色に変わってしまう。
(2)例えば一行目をクリックしてから3行目をクリックすると一行目の文字の色が黄色になってしまい、もとに戻らない。
(3)行を選択しないまま削除ボタンを押すと下から順に行が削除されてしまう。
という3つの問題があり、解決できないでいます。
なにかアドバイスがありましたらよろしくお願いします。
'---クリックした行の色を反転---
Private Sub spread_Click(ByVal Col As Long, ByVal Row As Long)
With oSpmain
.ReDraw = False
.Row = .Row: .Col = -1:
.BackColor = vbWhite
.ForeColor = RGB(255, 300, 0)
.BlockMode = True
.Row = Row: .Row2 = Row
.Col = 1: .Col2 = .MaxCols
.BackColor = .ForeColor
.ForeColor = vbWhite Xor .ForeColor
.BlockMode = False
.ReDraw = True
End With
End Sub
'---削除ボタン---
Private Sub sakujyo_Click()
With spread
.BlockMode = True
.Action = ActionDeleteRow
.BlockMode = False
.MaxRows = .MaxRows - 1
End With
End Sub
No.1ベストアンサー
- 回答日時:
(1)カレント行がどこになっているか?が問題です。
クリックイベントのプロシージャでは、カレント行をのフォアグランドを黄色にします。一番最初に
クリックした時の.Rowの値が最終行を指しているので、最終行が黄色になり
ます。あらかじめ、先頭行を選択状態にしておき、.Rowの値に1を代入して
おく等の対処が必要です。
(2)黒に戻す処理がありません。Xorを使わなくとも、
.Row = .Row: .Col = -1 '現在反転している行を元に戻す
.BackColor = vbWhite
.ForeColor = vbBlack
.Row = Row: .Col = -1 '新しく選択した行を反転する
.BackColor = vbYellow
.ForeColor = vbBlue
では駄目ですか?
(3)カレント行(.Row)が最終行を指しているものと思います。削除のプロシ
ージャは.Rowが指すカレント行を削除します。スプレッドのクリックイベン
トが発生する前のカレント行が最終行を指しているので一番下の行が削除さ
れます。(1)の対処で直ると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DocuWorksについて教えて頂きた...
-
エクセルの「ページ削除」の方...
-
Googleカレンダーで不要データ...
-
スマホの特定のWiFiのSSIDをい...
-
エクセルの行と列が突然削除で...
-
Illustrator 上で、画像を一括...
-
証明書が削除できない。
-
powerAutomateの使用メモリにつ...
-
XPERIA Aの内部ストレージの画...
-
不要になった宛名を削除して前...
-
PDFの編集履歴に関して質問があ...
-
NVIDIAコントロールパネルのフ...
-
inkscape ガイド線をまとめて消...
-
MuseScoreで余った小節の削除方法
-
illustratorCS3 右揃えの文字で...
-
libreofficeのcalcで
-
Thunderbirdのショートカットキ...
-
選んだ行の削除
-
フリーソフトの「schedule watc...
-
Revo Uninstaller
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DocuWorksについて教えて頂きた...
-
エクセルの「ページ削除」の方...
-
Googleカレンダーで不要データ...
-
エクセルの行と列が突然削除で...
-
PDFの編集履歴に関して質問があ...
-
powerAutomateの使用メモリにつ...
-
Illustrator 上で、画像を一括...
-
being のデスクトップ壁紙を完...
-
メッセンジャーで相手に削除さ...
-
ペイントソフトを使うと自動的...
-
フリーソフトの「schedule watc...
-
iTunes デバイス 曲の削除
-
カートの中を空にする方法
-
PS2エミュレータの使用はいかな...
-
win10の予定と近況のフォトを非...
-
aviutlで映像がズレて記憶され...
-
スタートメニューの左側のアイ...
-
inkscape ガイド線をまとめて消...
-
ATOK13辞書登録・削除のしかた
-
アンインストールが出来ません
おすすめ情報