回答編集履歴

4

編集

2019/07/30 05:21

投稿

beginner_t
beginner_t

スコア716

answer CHANGED
@@ -28,4 +28,33 @@
28
28
  表の列が増えても行が増えても対応できます。
29
29
 
30
30
  ただし、1行目にも空欄が入る可能性があるなら手順は変わります。
31
- また、表の開始が1列目でない場合も手順が少し変わります。
31
+ また、表の開始が1列目でない場合も手順が少し変わります。
32
+
33
+ 全体
34
+ ```vba
35
+ Sub select_cell()
36
+
37
+
38
+ Dim max_row As Long: max_row = 0
39
+ Dim roop As Long
40
+ Dim max_column As Long
41
+ Dim max_num As Long: max_num = 0
42
+
43
+ '表が1列目から始まっていて見出しに空白がないのが前提
44
+ max_column = Sheets("Sheet1").Range("A1").End(xlToRight).Column
45
+
46
+
47
+ For roop = 1 To max_column
48
+ max_row = Sheets("Sheet1").Cells(Rows.Count, roop).End(xlUp).Row
49
+ If max_num < max_row Then
50
+ max_num = max_row
51
+ Else
52
+ End If
53
+ Next roop
54
+
55
+ Range(Sheets("Sheet1").Cells(2, 1), Sheets("Sheet1").Cells(max_num, max_column)).Select
56
+
57
+
58
+ End Sub
59
+
60
+ ```

3

修正

2019/07/30 05:20

投稿

beginner_t
beginner_t

スコア716

answer CHANGED
@@ -1,11 +1,29 @@
1
1
  手順としては
2
2
  1行目は見出しで空白がないと前提するならば
3
3
 
4
- 1. 1行目の一番右が何列目かを取得
4
+ 手順11行目の一番右が何列目かを取得
5
- 2. 手順1で取得した列数分forで最大行を取得
5
+ ```vba
6
- 3. 手順2のforの中で各列の最大行を比較して大きいものを変数に入れる。
6
+ max_column = Sheets("Sheet1").Range("A1").End(xlToRight).Column
7
- 4. 手順3までで選択する範囲がわかるのでselectで範囲を指定
7
+ ```
8
8
 
9
+ 手順2:手順1で取得した列数分forで最大行を取得
10
+ ```vba
11
+ For roop = 1 To max_column
12
+ max_row = Sheets("Sheet1").Cells(Rows.Count, roop).End(xlUp).Row
13
+ next roop
14
+ ```
15
+ 手順3:手順2のforの中で各列の最大行を比較して大きいものを変数に入れる。
16
+ ```vba
17
+ max_num = 0
18
+ If max_num < max_row Then
19
+ max_num = max_row
20
+ Else
21
+ End If
22
+ ```
23
+ 手順4:手順3までで選択する範囲がわかるのでselectで範囲を指定
24
+ ```vba
25
+ Range(Cells(2, 1), Cells(max_num, max_column)).Select
26
+ ```
9
27
  ざっくりこのような手順でできます。
10
28
  表の列が増えても行が増えても対応できます。
11
29
 

2

修正

2019/07/30 05:16

投稿

beginner_t
beginner_t

スコア716

answer CHANGED
@@ -9,4 +9,5 @@
9
9
  ざっくりこのような手順でできます。
10
10
  表の列が増えても行が増えても対応できます。
11
11
 
12
- ただし、1行目にも空欄が入る可能性があるなら手順は変わります。
12
+ ただし、1行目にも空欄が入る可能性があるなら手順は変わります。
13
+ また、表の開始が1列目でない場合も手順が少し変わります。

1

修正

2019/07/30 05:08

投稿

beginner_t
beginner_t

スコア716

answer CHANGED
@@ -9,4 +9,4 @@
9
9
  ざっくりこのような手順でできます。
10
10
  表の列が増えても行が増えても対応できます。
11
11
 
12
- し、1行目にも空欄が入る可能性があるなら手順は変わります。
12
+ ただし、1行目にも空欄が入る可能性があるなら手順は変わります。