
A 回答 (5件)
- 最新から表示
- 回答順に表示
No.5
- 回答日時:
初めましてー!
VB暦2週間の素人ですが、勉強ついでに作ったので解決してなければ回答・・・。
とりあえずセルを移動させずにA1だけ対応させますのでセルの移動などはお願いします。
(複数のセルを置換する場合に処理速度がかなりかかり、無駄が多いと思いますが・・・)
※A1にABC123ABCあいう と入力し、123を赤にしておいてください。
'-------------------------------------------------------------
Sub 置換()
Dim a, b As Long
Dim FontSave(500, 1) As String
Range("A1").Activate
For a = 1 To Len(ActiveCell)
jamp:
If Asc(Mid(ActiveCell, a, Len("ABC"))) = Asc("ABC") Then
With ActiveCell.Characters(Start:=a, Length:=1).Font
For b = 1 To Len("ABC")
FontSave(a, 1) = 5
a = a + 1
Next
GoTo jamp:
End With
Else
With ActiveCell.Characters(Start:=a, Length:=1).Font
If .ColorIndex > 1 Then
FontSave(a, 1) = .ColorIndex
Else
FontSave(a, 1) = 1
End If
End With
End If
Next
ActiveCell.Replace What:="ABC", Replacement:="EFG", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
For a = 1 To Len(ActiveCell)
With ActiveCell.Characters(Start:=a, Length:=1).Font
.ColorIndex = FontSave(a, 1)
End With
Next
End Sub
'------------------------------------------------------------
処理の流れとしては
(1) フォントを指定して一旦保存しておく
(2) 置換
(3) 保存しておいたフォントの書き込み
置換する文字列が置換前の文字列より多いor少ない場合はちょっとひねらないといけないので・・・。
もし必要で分からなければコメント下さい。
頑張って下さい。
No.4
- 回答日時:
お初です
禁止事項よく読んでくださいね
質問が曖昧なので、こんな回答しか出来ません
>ただ、VBAで行いたいです。(EXCEL2000)
質問に書いておくべきですね
Sub Macro2()
'
' Macro2 Macro
' マクロ記録日 : 2009/1/8 ユーザー名 :
'
'
Cells.Replace What:="abc", Replacement:="efg"
With ActiveCell.Characters(Start:=1, Length:=3).Font
.ColorIndex = 5
End With
With ActiveCell.Characters(Start:=4, Length:=3).Font
.ColorIndex = 3
End With
With ActiveCell.Characters(Start:=7, Length:=3).Font
.ColorIndex = 5
End With
With ActiveCell.Characters(Start:=10, Length:=3).Font
.ColorIndex = xlAutomatic
End With
End Sub
質問の操作をマクロの記録で記録し、必要なコード以外削除しました
後はご自分で
No.2
- 回答日時:
置換操作自体をVBAでプログラム化し、ボタンか関数化すれば、フォントや文字色の操作はかなり高い自由度で可能と思います。
数値計算でVBAを使うことがありますが、このような見た目を操作するものはコーディングしたことが無いので何となくですが。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Word文書、取り消し線部分の一...
-
ワードで赤字のみを削除する方法
-
excelマクロ ボタンを押して文...
-
ワードで太字になっているとこ...
-
「WORD」での作業 日本語・英...
-
word 2003で、赤い文字(あるい...
-
Word(2010)の差込印刷時に特定...
-
word ↓の記号を消したい
-
wordで、アルファベットのみの...
-
Excelの表中,数字の「1」をす...
-
ワードの置換で、文字列の前後...
-
セルの中の不要な文字を削除し...
-
ワードで特定の文字列だけを太...
-
Wordでカッコで括った文字を一...
-
ワードで半角英数の文字だけ選...
-
【置換】…アンダーバー(下線の...
-
画像にあるように句読点「、」...
-
word文書内のピンク色の文字を...
-
①~⑳は記号で変換できますが、...
-
「コ」のような記号
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word文書、取り消し線部分の一...
-
複雑なワードの文字数カウント...
-
Word相互参照の文字を一括で変...
-
Wordでカッコで括った文字を一...
-
ワードで赤字のみを削除する方法
-
エクセルでシートにある赤文字...
-
excelマクロ ボタンを押して文...
-
word である文字をすべてイタリ...
-
ワードの表の中の値の表示形式...
-
word文書内のピンク色の文字を...
-
箇条書きのアタマに一括で「・...
-
同じ文字
-
エクセルで、コンマをピリオド...
-
ワードで太字になっているとこ...
-
Excelの表中,数字の「1」をす...
-
Word2000で括弧の中の文字だけ...
-
ワードの表への入力について
-
word 2003で、赤い文字(あるい...
-
ワードで文字列をフィールドコ...
-
Excelからワード文書の文字置換...
おすすめ情報