|
こんばんは。
>選んだ任意のセル番地を取得する方法を知りたいです。
>使用方法としては 例えば $A$2を任意の場所にコピーするために用います。
>コピーを用いない方法としては
> selection.value=range("A2").value
>でよいですが、この方法ですとルビが反映されずに困りますのでコピーする方法を用いたいです。
>または、コピーを用いない方法でもルビを反映する方法があれば そちらでも良いですので教えて欲しいです。(できれば こちらの方がよいです)
>よろしくお願いします
フリガナをPhoneticオブジェクトという概念で捕らえると
移行は結構大変なんです。
標準モジュールに
'==========================================================
Sub main()
Range("a1").Value = Range("b1").Value
Call Set_phonetic(Range("b1"), Range("a1"))
Range("a1:b1").Phonetics.Visible = True
End Sub
'===============================================================
Sub Set_phonetic(r1 As Range, r2 As Range)
Dim ph As Phonetic
Dim idx As Long
On Error Resume Next
r2.Phonetics.Delete
For idx = 1 To r1.Phonetics.Count
r2.Phonetics.Add r1.Phonetics(idx).Start, _
r1.Phonetics(idx).Length, _
r1.Phonetics(idx).Text
Next
r2.Phonetics.CharacterType = r1.Phonetics.CharacterType
r2.Phonetics.Alignment = r1.Phonetics.Alignment
With r2.Phonetics.Font
.Name = r1.Phonetics.Font.Name
.FontStyle = r1.Phonetics.Font.FontStyle
.Size = r1.Phonetics.Font.Size
.Strikethrough = r1.Phonetics.Font.Strikethrough
.Underline = r1.Phonetics.Font.Underline
.ColorIndex = r1.Phonetics.Font.ColorIndex
End With
On Error GoTo 0
End Sub
上記のコードは、アクティブシートの
セルB1の値とフリガナを セルA1に移行しています。
試してみてください。
|
|