
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文書、取り消し線部分の一...
-
Wordでカッコで括った文字を一...
-
箇条書きのアタマに一括で「・...
-
ワードである言葉を打つと自動...
-
同じ文字
-
Excelからワード文書の文字置換...
-
Word相互参照の文字を一括で変...
-
ワードで太字になっているとこ...
-
ワードにおいての置換 「する...
-
excelマクロ ボタンを押して文...
-
「WORD」での作業 日本語・英...
-
エクセルでシートにある赤文字...
-
テキストボックス一括編集
-
画像にあるように句読点「、」...
-
ワードのフィールドの解除を一...
-
ワードの表への入力について
-
Excelの表中,数字の「1」をす...
-
Excel 上付き(下付き)文字の...
-
Wordで一括してアンダーライン...
-
Word2000で括弧の中の文字だけ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word文書、取り消し線部分の一...
-
Wordでカッコで括った文字を一...
-
Word相互参照の文字を一括で変...
-
箇条書きのアタマに一括で「・...
-
ワードで赤字のみを削除する方法
-
エクセルでシートにある赤文字...
-
ワードの表の中の値の表示形式...
-
ワードで太字になっているとこ...
-
excelマクロ ボタンを押して文...
-
word である文字をすべてイタリ...
-
Wordデータから,特定の単語を...
-
Excelの表中,数字の「1」をす...
-
「WORD」での作業 日本語・英...
-
word 2003で、赤い文字(あるい...
-
ワードで半角英数の文字だけ選...
-
Word2000で括弧の中の文字だけ...
-
ワードの表への入力について
-
ワードである言葉を打つと自動...
-
セルの中の不要な文字を削除し...
-
同じ文字
おすすめ情報