回答編集履歴
1
質問を誤解していたので修正
test
CHANGED
@@ -1,19 +1,22 @@
|
|
1
|
+
# 質問を誤解していたので修正
|
1
2
|
```VBA
|
2
3
|
a = セルの値
|
3
4
|
b = ""
|
4
5
|
Do While a <> b
|
5
6
|
b = a
|
6
|
-
a = Replace(b, vbLf + vbLf, vbLf)
|
7
|
+
a = Replace(b, vbLf + vbLf + vbLf, vbLf+ vbLf)
|
7
8
|
Loop
|
9
|
+
Buf = Split(a, vbLf & vbLf)
|
8
10
|
```
|
9
|
-
で、
|
11
|
+
で、3つ以上の改行が2つになるので、それから改行2つで`split`します。
|
12
|
+
|
10
13
|
あるいは、正規表現の置換を使うか。
|
11
14
|
```VBA
|
12
15
|
a = セルの値
|
13
16
|
Set RE = CreateObject("VBScript.RegExp")
|
14
|
-
RE.Pattern = vbLf & "
|
17
|
+
RE.Pattern = vbLf & "{3,}"
|
15
18
|
RE.Global = True
|
16
|
-
|
19
|
+
Buf = Split(RE.Replace(a, vbLf+vbLf), vbLf & vbLf)
|
17
20
|
```
|
18
21
|
vbLFの連続だけでなく、途中に空白だけの行があり、それもまとめたい場合は同様の方法で出来るかと思います。
|
19
22
|
|