Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11758 / 13646 ツリー ←次へ | 前へ→

【14333】入力したらその行の色を変更し・・・ yuiyui 04/5/26(水) 10:55 質問[未読]
【14341】Re:入力したらその行の色を変更し・・・ IROC 04/5/26(水) 11:52 回答[未読]
【14345】Re:入力したらその行の色を変更し・・・ yuiyui 04/5/26(水) 13:17 質問[未読]
【14346】Re:入力したらその行の色を変更し・・・ IROC 04/5/26(水) 13:42 回答[未読]
【14365】Re:入力したらその行の色を変更し・・・ kun 04/5/26(水) 23:45 回答[未読]

【14333】入力したらその行の色を変更し・・・
質問  yuiyui  - 04/5/26(水) 10:55 -

引用なし
パスワード
   超初心者です。    
sheet1のA列に入力または変更されたら(入力または変更されたタイミングで)、そのセルを含む行の色を例えば赤に変え、    
sheet2のA列には、sheet1のA列の項目の重複をなくしたものを入力させるようにしたいのですが、    
どなたか回答いただけますよう、お願いします。                

(sheet1)                
    A    B    C    ・・・
1   りんご            
2   みかん            
3   りんご            
4   メロン            
5                
:                

(sheet2)                
    A    B    C    ・・・
1   りんご            
2   みかん            
3   メロン            
4    
5    


【14341】Re:入力したらその行の色を変更し・・・
回答  IROC  - 04/5/26(水) 11:52 -

引用なし
パスワード
   >sheet1のA列に入力または変更されたら(入力または変更されたタイミングで)、
>そのセルを含む行の色を例えば赤に変え、    

ということは、A列に入力されている行は、
すべて色が付くということでしょうか?

それとも、それ以前に入力した(色の付いた)行は、
「色なし」にするのでしょうか?


>sheet2のA列には、sheet1のA列の項目の重複をなくしたものを
>入力させるようにしたいのですが、    

一般機能の、フィルタオプションの「重複を無視する」が
使えると思います。

【14345】Re:入力したらその行の色を変更し・・・
質問  yuiyui  - 04/5/26(水) 13:17 -

引用なし
パスワード
   >ということは、A列に入力されている行は、
>すべて色が付くということでしょうか?
>
>それとも、それ以前に入力した(色の付いた)行は、
>「色なし」にするのでしょうか?

その行全体の色を変えるつもりでしたが、申し訳ありませんが変更して、その行のA列からC列までの色を変えたいです。
既に入力されている行も、色を変えたいです。
SheetChangeイベントを使うのでしょうか??

よろしくお願いいたします。

【14346】Re:入力したらその行の色を変更し・・・
回答  IROC  - 04/5/26(水) 13:42 -

引用なし
パスワード
   シートモジュールにコピペして下さい。

Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column <> 1 Then Exit Sub
    
  If Target.Value <> "" Then
    Range(Cells(Target.Row, 1), Cells(Target.Row, 3)).Interior.Color = vbRed
  Else
    Range(Cells(Target.Row, 1), Cells(Target.Row, 3)).Interior.ColorIndex = xlColorIndexNone
  End If
End Sub

【14365】Re:入力したらその行の色を変更し・・・
回答  kun  - 04/5/26(水) 23:45 -

引用なし
パスワード
   こんばんは。sheet2については、FINDを使用しました。

Private Sub Worksheet_Change(ByVal Target As Range)
  
  Dim myR As Range
  Dim endR As Range
  Dim fndR As Range
  
  On Error Resume Next
  
  If Target.Column <> 1 Then Exit Sub

  If Target.Value <> "" Then Target.Resize(1, 3).Interior.ColorIndex = 3

  With Sheets("sheet2")
  
    Set endR = .Range("a65536").End(xlUp)
  
    Set fndR = .Range(.Range("a1"), endR).Find(Target.Value, , , xlWhole)
  
    If Not fndR Is Nothing Then Exit Sub
  
    If endR = "" Then
      endR.Value = Target.Value
    Else
      endR.Offset(1).Value = Target.Value
    End If
  
  End With
  
End Sub

11758 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free