重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

いつもお世話になっています。

名簿から一定の条件のものを別の一覧表に作成するVBAを作成しています。
元の名簿は名前の上にフリガナが表示されているのですが、複写した一覧表にはそのフリガナの情報が消えてしまいます。
ネットを見てもVBAでフリガナも含めての複写の方法がわかりません。

ついては 方法があればご教示ください。
下記はソースの一部です。

   ……
Set ws = Worksheets("複写元")
Set Bws = Worksheets("複写先")
……

Do While ws.Cells(wgyo, 4).Value <> ""

      ……

Bws.Cells(zgyo, zretu).Value = _
ws.Cells(wgyo, 4).Value

wgyo = wgyo + 1
zgyo = zgyo + 1

Loop

A 回答 (4件)

No2です。


失礼しました。
ws.Cells(wgyo, 4).Copy (Bws.Cells(zgyo, zretu))
に変えてください。
下記がこちらで確認時のマクロです。(添付画像が実行後の結果です)

Public Sub Macro1()
Set ws = Worksheets("複写元")
Set Bws = Worksheets("複写先")
wgyo = 1
zgyo = 1
zretu = 4
Do While ws.Cells(wgyo, 4).Value <> ""

ws.Cells(wgyo, 4).Copy (Bws.Cells(zgyo, zretu))
wgyo = wgyo + 1
zgyo = zgyo + 1

Loop
End Sub
「ExcelのVBAでフリガナも含めて名簿」の回答画像3
    • good
    • 0
この回答へのお礼

再度のご教示ありがとうございました。

動きました!
ご丁寧にご教示いただき感謝します。
こういうソースがスラスラと書けるってすごい。
ただただ感心します。

お礼日時:2018/11/01 12:46

Bws.Cells(zgyo, zれつ).Phonetic.Text = ws.Cells(wgyo, 4).Phonetic.Text


これだと一応フリガナもコピーされます.
    • good
    • 0
この回答へのお礼

早々のご教示ありがとうございました。

なるほど、こういうソースの書き方もあるんですね。
いろいろ勉強になります。

お礼日時:2018/11/01 12:47

Bws.Cells(zgyo, zretu).Value = _


ws.Cells(wgyo, 4).Value

ws.Cells(wgyo, 4).Value.Copy(Bws.Cells(zgyo, zretu))
に変えてください。
    • good
    • 0
この回答へのお礼

早々のご教示ありがとうございます。

早速ソースを修正しデバッグしたのですが、ご教示の行になると
「オブジェクトが必要です」のメッセージがでて停止してしまいます。

お礼日時:2018/11/01 12:19

value(値)しか渡してないからでしょう。


いっそコピーしたら早いと思うけど。

フリガナはワークシートだとphoneticだけど、
VBAだとなんだったかな。
    • good
    • 0
この回答へのお礼

早々のご教示ありがとうございます。

Copyしか方法はないと思うのですが、そのソースのやりかたがわかりません。
あとでphoneticをかぶせるとエクセルのデフォルトのフリガナになってしまいます。

お礼日時:2018/11/01 12:21

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