[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セル内の一部を下付きに置換』(なな)
セル内に「]W96」や「V96」「OD96」という記述があるのですが 96の部分がそのままと下付きとが混在しているので、そこの部分だけ下付きに置換したいと考えています。
検索する文字列:96(書式セットなし)→置換する文字列:96(下付き) で置換したところ、セル全体が下付きに置換されてしまいます。 セル内の一部だけを書式込みで置換することは可能でしょうか?
Windows2000、Excel2002
マクロでやってみました。
下付きに置き返したいセルを選択して下記のコードを実行してみてください。
Option Explicit
Sub 下付き()
Dim MyRange As Range
Dim strSearch As String
Dim intPos As Integer, intLen As Integer
strSearch = Application.InputBox(prompt:="検索する文字列を入力してください。", Type:=2)
intLen = Len(strSearch)
For Each MyRange In Selection
intPos = InStr(1, MyRange.Text, strSearch, vbTextCompare)
If intPos > 0 Then
With MyRange.Characters(Start:=intPos, _
Length:=intLen).Font
.Subscript = True
End With
End If
Next MyRange
End Sub
(川野鮎太郎)
もしも同じセルに置き換え対象が2つ以上あるようなケースの場合は以下をお試しください。
Sub 下付き()
Dim MyRange As Range
Dim strSearch As String
Dim i As Integer, intPos As Integer, intLen As Integer
strSearch = Application.InputBox(prompt:="検索する文字列を入力してください。", Type:=2)
intLen = Len(strSearch)
For Each MyRange In Selection
For i = 1 To Len(MyRange.Text)
intPos = InStr(intPos + 1, MyRange.Text, strSearch, vbTextCompare)
If intPos = 0 Then Exit For
With MyRange.Characters(Start:=intPos, _
Length:=intLen).Font
.Subscript = True
End With
Next i
Next MyRange
End Sub
(川野鮎太郎)
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.