回答編集履歴

4

編集

2019/07/30 05:21

投稿

beginner_t
beginner_t

スコア716

test CHANGED
@@ -59,3 +59,61 @@
59
59
  ただし、1行目にも空欄が入る可能性があるなら手順は変わります。
60
60
 
61
61
  また、表の開始が1列目でない場合も手順が少し変わります。
62
+
63
+
64
+
65
+ 全体
66
+
67
+ ```vba
68
+
69
+ Sub select_cell()
70
+
71
+
72
+
73
+
74
+
75
+ Dim max_row As Long: max_row = 0
76
+
77
+ Dim roop As Long
78
+
79
+ Dim max_column As Long
80
+
81
+ Dim max_num As Long: max_num = 0
82
+
83
+
84
+
85
+ '表が1列目から始まっていて見出しに空白がないのが前提
86
+
87
+ max_column = Sheets("Sheet1").Range("A1").End(xlToRight).Column
88
+
89
+
90
+
91
+
92
+
93
+ For roop = 1 To max_column
94
+
95
+ max_row = Sheets("Sheet1").Cells(Rows.Count, roop).End(xlUp).Row
96
+
97
+ If max_num < max_row Then
98
+
99
+ max_num = max_row
100
+
101
+ Else
102
+
103
+ End If
104
+
105
+ Next roop
106
+
107
+
108
+
109
+ Range(Sheets("Sheet1").Cells(2, 1), Sheets("Sheet1").Cells(max_num, max_column)).Select
110
+
111
+
112
+
113
+
114
+
115
+ End Sub
116
+
117
+
118
+
119
+ ```

3

修正

2019/07/30 05:20

投稿

beginner_t
beginner_t

スコア716

test CHANGED
@@ -4,15 +4,51 @@
4
4
 
5
5
 
6
6
 
7
- 1. 1行目の一番右が何列目かを取得
7
+ 手順11行目の一番右が何列目かを取得
8
8
 
9
- 2. 手順1で取得した列数分forで最大行を取得
9
+ ```vba
10
10
 
11
- 3. 手順2のforの中で各列の最大行を比較して大きいものを変数に入れる。
11
+ max_column = Sheets("Sheet1").Range("A1").End(xlToRight).Column
12
12
 
13
- 4. 手順3までで選択する範囲がわかるのでselectで範囲を指定
13
+ ```
14
14
 
15
15
 
16
+
17
+ 手順2:手順1で取得した列数分forで最大行を取得
18
+
19
+ ```vba
20
+
21
+ For roop = 1 To max_column
22
+
23
+ max_row = Sheets("Sheet1").Cells(Rows.Count, roop).End(xlUp).Row
24
+
25
+ next roop
26
+
27
+ ```
28
+
29
+ 手順3:手順2のforの中で各列の最大行を比較して大きいものを変数に入れる。
30
+
31
+ ```vba
32
+
33
+ max_num = 0
34
+
35
+ If max_num < max_row Then
36
+
37
+ max_num = max_row
38
+
39
+ Else
40
+
41
+ End If
42
+
43
+ ```
44
+
45
+ 手順4:手順3までで選択する範囲がわかるのでselectで範囲を指定
46
+
47
+ ```vba
48
+
49
+ Range(Cells(2, 1), Cells(max_num, max_column)).Select
50
+
51
+ ```
16
52
 
17
53
  ざっくりこのような手順でできます。
18
54
 

2

修正

2019/07/30 05:16

投稿

beginner_t
beginner_t

スコア716

test CHANGED
@@ -21,3 +21,5 @@
21
21
 
22
22
 
23
23
  ただし、1行目にも空欄が入る可能性があるなら手順は変わります。
24
+
25
+ また、表の開始が1列目でない場合も手順が少し変わります。

1

修正

2019/07/30 05:08

投稿

beginner_t
beginner_t

スコア716

test CHANGED
@@ -20,4 +20,4 @@
20
20
 
21
21
 
22
22
 
23
- し、1行目にも空欄が入る可能性があるなら手順は変わります。
23
+ ただし、1行目にも空欄が入る可能性があるなら手順は変わります。