Excel VBA質問箱 IV

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

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


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

【31414】Workbook_SheetActivateについて ぽんかん 05/11/19(土) 15:22 質問[未読]
【31416】Re:Workbook_SheetActivateについて Kein 05/11/19(土) 16:13 回答[未読]

【31414】Workbook_SheetActivateについて
質問  ぽんかん  - 05/11/19(土) 15:22 -

引用なし
パスワード
   SheetActivateを使い
二列目六行以下に"AA"があれば、
七列目の同じ行にその「行数」を入れたいのですが、
反応がありません。
コードのどこが問題なのかご指摘ください。
Worksheet_Changeではこのコードで上手く動くのですが…
また、この種のコートのチェックの仕方(標準のモジュールの
F8のような)が有りましたら、教えてください。

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim i As Long
  With Target
   If .Column = 2 Then
     For i = 6 To .Row
      If .Value = "AA" Then
       .Offset(0, 5).Value = .Row()
         ElseIf .Value <> "AA" Then  
         .Offset(0, 5).Value = ""
       Exit For
      End If
     Next
   End If
  End With
End Sub


      

【31416】Re:Workbook_SheetActivateについて
回答  Kein  - 05/11/19(土) 16:13 -

引用なし
パスワード
   >二列目六行以下に"AA"があれば、
>七列目の同じ行にその「行数」を入れたい

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
  Range("AB:AB").ClearContents
  On Error Resume Next
  With Range("B6", Range("B65536").End(xlUp)).Offset(, 26)
   .Formula = "=IF($B6=""AA"",1,"""")"
   With Intersect(.SpecialCells(3, 1).EntireRow, Range("G:G"))
     .Formula = "=ROW()"
     .Value = .Value
   End With
   .ClearContents
  End With
  Range("A1").Activate
End Sub

で、どうでしょーか ?

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