指定の文字が入ったセルを点滅させる方法
- エクセルで指定の文字(記号)が入っているセルを点滅させる方法についてご教示いただけますか?
- 現在、下記のマクロを使って指定のセルの文字をエクセルが開いたとき点滅させていますが、指定された文字(記号)だけを点滅させたいと思っています。
- マクロの理解は浅いですが、よろしくお願いします。
- ベストアンサー
指定の文字(記号)が入っているセルを点滅させる
現在 下のマクロを使い指定のセルの文字をエクセルが 開いたとき点滅させています(皆さんからのもらいものですが) これを 指定された文字(記号)たとえば ” ! ” が入って いる セルのみを 点滅させたいのですが 列は一定です この場合は、R列です 指定の文字が入ったセルを点滅させるでもOKです マクロはちょこっとかじるぐらいしかわかりませんが よろしくお願いします。 Sub Auto_Open() Dim i As Long For i = 1 To 10 If Range("R33,R34").Font.Color = vbRed Then Range("R33,R34").Font.Color = vbBlack Else Range("R33,R34").Font.Color = vbRed End If Application.Wait Time + TimeValue("00:00:01") Next i End Sub
- minokumi
- お礼率95% (44/46)
- オフィス系ソフト
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
1.目的のセルを拾い集めて 2.点滅マクロを効かせる sub Auto_Open() dim h as range dim Target as range dim s as string dim i as long ’1を行う with worksheets("Sheet1").range("R:R") set h = .find(what:="!", lookin:=xlvalues, lookat:=xlpart) if h is nothing then exit sub set target = h s = h.address do set target = union(target, h) set h = .findnext(h) loop until s = h.address end with ’2を行う for i=1 to 10 if target.cells(1).interior.color = vbred then target.interior.colorindex = xlnone else target.interior.color = vbred end if application.wait time + timevalue("0:0:1") next i end sub
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17068)
質問者は初心者のようだが、こういうのは格好は良くて、やりたくなるが、力以上にやりすぎだと思う。 条件付き書式などの仕組みで我慢したら。 これをやると (1)指定の文字が入ったら行動を起す仕組み そう言うセルを探す。 (2)終わり無くブリンクを続けるのか。 (3)配色 (4)処理の占有の影響 など難しいことがいっぱい在る。 またエクセルVBAにはブリンクのコードは無い。(ワードと違って)。 http://www.excel.studio-kazu.jp/kw/20060206174147.html のSub BLIN()以下など点滅では使えるかもしえrない。 止める仕組みが、やや唐突だが。 ーー 条件付き書式では、セル範囲を指定して、書式ー条件付書式 数式が =NOT(ISERROR(FIND("!",A1))) セルパターン色やフォント色を目立つものに設定。
お礼
最初は条件付きでやっていたのですが ちょっと格好よく見せようと思いご指摘の通りです 貴重なご意見ありがとうございます
関連するQ&A
- エクセルVBA 文字の置き換え
Sub あ() For i = 1 To 100 If Cells(i, 1).Value Like "*解約*" Then Cells(i, 1).Interior.Color = vbRed Next i End Sub A列にA100まで、文章が入っています。 その文章のなかに”解約”という文字の入った文章の入ったセルだけを赤く塗りつぶすマクロ を作りました。 しかし、本当は、”解約”を”解除”という文字に置き換えるマクロが 作りたいのですが、どうしたらいいのでしょうか?
- ベストアンサー
- オフィス系ソフト
- 空白セルに●を入れたい
Excelのセル範囲(例:としてA1からC10)のセルを調べて、 空白のセルになにかの文字(例:●)を打ち込みたい場合のVBAの書き方を教えてください。 Sub セル埋め() Dim r As Range, i As Range Set r = Range("A1:C10") '範囲指定 If Intersect(r, Target) Is Nothing Then For Each i In r If i.Value = "" Then i.Value = "●" Next i End Sub この書き方にこだわっているわけではないので、もっと簡単なやり方でもけっこうです。
- ベストアンサー
- Visual Basic
- VBA ダブルクリックで行に色をつける方法
VBAでダブルクリックしたセルを含む行に色をつけたいです。 セルに色をつけるマクロは書いた(下記)のですが、これを行全体に色付けしたいのですが、 うまくいきません。 どなたかご教授ください。 Private Sub Worksheet_BeforeDoubleClick _ (ByVal Target As Range, Cancel As Boolean) If Not Application.Intersect _ (Target, Range("A3").CurrentRegion) _ Is Nothing Then With Target.Interior If .Color = vbRed Then .Color = xlNone Else .Color = vbRed End If End With Cancel = True End If End Sub よろしくお願いします。
- ベストアンサー
- その他MS Office製品
- 指定するセルのRange書き込み変更
Sub 移動と削除() Range("A1").Select Selection.Cut Destination:=Range("E1") Range("A1").Select Selection.Delete Shift:=xlUp End Sub 自動マクロで作った上記の記録があります。これをA1固定ではなくA列の指定するセルにし E1もA列で指定したセルと同じ行のE列にしたいのですが書き換える方法をおしえてください。
- ベストアンサー
- その他MS Office製品
- VBA A1セルが空白になったら隣のセルも空白に
いつもお世話になります。 WINDOWS7 EXCELL2010 です。 A1セルに文字列で5桁のID番号を入力するとI4のセルに今日の日付が入るようにマクロを作っています。 このときA1セルをキーボードのBacksPaceでID番号を消してエンターキーを押した時にI4セルも空白にしたいと考えて下記のように作りましたが If Range("A1") = “” Range("$I$4") = "0000/00/00" Else Range("$I$4").ClearContents 上の構文が上手くゆかず困り果てました。 どのようにすればいいか御指導願えませんでしょうか。 参考に Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address = "$A$1" Then Range("I4").Value = Date If Range("A1") = “” Range("$I$4") = "0000/00/00" Else Range("$I$4").ClearContents End Sub
- ベストアンサー
- Excel(エクセル)
- マクロ 色の設定
特定の文字を入れると選択したセルが塗りつぶされるようにしたく思い、 ネットで検索して、できることはできたのですが、 自分の好きな色に変更する方法が分かりません。 当方、マクロに関しては全くの初心者です。 どこをどのように変えればよいのか教えて下さい。 Private Sub Worksheet_Change(ByVal Target As Range) If Range("B22").Value = "アポ" Then Range("B22:J22").Interior.Color = vbRed Else Range("B22:J22").Interior.ColorIndex = xlColorIndexNone End If End Sub B22のセルに「アポ」と入るとB22~J22が赤色に、なるというマクロです。 多分、「vbRed」というのを変えればいいとは分かるのですが、どうしてよいのやら… 自分としては、添付した画像のように、左側の文字によって、隣のセルが ピンク、オレンジ、水色、黄色(自分で作った色かと思います)に なるようにしたいのです。
- ベストアンサー
- その他MS Office製品
- エクセルでセルの値がTRUEかFALSEか判定
Q3:R19の表があります。 Q列にはTRUEかFALSEが入りますが、空白や文字列の場合もあります。 R列には文字列です。 Q列でFALSEのセルだけ、同じ行のとなりのR列の文字列を順に抜き出し、メッセージボックスに表示したいのです。 下記のようなVBAを書いてみましたが、Q列が空白や文字列の場合まで抽出されてしまいます。 これを排除するいい方法はないでしょうか? Sub test01() Dim msg As String Dim i As Long With Sheets("LOG") For i = 3 To 19 If .Range("Q" & i).Value = False Then ' Debug.Print i & "-" & .Range("R" & i).Value msg = msg & .Range("R" & i).Value & vbCrLf End If Next i End With If msg <> "" Then MsgBox msg & vbCrLf & "上記により不可です。", vbCritical End If End Sub
- ベストアンサー
- Excel(エクセル)
- エクセルマクロ 特定の文字入力の際の処理(2)
お世話になります。 以前、下記質問をし、締め切ったのですが、もう一点、教えていただきたい点がありました。 質問 エクセルマクロで、sheet1のE列の6~30行に指定する文字が入力された際、 B列のその同じ行にある文字を取得し、その取得した文字をsheet3のC6から K6まで書き出していきたいのですが、どのようにしたらよいでしょうか? ご回答 Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long Dim r As Range Const 指定文字 As String = "X" Set r = Range("E6:E30") If Target.Count > 1 Then Exit Sub If Intersect(r, Target) Is Nothing Then Exit Sub End If If Target.Value <> 指定文字 Then Exit Sub Else '大文字小文字を区別する場合 i = ActiveSheet.Evaluate( _ "SumProduct(EXACT(" & r.Address & ",""" & 指定文字 & """)*1)") '大文字小文字を区別しない場合 i = WorksheetFunction.CountIf(r, 指定文字) Application.EnableEvents = False Worksheets("Sheet3").Cells(6, i + 2) = _ Target.Offset(, -3) Application.EnableEvents = True End If End Sub このご回答を、 取得した文字をsheet3のC6からK6までに4列毎に書き出して いく場合にはコードをどのようにしていけば良いのでしょうか。 C6→H6→M6→・・・ すみません、再度お願い致します。
- ベストアンサー
- Excel(エクセル)
- エクセル2002のVBAで太文字を検索したいのですが、
エクセル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
- ベストアンサー
- Visual Basic
- エクセルのマクロで範囲指定をセルに番号を入れて、範囲指定したセルの字の
エクセルのマクロで範囲指定をセルに番号を入れて、範囲指定したセルの字の色を白にして消したいのですが、番号を入れるマクロがわかりません。マクロに記録でA2からB12までのセル内の字の色を白 にする方法は Sub 字を消す() ' ' 字を消す Macro ' ' Range("A2:B11").Select With Selection.Font .ThemeColor = xlThemeColorDark1 .TintAndShade = 0 End With End SubでできるのですがD3に開始番号、E3に終了番号を指定する方法がわかりません。ご教授お願いします
- ベストアンサー
- オフィス系ソフト
お礼
早々のご回答ありがとうございます 目的通りにでき大変助かりました ありがとうございました