トップ回答者
VBAにおける変数の定義について

質問
回答
-
とりあえず簡単なイメージですと、以下のような感じでしょうか?
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 4 And Target.Column = 5 Then If Cells(Target.Row, Target.Column).Value <> "" Then Cells(Target.Row - 4, 1).EntireRow.Hidden = True Else Cells(Target.Row - 4, 1).EntireRow.Hidden = False End If End If End Sub
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 編集済み trapemiyaModerator 2016年9月3日 6:26 コード修正
- 回答としてマーク VBAにおける変数の定義について 2016年9月4日 2:58
-
こんなのはだめでしょうか?
Sub test()
Dim x As Long
x = Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & x + 1).Value = InputBox("新しい日付")
Rows(x - 4).EntireRow.Hidden = True
End Sub-----------------
Changeイベントマクロをお望みなら
Sheet1にデータがあるならALTキーを押したままF11キーを押してVBE画面を出す。
VBE画面の左側にあるVBAProjectの下方のSheet1をダブルクリックして右側のOption Explicitの下に下記マクロを貼り付ける。
Sheet1に戻って6行目に新しい日付を入れる。Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 5 And Target.Column = 1 Then
If Target.Offset(-1).Value = "" Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Exit Sub
Else
Rows(Target.Row - 5).EntireRow.Hidden = True
End If
End If
End Sub- 編集済み TETUO 2016年9月3日 12:43
- 回答としてマーク VBAにおける変数の定義について 2016年9月4日 2:19
-
以下が参考になると思います。以下ではMacro1という標準モジュールに記述していますが、Worksheet_Changeはそこではなく、ワークシートのマクロに記述して下さい。例えば、Sheet1などのマクロに記述します。
プログラムを書き始めるまでの準備
http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/vba2013/01-intro01.html#before★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク VBAにおける変数の定義について 2016年9月4日 2:31
すべての返信
-
Excelの話で良いのでしょうか? もし、そうだとすれば、Excelのバージョンも教えて下さい。
また、ご質問の意味もはっきりわかりません。入力した値が最終行に入力され、その最終行から5行上までの5つの行を非表示にするのでしょうか? それとも、最終行の1つ上の行から5行上までの5つの行を非表示にするということでしょうか?
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 編集済み trapemiyaModerator 2016年9月1日 1:52 誤字修正
-
とりあえず簡単なイメージですと、以下のような感じでしょうか?
Private Sub Worksheet_Change(ByVal Target As Range) If Target.Row > 4 And Target.Column = 5 Then If Cells(Target.Row, Target.Column).Value <> "" Then Cells(Target.Row - 4, 1).EntireRow.Hidden = True Else Cells(Target.Row - 4, 1).EntireRow.Hidden = False End If End If End Sub
★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 編集済み trapemiyaModerator 2016年9月3日 6:26 コード修正
- 回答としてマーク VBAにおける変数の定義について 2016年9月4日 2:58
-
こんなのはだめでしょうか?
Sub test()
Dim x As Long
x = Cells(Rows.Count, 1).End(xlUp).Row
Range("A" & x + 1).Value = InputBox("新しい日付")
Rows(x - 4).EntireRow.Hidden = True
End Sub-----------------
Changeイベントマクロをお望みなら
Sheet1にデータがあるならALTキーを押したままF11キーを押してVBE画面を出す。
VBE画面の左側にあるVBAProjectの下方のSheet1をダブルクリックして右側のOption Explicitの下に下記マクロを貼り付ける。
Sheet1に戻って6行目に新しい日付を入れる。Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 5 And Target.Column = 1 Then
If Target.Offset(-1).Value = "" Then
Application.EnableEvents = False
Target.Value = ""
Application.EnableEvents = True
Exit Sub
Else
Rows(Target.Row - 5).EntireRow.Hidden = True
End If
End If
End Sub- 編集済み TETUO 2016年9月3日 12:43
- 回答としてマーク VBAにおける変数の定義について 2016年9月4日 2:19
-
以下が参考になると思います。以下ではMacro1という標準モジュールに記述していますが、Worksheet_Changeはそこではなく、ワークシートのマクロに記述して下さい。例えば、Sheet1などのマクロに記述します。
プログラムを書き始めるまでの準備
http://brain.cc.kogakuin.ac.jp/~kanamaru/lecture/vba2013/01-intro01.html#before★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
- 回答としてマーク VBAにおける変数の定義について 2016年9月4日 2:31