回答編集履歴
1
テーブルとして書式設定するかを選択可能に変更
answer
CHANGED
@@ -22,6 +22,8 @@
|
|
22
22
|
Const sortOrder = "Z,WX,ST,UV,Y"
|
23
23
|
'テーブル名
|
24
24
|
Const tableName = "データテーブル"
|
25
|
+
'テーブルとして書式設定するか
|
26
|
+
Const listFlag = False
|
25
27
|
|
26
28
|
'左端列格納配列
|
27
29
|
Dim iDArray() As Variant
|
@@ -109,33 +111,48 @@
|
|
109
111
|
|
110
112
|
Next
|
111
113
|
|
112
|
-
'
|
114
|
+
'リスト削除用
|
113
|
-
If Range(outputListStartPosition).Row > 1 Then
|
114
|
-
Range(Me.Range(outputListStartPosition).Offset(-1), Me.Range(outputListStartPosition).Offset(-1, pasteColumnShift + WEIGHTcolShift)) _
|
115
|
-
= Split("ID,TYPE,NUMBER,DATA,WEIGHT", ",")
|
116
|
-
End If
|
117
115
|
Dim delList As Variant
|
116
|
+
'リスト化
|
117
|
+
If listFlag Then
|
118
|
+
'(見出し,セル幅設定)(テーブル化)
|
119
|
+
If Range(outputListStartPosition).Row > 1 Then
|
120
|
+
Range(Me.Range(outputListStartPosition).Offset(-1), Me.Range(outputListStartPosition).Offset(-1, pasteColumnShift + WEIGHTcolShift)) _
|
121
|
+
= Split("ID,TYPE,NUMBER,DATA,WEIGHT", ",")
|
118
|
-
|
122
|
+
For Each delList In Me.ListObjects
|
119
|
-
|
123
|
+
If delList.Name = tableName Then
|
120
|
-
|
124
|
+
delList.Unlist
|
125
|
+
End If
|
126
|
+
Next
|
127
|
+
'テーブル化
|
128
|
+
Range(Me.Range(outputListStartPosition).Offset(-1), outputListLastPosition).ClearFormats
|
129
|
+
ListObjects.Add( _
|
130
|
+
xlSrcRange, _
|
131
|
+
Range(Me.Range(outputListStartPosition).Offset(-1), outputListLastPosition), , _
|
132
|
+
, xlYes, "TableStyleMedium1").Name = tableName
|
133
|
+
|
134
|
+
'ソート
|
135
|
+
Range(tableName).Sort , _
|
136
|
+
key1:=Me.Range(outputListStartPosition).Offset(, pasteColumnShift + WEIGHTcolShift), order1:=xlAscending, _
|
137
|
+
key2:=Me.Range(outputListStartPosition).Offset(, NUMcol), order2:=xlAscending, _
|
138
|
+
Header:=xlYes
|
121
139
|
End If
|
140
|
+
|
141
|
+
'リスト化しない
|
122
|
-
|
142
|
+
Else
|
123
|
-
|
143
|
+
'ソート
|
124
|
-
Range(Me.Range(outputListStartPosition).Offset(-1), outputListLastPosition).ClearFormats
|
125
|
-
ListObjects.Add( _
|
126
|
-
xlSrcRange, _
|
127
|
-
|
144
|
+
Range(Me.Range(outputListStartPosition), outputListLastPosition).Sort , _
|
145
|
+
key1:=Me.Range(outputListStartPosition).Offset(, pasteColumnShift + WEIGHTcolShift), order1:=xlAscending, _
|
128
|
-
|
146
|
+
key2:=Me.Range(outputListStartPosition).Offset(, NUMcol), order2:=xlAscending, _
|
147
|
+
Header:=xlNo
|
148
|
+
End If
|
129
149
|
|
130
|
-
'ソート
|
131
|
-
Range(tableName).Sort , _
|
132
|
-
key1:=Me.Range(outputListStartPosition).Offset(, pasteColumnShift + WEIGHTcolShift), order1:=xlAscending, _
|
133
|
-
key2:=Me.Range(outputListStartPosition).Offset(, NUMcol), order2:=xlAscending, _
|
134
|
-
Header:=xlYes
|
135
|
-
|
136
150
|
End Sub
|
137
151
|
|
138
152
|
```
|
139
153
|
|
140
154
|
実行後イメージは下記のとおりです。
|
155
|
+
・listFlag = True
|
141
|
-

|
156
|
+

|
157
|
+
・listFlag = False
|
158
|
+

|