- ベストアンサー
Excel2007で必要でないデータを可視化する方法
- Excel2007で必要でないデータを可視化する方法について質問させて頂きます。
- セルU3~AF3には記号として扱われるアイウエオカキクケコ、または空白が入ります。
- セルAH3から始まり、余った記号を右に向かって各セルに1つずつ入れていきます。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
>.borders.LineStyle = xlContinuousの所が黄色くなります。 何故かWith ステートメントを使うとエラーが出るのですね? Sub Test4() Dim n As Long, Spoint As Range, i As Long Set Spoint = Cells(Rows.Count, "AH").End(xlUp).Offset(1) If Spoint.Row < 3 Then Set Spoint = Range("AH3") For n = 0 To 9 If IsError(Application.Match(n, Range("U3:AF3"), 0)) = True Then Spoint.Offset(, i).Value = n Spoint.Offset(, i).Borders.LineStyle = xlContinuous Spoint.Offset(, i).HorizontalAlignment = xlCenter i = i + 1 End If Next End Sub
その他の回答 (6)
- watabe007
- ベストアンサー率62% (476/760)
>これに格子とセンター揃えにしたいですが何処・・・ Sub Test3() Dim n As Long, Spoint As Range, i As Long Set Spoint = Cells(Rows.Count, "AH").End(xlUp).Offset(1) If Spoint.Row < 3 Then Set Spoint = Range("AH3") For n = 0 To 9 If IsError(Application.Match(n, Range("U3:AF3"), 0)) = True Then With Spoint.Offset(, i) .Value = n .Borders.LineStyle = xlContinuous .HorizontalAlignment = xlCenter End With i = i + 1 End If Next End Sub
お礼
こんばんはwatabe007さん。大分日にちが過ぎてしまいました。やっとスマホに変えてぎこちなく返事を書いてます。作って頂いたソースを試したのですが実行時エラー424となりオブジェクトが必要ですとなり .borders.LineStyle = xlContinuousの所が黄色くなります。またヘルプをお願い致します。
- watabe007
- ベストアンサー率62% (476/760)
>このカタカナ記号を数字記号の1、2、3、4、5、6、7、8、9、0に >変えたいんですがどこを変えればよろしいでしょうか? Sub Test2() Dim n As Long, Spoint As Range, i As Long Set Spoint = Cells(Rows.Count, "AH").End(xlUp).Offset(1) If Spoint.Row < 3 Then Set Spoint = Range("AH3") For n = 0 To 9 If IsError(Application.Match(n, Range("U3:AF3"), 0)) = True Then Spoint.Offset(, i).Value = n i = i + 1 End If Next End Sub
お礼
できましたー!!!! これに格子とセンター揃えにしたいですが何処にどのようにしたらよろしいでしょうか?
- watabe007
- ベストアンサー率62% (476/760)
- mt2015
- ベストアンサー率49% (258/524)
ANo.1 です。 色々読み違えていました。 記号を入れるのはAH3からでしたね。 また、履歴が必要なのですね。 マクロで作り直す必要が有りますので、先の回答は無視してください。
お礼
mt2015さん、ありがとうございます。
- watabe007
- ベストアンサー率62% (476/760)
参考に Sub Test() Dim myArr As Variant, myStr As Variant, i As Long, Spoint As Range myArr = Array("ア", "イ", "ウ", "エ", "オ", "カ", "キ", "ク", "ケ", "コ") Set Spoint = Cells(Rows.Count, "AH").End(xlUp).Offset(1) If Spoint.Row < 3 Then Set Spoint = Range("Ah3") For Each myStr In myArr If IsError(Application.Match(myStr, Range("U3:AF3"), 0)) = True Then Spoint.Offset(, i).Value = myStr i = i + 1 End If Next End Sub
お礼
昨年はお世話になりました。今年もよろしくお願いいたします。 教えて頂いた通りやってみたのですがAH3から右に向かってアイウエオカキクケコと標示される形になっております。
補足
すみませんwatabe007さん。 このカタカナ記号を数字記号の1、2、3、4、5、6、7、8、9、0に変えたいんですがどこを変えればよろしいでしょうか?
- mt2015
- ベストアンサー率49% (258/524)
説明が解りづらいのですが、(1)は人なり他の処理が行うのですよね? マクロではなく、セル関数でやってみました。 添付の図でAI6:AR7を作業エリアとして使用しています。 まず、AI7:AR7にア~コまでの文字列を1つづつ入れます。 次にAI6に以下の式を入れ、AR6までコピーします。 =IF(COUNTIF($U$3:$AF$3,AI7)=0,MAX($AH6:AH6)+1,"") そして、AI3に以下の式を入れ、AR3までコピーします。 =IFERROR(HLOOKUP(COLUMN()-34,$AI$6:$AR$7,2,FALSE),"")
お礼
昨年はありがとうございました。今年もよろしくお願いいたします。
お礼
できました!ありがとうございました。また、是非ともご協力お願いします。