[[20090214104017]] 『マクロで特定の文字列を削除&フリガナ挿入』(takasweet) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロで特定の文字列を削除&フリガナ挿入』(takasweet)

 一つのブックに複数のシートがあり
 A1のセルにデーターが入っているとします。例えば会社名で

 株式会社AAAAAAAAAA

 BBBBBBBBB株式会社

 CCCCC株式会社DDDDDD

 先頭にきている株式会社の文字列のみ削除をして
 A1の左側に新しい列を挿入してそのセルにフリガナをふりたいのですが
 どうすればよいでしょうか?
 対象は一つのブックの全シートです。

 [エクセルのバージョン]
 Excel2003
 [OSのバージョン]
 WindowsXP

 です。宜しくお願い申し上げます。

 こんにちは。かみちゃん です。

 > 先頭にきている株式会社の文字列のみ削除をして
 > A1の左側に新しい列を挿入してそのセルにフリガナをふりたい

 以下のような感じではいかがでしょうか?
 A列のデータが入力しているデータであれば、
   rngList.SetPhonetic
 は不要かもしれませんが、どこかから、貼り付けしてきているデータであれば、フリガナ情報をもって
 いない場合がありますので、上記コードで、ふれがらテキスト文字列を取得しますが、誤変換する場合
 もありますので、変換後は、目視等で確認したほうがいいです。

 なお、以下のコードは、アクティブシートの場合です。

 Sub Sample()
   Dim c As Range
   Dim rngList As Range

   With ActiveSheet.Range("A1")
    Set rngList = .Resize(.Offset(.Parent.Rows.Count - .Row).End(xlUp).Row - .Row + 1)
   End With

   rngList.SetPhonetic
   For Each c In rngList
     If Left(c.Value, 4) = "株式会社" Then
       c.Value = Mid(c.Value, 5)
     End If
     c.Offset(, 1).Value = Application.GetPhonetic(c.Value)
   Next
   MsgBox "終了"
 End Sub

 > 対象は一つのブックの全シートです。

 以下のような感じで、アクティブブックの全シート名が順番に取得されますから、参考にして、ご自身
 で少し考えてみてはいかがでしょうか?
 Sub Sample1_1()
   Dim ws As Worksheet

   For Each ws In Worksheets
     MsgBox ws.Name
   Next
 End Sub

 もし、わからなければ、何がわからないかを明確にして聞いてみてください。

 (かみちゃん)
 2009-02-14 12:24


ありがとうございます。
少し難しいですがトライしてみます。

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.