
エクセル2002のVBAで太文字を検索したいのですが、
<状況>
B列にチェックしたい文字が入力されています
<やりたいこと>
B列に入力されている文字の中から、太文字のみを抜き出して、
太字の見つかった行のG列に太文字のみを抜き出して複写したい
<自作マクロの現状>
セル全体の太文字検索は下記のマクロ「太字検索チェック1」で完成しましたが、
セルに記載してある文字の中で「一部は普通文字、のこり一部は太文字」と混在
しているセルの中身から太文字部分のみを別のセルに抜き出したいのですが、
そのマクロを「太字検索チェック2」のように書きました。
しかし「太字検索チェック2」の「 If dat.Font.Bold = True Then」の部分で
「型が違う・・・」のエラーで先に進みません。
どなたか、セルの中身の太文字のみを抜き出すマクロを教えてください
よろしくお願いします
Sub 太字検索チェック1()
i = 3
Worksheets("テスト").Activate
For Each myRng In Range("B:B")
セル = "b" & i
If Range(セル).Font.Bold = True Then
Cells(i, 7) = Cells(i, 2) ’太字のCells(i, 2)を Cells(i, 7) にコピー
End If
i = i + 1
If i = 1703 Then ’1703番地で終了
Exit For
End If
Next
End Sub
Sub 太字検索チェック2()
i = 3
Worksheets("テスト").Activate
For Each myRng In Range("B:B")
内容 = Cells(i, 2)
文字数 = Len(内容)
For p = 1 To 文字数
dat = Mid(内容, p, 1)
X=8+P
If dat.Font.Bold = True Then ’1文字づつ太字を検索
Cells(i, X) = dat ’太字なら→Cells(i, X) にコピー
End If
Next
i = i + 1
If i = 1703 Then
Exit For
End If
Next
End Sub
No.2ベストアンサー
- 回答日時:
For P = 1 To 文字数
X = 8 + P
If Cells(i, 2).Characters(P, 1).Font.Bold = True Then
Cells(i, X) = Cells(i, 2).Characters(P, 1).Text
End If
Next
に変更してください。
No.1
- 回答日時:
変数の宣言部分が無いようですね。
Option Explicitを宣言する習慣付けしたほうが良いですよ。
問題が生じるのは、
> dat = Mid(内容, p, 1)
と代入した変数 dat に Font がぶら下がって無いから。
過去問の「Excel文字列中の太字(Bold)部分のみ文字色を一括して変換する方法」が
参考になると思います。
参考URL:http://oshiete.goo.ne.jp/qa/2965758.html
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】指定行以降をクリ...
-
エクセルVBAでコピーして順...
-
特定のセルが空白だったら、そ...
-
VB.NETで、EXCELの右寄せ
-
i=cells(Rows.Count, 1)とi=cel...
-
ExcelVBAを使って、値...
-
VBA実行後に元のセルに戻りたい
-
Excelで指定した日付から過去の...
-
VBA初心者です。結合セルを保持...
-
VBAでセルをクリックする回...
-
Excelのプルダウンで2列分の情...
-
vbsのセル値の取得について
-
VBA コピーして次の値まで貼り...
-
DataGridViewで列、行、セルの選択
-
[EXCEL2003]セルのリストの文字...
-
Excel vbaで特定の文字以外が入...
-
エクセルの複数データーをダブ...
-
エクセルvba:自己セルの情報取...
-
エクセル マクロで セルの範...
-
エクセルvbaで、別シートの最下...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ExcelVBAを使って、値...
-
特定のセルが空白だったら、そ...
-
Excelで指定した日付から過去の...
-
VBA実行後に元のセルに戻りたい
-
i=cells(Rows.Count, 1)とi=cel...
-
任意フォルダから画像をすべて...
-
【Excel VBA】指定行以降をクリ...
-
エクセルvbaで、別シートの最下...
-
【Excel】指定したセルの名前で...
-
VBAでセルをクリックする回...
-
Excelのプルダウンで2列分の情...
-
DataGridViewの各セル幅を自由...
-
特定の文字を条件に行挿入とそ...
-
VBA ユーザーフォーム ボタンク...
-
TODAY()で設定したセルの日付...
-
VBからEXCELのセルの値を取得す...
-
特定行の色を変えたい(FlexGrid)
-
ExcelのVBAで数字と文字列をマ...
-
Excel vbaで特定の文字以外が入...
-
VBA初心者です。結合セルを保持...
おすすめ情報