dポイントプレゼントキャンペーン実施中!

最近、本当にお世話になってます。

B列の最終行にPHONETICを使用していない漢字を隣の最終行のCセルにカタカナに変換したのを表示させたいのですが(手入力が早いと言われればそれまでなのですが・・・・)

Sub カタカナ変換()
Dim s As Range
For Each s In ("Range("B1048576").End(xlUp).Offset(0).Select))
Range("C" & s.).Value = Application.GetPhonetic(s)
Next
End Sub
このコードだと動きません、どなたかお時間ある方ご教示お願いします。

質問者からの補足コメント

  • 訂正します。CセルではなくC列です。

      補足日時:2015/06/27 12:38
  • 日本語がおかしいので再訂正。
    B列の最終行にある漢字を隣のCのセルにphoneticの関数を使わないでマクロを使ってカタカナで表示させたい です。

      補足日時:2015/06/27 14:19

A 回答 (1件)

確か、第二水準で、読みがないものが数個あるという話を聞いたことがあるので、以下のようなコードにしました。


文字列でないものは、無視します。

B列の最終行にある漢字を取り出すなら、このようになります。ループは不要のはずです。

'//
Sub カタカナ変換R()
 Dim LastRow As Range
  With Cells(Rows.Count, 2).End(xlUp)
  If VarType(.Value) = vbString And Application.GetPhonetic(.Value) <> "" Then
    .Offset(, 1).Value = Application.GetPhonetic(.Value)
  End If
  End With
End Sub
'///

連続して、B1から最終行まで変換するなら、このようになります。

'//
Sub カタカナ変換r2()
 Dim c As Range
 For Each c In Range("B1", Cells(Rows.Count, 2).End(xlUp))
  If VarType(c) = vbString And Application.GetPhonetic(c) <> "" Then
    c.Offset(, 1).Value = Application.GetPhonetic(c)
  End If
 Next c
End Sub
'///


p.s.
>(手入力が早いと言われればそれまでなのですが・・・・)
うーむ、最近、マクロの質問に対して、心ないレスが目立ちますね。一応、削除対象には入るようです。
    • good
    • 0
この回答へのお礼

本当にマクロは何でも知ってるんですね。
本当にありがとうございます、すっごい助かりました。

お礼日時:2015/06/27 15:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!