質問編集履歴
4
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -23,7 +23,7 @@
|
|
23
23
|
Dim i as Integer
|
24
24
|
Dim ResultValue As Long, Num As Long
|
25
25
|
Dim Rng As Variant
|
26
|
-
Set SearchRange = Range("A2:
|
26
|
+
Set SearchRange = Range("A2:A100") '探す符号の範囲
|
27
27
|
|
28
28
|
With Target
|
29
29
|
If Target.Count > 1 Then Exit Sub
|
3
質問内容の編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
|
-

|
3
3
|
毎度お世話になっています。個数を反映した符号リストを作っているものです。
|
4
4
|
|
5
5
|
符号のある列をキーとした並び替えのコードを作成しているのですが、
|
@@ -20,6 +20,7 @@
|
|
20
20
|
Dim ResultRange As Range
|
21
21
|
Dim KeyItem As String
|
22
22
|
Dim ResultNumber As String
|
23
|
+
Dim i as Integer
|
23
24
|
Dim ResultValue As Long, Num As Long
|
24
25
|
Dim Rng As Variant
|
25
26
|
Set SearchRange = Range("A2:A1000") '探す符号の範囲
|
2
質問内容の編集
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,11 +1,15 @@
|
|
1
1
|
### 前提・実現したいこと
|
2
|
-

|
3
3
|
毎度お世話になっています。個数を反映した符号リストを作っているものです。
|
4
|
+
|
4
5
|
符号のある列をキーとした並び替えのコードを作成しているのですが、
|
6
|
+
その際、一定数を超えた番号セル列に対し結合を行っているので結合セルも同時に並び替えるために
|
7
|
+
「自分より1つ前の相手符号のほうが大きければ並び替える」という条件の処理で
|
5
|
-
|
8
|
+
一度結合セルを解除してから並び替え、行セルを挿入してもう一度結合する方法をとりました。
|
6
|
-
|
9
|
+
|
7
|
-
結合が解除されたまま並び替えら
|
10
|
+
しかしどの符号よりも値が小さい符号が入力されると結合が解除されたまま並び替えられた状態になるなど、うまく働きません。
|
8
|
-
|
11
|
+
再結合させるFor文が自分の入力したセルにしか働かないのが原因なのですが、それ以外のセルをどう指定すればよいのか、
|
12
|
+
どのように処理すればよいのかが分かりません
|
9
13
|
詳しい方、お時間があればどうかご教授お願いします。
|
10
14
|
|
11
15
|
### 該当のソースコード
|
@@ -21,7 +25,6 @@
|
|
21
25
|
Set SearchRange = Range("A2:A1000") '探す符号の範囲
|
22
26
|
|
23
27
|
With Target
|
24
|
-
|
25
28
|
If Target.Count > 1 Then Exit Sub
|
26
29
|
If .Column = 4 And .Row >= 2 And .Value <> "" Then 'D列2行目をクリックしたときに以下のマクロが動く
|
27
30
|
|
1
誤字
title
CHANGED
File without changes
|
body
CHANGED
@@ -36,7 +36,7 @@
|
|
36
36
|
|
37
37
|
If Rng = KeyItem And Rng.Row <> Target.Row Then 'RngがKeyItemのセル中身と一致し、異なる行を選んだ
|
38
38
|
|
39
|
-
ResultNumber = Rng.Offset(0, 3) & "," & Target.Value '
|
39
|
+
ResultNumber = Rng.Offset(0, 3) & "," & Target.Value '番号を入れる
|
40
40
|
ResultValue = Rng.Offset(0, 2) + Target.Offset(0, -1).Value '個数を足す
|
41
41
|
Rng.Offset(0, 2) = ResultValue
|
42
42
|
Rng.Offset(0, 3) = ResultNumber
|