質問編集履歴
2
コード・配列の内容について記載
    
        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
誤字を訂正しました
    
        title	
    CHANGED
    
    | 
         
            File without changes
         
     | 
    
        body	
    CHANGED
    
    | 
         @@ -11,4 +11,5 @@ 
     | 
|
| 
       11 
11 
     | 
    
         
             
            if文で条件分岐を行うなど色々トライしてみたのですが、
         
     | 
| 
       12 
12 
     | 
    
         
             
            うまく動かず苦戦しております。
         
     | 
| 
       13 
13 
     | 
    
         | 
| 
      
 14 
     | 
    
         
            +
            ご教示いただけますでしょうか…。
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
      
 15 
     | 
    
         
            +
            よろしくお願いいたします。
         
     |