回答編集履歴
1
コード追記
answer
CHANGED
@@ -1,9 +1,33 @@
|
|
1
1
|
一つ一つ空白を探すのではなく「置換」を使うのがよいと思います。
|
2
2
|
範囲を選択して
|
3
|
+
```
|
3
|
-
|
4
|
+
Selection.Replace What:="", Replacement:="-"
|
5
|
+
```
|
4
6
|
でOKかと。
|
5
7
|
|
6
8
|
また、セル範囲可変は以下で入力済セルの最終行を取得できます。
|
7
9
|
Cells(Rows.Count, "A").End(xlUp).Row
|
8
10
|
これを変数で受ければOKです。
|
9
|
-
※上記はA列の末尾を探す記述になっています。
|
11
|
+
※上記はA列の末尾を探す記述になっています。
|
12
|
+
|
13
|
+
追記
|
14
|
+
---
|
15
|
+
左側のかたまりの部分についてコードを書いてみました。
|
16
|
+
ちょっと泥臭い書き方で、かつ一部決め打ちの部分があります。
|
17
|
+
```
|
18
|
+
Sub test()
|
19
|
+
Dim curMax As Integer
|
20
|
+
Dim totalMax As Integer
|
21
|
+
Dim myArray1() As Variant
|
22
|
+
|
23
|
+
myArray1 = Array("C", "D", "E")
|
24
|
+
|
25
|
+
For Each TG In myArray1
|
26
|
+
curMax = Cells(Rows.Count, TG).End(xlUp).Row
|
27
|
+
|
28
|
+
If (curMax > totalMax) Then totalMax = curMax
|
29
|
+
Next
|
30
|
+
|
31
|
+
Range("C3:E" & totalMax).Replace What:="", Replacement:="-"
|
32
|
+
End Sub
|
33
|
+
```
|