VBAでセルを選択したら、カウントアップしたい 自分で書いたコード Private Sub Worksheet_SelectionChange(ByVal Target As Range)
VBAでセルを選択したら、カウントアップしたい 自分で書いたコード Private Sub Worksheet_SelectionChange(ByVal Target As Range) Dim maxR As Long, maxC As Long, AR As Long, AC As Long AR = ActiveCell.row AC = ActiveCell.Column maxR = Cells(Rows.Count, "A").End(xlUp).row maxC = Cells(1, Columns.Count).End(xlToLeft).Column Target = Range(Cells(3, 3), Cells(maxR, maxC)) If Not (Target.row >= 3 And Target.row <= maxR And Target.Column >= 3 And Target.Column <= maxC) Then End i = 3 If (AR = 3 And ActiveCell.Offset(-1, -i + 3) = "") Then ActiveCell.Offset(-1, -i + 3) = 1 Else ActiveCell.Offset(-1, -i + 3) = ActiveCell.Offset(-1, -i + 3).Value + 1 i = i + 1 End If End Sub https://gyazo.com/2c002d61d9df58ea68c4986cefc8d6b3 セルを選択したら、カウントするというコードを書きたいです。 範囲は、Range("C3:O17)までです。 例えば、cells(4,4)をクリックすると、 cells(4,2)が空白だったら、1 空白でなかったら、cells(4,2)の値に1を加えるというものです。(赤色の範囲) cells(2,4)が空白だったら、1 空白でなかったら、cells(2,4)の値に1を加えるというものです。(黄色の範囲) cells(6,5)をクリックすると、 cells(6,2)が空白だったら、1 空白でなかったら、cells(6,2)の値に1を加えるというものです。(赤色の範囲) cells(2,5)が空白だったら、1 空白でなかったら、cells(2,5)の値に1を加えるというものです。(黄色の範囲) index関数の反対を表現しようと、色々考えたのですが、提示したコードが限界でした。 ループでやってもうまくできませんでした。 お手数ですが、ご教示をお願いします。
Visual Basic | Excel・19閲覧