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

質問編集履歴

2

コード・配列の内容について記載

2019/11/27 16:07

投稿

8787
8787

スコア5

title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,71 @@
9
9
  どのようにコーディングすべきでしょうか?
10
10
 
11
11
  if文で条件分岐を行うなど色々トライしてみたのですが、
12
- うまく動かず苦戦しております。
12
+ うまく動かず苦戦しております。コードは以下の通りです。
13
13
 
14
+ 方針は
15
+ 0. myArray()にてn行×4列の配列を作成
16
+ 0. まずは項目名がAの場合のみのn行×4列の配列を作成
17
+ 0. 2.にて生成した配列の中から「長さ」・「深さ」のデータだけのn行×1列の配列作成
18
+ 0. 3.の中で最大となる行番号とデータを取得する
19
+ を考えておりました。
20
+
21
+ - myArray(n)の中身は以下の通りです
22
+ myArray(n)
23
+ L myArray(n,1)
24
+ L myArray(n,2)
25
+ L myArray(n,3)
26
+ L myArray(n,4)
27
+
28
+ ex)
29
+ myArray(1)
30
+ L myArray(1,1)=A
31
+ L myArray(1,2)=n1
32
+ L myArray(1,3)=66
33
+ L myArray(1,4)=91
34
+ といった具合です。
35
+
36
+ - コードは以下の通りです。
37
+ ```VBA
38
+ 'Rangeの定義
39
+ Dim myRange As Range
40
+ Set myRange = Range("A1:An","D1:Dn")
41
+
42
+ '配列myArrayを生成
43
+ Dim myArray As Variant
44
+ myArray = myRange
45
+
46
+ '配列を定義
47
+ Dim Array_A_len_pre() As Variant
48
+ Dim Array_A_len() As Variant
49
+
50
+ 'ループ変数
51
+ Dim i As Long
52
+
53
+ 'if文で格納する
54
+ For i = 1 To n
55
+  If myArray(i, 1) = "A" Then
56
+     '長さののみの配列を生成
57
+   ReDim Preserve Array_A_len_pre(i)
58
+   Array_A_len_pre(i) = myArray(i, 4)
59
+
60
+    'ループ変数
61
+   Dim j As Long
62
+
63
+   'Array_A_len_pre()のempty値を除去し配列を再生成
64
+   For j = 0 To n
65
+    If Array_A_len_pre(j) <> "" Then
66
+    ReDim Preserve Array_A_len(j)
67
+    Array_A_len(j) = Array_A_len_pre(i)
68
+    End If
69
+   Next
70
+     ========================以下質問内容です===================
71
+
72
+
73
+  End If
74
+ Next
75
+ ```
76
+
77
+
14
- ご教示いただけますでしょうか…
78
+ ご教示いただけますと幸い
15
79
  よろしくお願いいたします。

1

誤字を訂正しました

2019/11/27 16:07

投稿

8787
8787

スコア5

title CHANGED
File without changes
body CHANGED
@@ -11,4 +11,5 @@
11
11
  if文で条件分岐を行うなど色々トライしてみたのですが、
12
12
  うまく動かず苦戦しております。
13
13
 
14
+ ご教示いただけますでしょうか…。
14
- ご教授よろしくお願いいたします。
15
+ よろしくお願いいたします。