Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


4872 / 76735 ←次へ | 前へ→

【77478】Re:数値がプラスマイナスのとき、データ増やす
発言  β  - 15/10/15(木) 20:13 -

引用なし
パスワード
   ▼みか さん:

もう少しコードを整理して、ループによるコード圧縮もできますがとりあえず。

Sub Test()
  Dim wX As Variant
  Dim wY As Variant
  Dim wZ As Variant
  Dim dX As Variant
  Dim dY As Variant
  Dim dZ As Variant
  Dim v As Variant
  Dim n As Variant
  Dim x As Long
  
  ReDim v(1 To 2 * 2 * 2, 1 To 3)
  
  n = Range("X1").Value
  If Left(n, 1) = "±" Then
    ReDim wX(1 To 2)
    wX(1) = Mid(n, 2)
    wX(2) = Mid(n, 2) * -1
  Else
    ReDim wX(1 To 1)
    wX(1) = n
  End If
  
  n = Range("Y1").Value
  If Left(n, 1) = "±" Then
    ReDim wY(1 To 2)
    wY(1) = Mid(n, 2)
    wY(2) = Mid(n, 2) * -1
  Else
    ReDim wY(1 To 1)
    wY(1) = n
  End If
  
  n = Range("Z1").Value
  If Left(n, 1) = "±" Then
    ReDim wZ(1 To 2)
    wZ(1) = Mid(n, 2)
    wZ(2) = Mid(n, 2) * -1
  Else
    ReDim wZ(1 To 1)
    wZ(1) = n
  End If
  
  For Each dX In wX
    For Each dY In wY
      For Each dZ In wZ
        x = x + 1
        v(x, 1) = dX
        v(x, 2) = dY
        v(x, 3) = dZ
      Next
    Next
  Next
  
  Range("X1").Resize(UBound(v, 1), 3).Value = v
  
End Sub

0 hits

【77477】数値がプラスマイナスのとき、データ増やす みか 15/10/15(木) 19:42 質問[未読]
【77478】Re:数値がプラスマイナスのとき、データ増... β 15/10/15(木) 20:13 発言[未読]
【77485】Re:数値がプラスマイナスのとき、データ増... みか 15/10/16(金) 8:47 質問[未読]
【77486】Re:数値がプラスマイナスのとき、データ増... みか 15/10/16(金) 12:40 お礼[未読]
【77489】Re:数値がプラスマイナスのとき、データ増... β 15/10/16(金) 14:00 発言[未読]
【77493】Re:数値がプラスマイナスのとき、データ増... みか 15/10/16(金) 16:10 お礼[未読]

4872 / 76735 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free