No.2ベストアンサー
- 回答日時:
少し、よくわからない部分があります。
それは、Sheet1 の漢字の氏名は、フリガナ・データが封入されていないということでしょうか?これは、テキスト等のコピー&ペーストですと、Rangeオブジェクトには入っておりません。
通常、フリガナデータのない漢字データに、フリガナを入れるコマンドは、
Ctrl + Alt + ↑ で復活します。
それをマクロで一括していれる方法もあります。TestSample3
#1のお礼欄からの私の解釈からすると、このようなコードかと思います。
'//標準モジュール
Sub TestMacro2()
Dim sh2 As Worksheet
Dim i As Long, c As Variant
Dim Furi As String
Set sh2 = Worksheets("Sheet2")
i = 2
With Worksheets("Sheet1")
For Each c In .Range("C5", .Cells(Rows.Count, 3).End(xlUp))
If c.Value <> "" Then
Furi = sh2.Cells(i, "B").Value
If Furi <> "" Then
c.Phonetics(1).Text = Furi
End If
End If
i = i + 1
Next
End With
End Sub
'//以下は正確さに欠けます。IMEの辞書を利用しているに過ぎません。
Sub TestMacro3()
With Worksheets("Sheet1")
.Range("C5", .Cells(Rows.Count, 3).End(xlUp)).SetPhonetic
End With
End Sub
WindFalle様ありがとうございます!
TestMacro2が私の理想としていたプログラムになります。
活用させていただきます。
ありがとうございました。
No.1
- 回答日時:
Sheet2 の同じセル番地なら以下のようにすれば可能ですが、
>sheet2のB2セルにシマムラ,C6にオガワ
のように、規則性がない場合は、基本的に部分は変わりませんが、全体的なコードは変わってくる可能性が高いです。また、 If Furi <> "" Then で取れない場合も、コードが変わります。
'//
Sub TestMacro1()
Dim sh2 As Worksheet
Dim i As Long
Dim Furi As String
Set sh2 = Worksheets("Sheet2")
With Worksheets("Sheet1")
For i = 1 To Cells(Rows.Count, 3).End(xlUp).Row
If .Cells(i, 3).Value <> "" Then
Furi = .Cells(i, 3).Phonetics(1).Text '*
If Furi <> "" Then
sh2.Cells(i, 3).Value = Furi
End If
End If
Next
End With
End Sub
WindFaller様回答ありがとうございます!
申し訳ございません。
私の説明不足な質問で内容が上手く伝わっておりませんでした。
sheet1のC5セル、C6セルに氏名の漢字が入力されております。
島村、小川、下に20人ほどおります。
別シートのsheet2のB2セル、シマムラ、B3セル、オガワ、下にそれぞれフリガナが入力されており、このセルからsheet1のC5セルから下にフリガナを反映させたい内容になります。
また最初の質問のsheet2のC6セルにオガワと入力されておりますの部分が間違っていましたので誠に申し訳ございません。
上記のVBAのプログラムはどの様になりますでしょうか?
よろしくお願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Visual Basic(VBA) VBA Userform転記のみ編集可 1 2023/06/29 11:03
- Excel(エクセル) エクセルで条件付き書式を使わずにセルの文字の色を変える方法を教えて下さい 8 2023/07/28 01:15
- Excel(エクセル) エクセルでシート保護のかかり方の違いとセルの非保護の設定 3 2022/08/09 10:02
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) VBAについて教えてください 4 2022/11/10 12:44
- その他(Microsoft Office) エクセル VBAについて 2 2022/09/21 22:21
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/02 10:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルテキストボックスの文...
-
Excelについて
-
EXCELマクロ 保護されているシ...
-
VBAで、貼り付け禁止命令を実現...
-
ダブルクリックすると現在の時...
-
ハイパーリンクされているファ...
-
データが入力されている隣のセ...
-
Windowsで動くVBAがmacOSで動か...
-
Excelのセル内にある図形を削除...
-
Excelのアクティブなセル情報
-
エクセルVBA(実行時エラー438...
-
VBA セルに合わせて移動するが...
-
セル色を5秒間隔で変える
-
エクセルのVBAでダブルクリック...
-
Jtableの特定のセルの背景色や...
-
GrapeCityのSpreadの複数セルの...
-
Excel VBA セルを指定個数ラン...
-
メッセージを1度だけ表示したい。
-
VBAで丸をつけたいです。
-
Excel VBA ダブルクリックで入...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
データが入力されている隣のセ...
-
EXCELマクロ 保護されているシ...
-
エクセルテキストボックスの文...
-
VBAで、貼り付け禁止命令を実現...
-
Excelについて
-
メッセージを1度だけ表示したい。
-
ダブルクリックすると現在の時...
-
ハイパーリンクされているファ...
-
エクセルVBA セル選択後にカレ...
-
Jtableの特定のセルの背景色や...
-
VBAで丸をつけたいです。
-
エクセルVBA(実行時エラー438...
-
Excelのセル内にある図形を削除...
-
Swing 編集不可でも選択可能なJ...
-
(VBA)アクティブセルを起点に...
-
Excel VBA セルを指定個数ラン...
-
VBA セルに合わせて移動するが...
-
Windowsで動くVBAがmacOSで動か...
-
セル色を5秒間隔で変える
-
Excel VBA ダブルクリックで入...
おすすめ情報