teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

コード追記

2017/01/04 01:27

投稿

ynakano
ynakano

スコア1894

answer CHANGED
@@ -1,9 +1,33 @@
1
1
  一つ一つ空白を探すのではなく「置換」を使うのがよいと思います。
2
2
  範囲を選択して
3
+ ```
3
- ```Selection.Replace What:="", Replacement:="-"```
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
+ ```