お疲れ様です。
配列格納時に重複チェックを行いデータ格納を行うか、行わないかの判断をしたいです。
下記エクセルのシートがあるとします。
A列,B列,C列,D列,E列,F列,G列,H列
――――――――――――――
性別,頭,鼻,耳,目,手,口,足
男A-○,○,○,○,,,○,○
男B-○,○,○,,,○,○,○
男C-○,○,○,,,○,○,○
男D-,○,○,,,○,○,○
女A-○,,,,,,○,○
女B-○,,,,,○,○,○
女C-○,,,,,○,○,○
女D-○,,,,,○,○,○
上記のデータを男、女でまとめ、それぞれ○がついているところのORをした結果のヘッダを格納したいです。
たとえば男の場合は、B列~H列では
○,○,○,,○,○,○となるので、
配列に「頭、鼻、耳、手、口、足」を男として格納し、下記になるよう格納
VBA
1Dim Hoge(1,7) As String 2Hoge(0,0) = "男" 3Hoge(0,1) = "頭" 4Hoge(0,2) = "鼻" 5Hoge(0,3) = "耳" 6Hoge(0,4) = "手" 7Hoge(0,5) = "口" 8Hoge(0,6) = "足" 9Hoge(0,7) = ""
女性の場合は
VBA
1Hoge(1,0) = "女" 2Hoge(1,1) = "頭" 3Hoge(1,2) = "手" 4Hoge(1,3) = "口" 5Hoge(1,4) = "足" 6Hoge(1,5) = "" 7Hoge(1,6) = "" 8Hoge(1,7) = "" 9
となるように格納します。
この時の条件として、下記のような実装をしているのですが、
コメントに記載されているような、重複データが格納されてしまうので、どのように回避すべきか悩んでおります。
VBA
1Dim i As Integer 2Dim j As Integer 3For i = 1 To 8 4 For J = 1 To 8 5 If Cells(i + 1,j + 1) = "○" Then 6 '配列格納処理を入れたいが、上の条件文だと、○が男A、男Bで被った場合、”頭”が二つ格納されてしまう。 7 End If 8 NEXT 9NEXT 10If Cells()
よろしくお願いいたします。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。