セルにワイルドカードを含む式の書き込み方法

このQ&Aのポイント
  • セルにワイルドカード*を含む式を書き込む方法を教えてください。
  • 下記のコードは、アクティブセルの右にアクティブセルと同じ値を書き込むものです。
  • ワイルドカード付きの値を書き込む方法を教えてください。
回答を見る
  • ベストアンサー

セルにワイルドカード*を含む式を書き込むには?

下記コードはアクティブセルの右にアクティブセルと同じ値を書き込みますが、 ワイルドカード付きの値を書き込むにはどうすれば良いのでしょうか? n列  (n+1)列 あ     あ* い     い* う     え* ______________________________ Sub test1() Dim R As Range, R1 As Range Set R = ActiveCell Set R1 = Range(R, Cells(Rows.Count, R.Column).End(xlUp)) With R1.Offset(, 1) .Formula = "=" & R.Address(0, 0) End With Set R1 = Nothing: Set R = Nothing End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

最後から4行目の .Formula = "=" & R.Address(0, 0) を .Formula = "=" & R.Address(0, 0) & "&""*""" にしてください。

VitaminBB
質問者

お礼

回答ありがとうございます。ようやく出来ました。 ”の使い方が難しいですね。

関連するQ&A

  • 重複 印 選択

    選択したセルの列と行にたいしてIFで印を付けていきたいです 引数を選択したセルにしたいのですが下の記述では""の部分に変数を入れてもエラーが出ます 正確な記述方法をご教授いただけると助かります。 また、セルの位置と値の扱い方がいまいちわかってないです。 ご説明をいただけると嬉しいです。 Sub 重複確認() ' 変数宣言 Dim x As Long Dim y As Long x = ActiveCell.Row y = ActiveCell.Column With Range("", Range("" & Rows.count).End(xlUp)) .Offset(, 1).Formula = "=IF(COUNTIF(" & .Address & ",A1)>1,""●"","""")" .Offset(, 1).Value = .Offset(, 1).Value End With End Sub

  • VBA 特定もセルに入力で実行

    下記のコードを実行した際は問題なく実行されるのですが これを特定のセルに値が入力された際に動かそうとするとエラーになってしまいます。 Sub PaintTargetCharacter() Dim FoundCell As Range, FoundCell2 As Range Dim Addr As String Dim Addr2 As String Dim SearchArea As Range Dim SearchArea2 As Range Application.ScreenUpdating = False ActiveCell.Interior.ColorIndex = 0 '検索対象範囲 Set SearchArea = Worksheets("G番情報").Range("AE6:BG6") '検索実行 Set FoundCell = SearchArea.Find(What:=ActiveCell.Offset(0, -1), LookIn:=xlValues, _ LookAt:=xlPart, MatchCase:=False, MatchByte:=False) '検索文字列を含むセルがない場合は終了 If FoundCell Is Nothing Then Exit Sub Set SearchArea2 = Range(FoundCell.Offset(1, 0), FoundCell.Offset(33, 0)) Set FoundCell2 = SearchArea2.Find(What:=ActiveCell, LookIn:=xlValues, _ LookAt:=xlPart, MatchCase:=False, MatchByte:=False) If FoundCell2 Is Nothing Then Exit Sub FoundCell2.Copy Destination:=ActiveCell Application.ScreenUpdating = True End Sub 当然、特定のセルで値を入力後エンターキーを押すとアクティブセルは下に下がってしまうので Private Sub Worksheet_Change(ByVal Target As Excel.Range) Target.select Call PaintTargetCharacter End Sub としているのですが Set FoundCell = SearchArea.Find(What:=ActiveCell.Offset(0, -1), LookIn:=xlValues, _ LookAt:=xlPart, MatchCase:=False, MatchByte:=False) の部分でエラーが起きてしまいます。 また停止してシートに戻るとセルのカーソル表示が消えてしまいます。 この現象はシートを閉じて再度開くと直りますが なにかエラーと関係しているのでしょうか? 初心者なのでおかしな部分が多々あると思います。 ご指摘などあれば宜しくお願いします。

  • 変数で指定したセルの値を取得して計算させるには?

    sub 単月発生残高の取得() Windows("総勘定元帳データ").Activate Worksheets(1).Activate Range("a2").Activate Dim sRange As Range, eRange As Range, tRange As Range, uRange As Range Dim j As Long, k As Long Dim i As Integer For i = 3 To Range("a2").End(xlDown).Row Set sRange = Cells(i, 1) Set eRange = sRange.End(xlToRight) Set tRange = eRange.Offset(2, 0) Set uRange = tRange.Offset(0, -1) j= tRange.value k= uRange.value Range("B1").formula="=k-j" Range("A1").value="単月発生残高" Next Set sRange = Nothing Set eRange = Nothing Set tRange = Nothing Set uRange = Nothing End Sub 上記のマクロを組んでみましたが、j= tRange.value のところでエラーになります。 uRangeの値からtRangeの値を引いた値を"B1"に表示させたいのですが、うまくいきません。 どうすればいいでしょうか。

  • VBAでセルのコピーをすると、エラーになる

    =IF(COUNTIF('5月'!B4:I13,E13)=0,"",COUNTIF('5月'!I:I,E13))というセルを コピーして、別のシートのセルに貼り付けたのですが、値が「0」の場合「””」が セルに張り付いてしまい、その後の計算ができません。 「””」を本当の空欄にするにはどうしたらいいのでしょうか? Sub 転記() Dim sh1 As Worksheet Dim sh2 As Worksheet Dim SN As String SN = Month(Now()) Set sh1 = Sheets(SN) Set sh2 = Sheets("差出票") sh1.Range("A35").End(xlUp).Offset(1) = sh2.Range("B9") sh1.Range("A35").End(xlUp).Offset(0, 1) = sh2.Range("F13") sh1.Range("A35").End(xlUp).Offset(0, 2) = sh2.Range("F14") sh1.Range("A35").End(xlUp).Offset(0, 3) = sh2.Range("F15") sh1.Range("A35").End(xlUp).Offset(0, 4) = sh2.Range("F16") sh1.Range("A35").End(xlUp).Offset(0, 5) = sh2.Range("F17") sh1.Range("A35").End(xlUp).Offset(0, 6) = sh2.Range("F18") sh1.Range("A35").End(xlUp).Offset(0, 7) = sh2.Range("F19") End Sub

  • 行方向の同じ値のセルを結合するマクロ

    ネットで色々調べながら、A列方向の同じ値のセルを結合させるマクロ を作ってみたのですが、もっと簡単にできるようでしたら教えていただきたいです。 どうぞよろしくお願いいたします。 Sub セル結合() Dim r As Integer '行数 Dim i As Integer 'カウンタ r = Sheets(1).Range("a1").CurrentRegion.Rows.Count - 1 Application.DisplayAlerts = False For i = 1 To r Cells(i, 1).Activate '項目の一つ下のセルをアクティブに If ActiveCell.Value = ActiveCell.Offset(1).Value Then Range(ActiveCell, ActiveCell.Offset(1)).Merge End If Next Application.DisplayAlerts = True End Sub

  • 特定のセルに記入された回数分、他のシートに反映するには?

    特定のセルに記入された数字の数だけ、特定セルの値を別のシートに一括して反映させたいのです。 下記は以前にこちらのサイトで教えていただいたマクロ(記入シート内のA1,A4,A7,A10に記入した文字列を、 別シートのB列,L列,M列,N列に反映させるマクロ)です。 これを使用して、セルの値が10なら別シートに10列分反映させるようにしたいのですが・・・(値はその都度変わります)。 どなたかご教授いただける方がおられましたらよろしくお願いいたしますm(__)m Sub ボタン1_Click()   Dim SourceRow As Integer   Dim DestCell As Range   Set DestCell = Worksheets("Sheet2").Range("B65535").End(xlUp)     If DestCell.Row = 1 And DestCell.Value <> "" Or DestCell.Row <> 1 Then     Set DestCell = DestCell.Offset(1, 0)   End If   With ActiveSheet     DestCell = .Range("A1")     DestCell.Offset(0, 11) = .Range("A4")     DestCell.Offset(0, 12) = .Range("A7")     DestCell.Offset(0, 13) = .Range("A10")   End With End Sub

  • ExcelVBA データのコピー範囲について

    あけましておめでとうございます。今年もよろしくお願いします。 Sub Test() Dim myTarget As Range, r As Range, f Set myTarget = Sheets("Sheet1"). _    Range("B2", Sheets("Sheet1").Range("B65536").End(xlUp)) For Each r In myTarget  Set f = Sheets("Sheet2").Columns(1). _    Find(r.Value, Sheets("Sheet2").Range("A1"), Lookat:=xlWhole)  If Not f Is Nothing Then    If r.Offset(0, 3).Value <> f.Offset(0, 3).Value Then      f.Resize(1, 4).Copy Destination:= _      Sheets("Sheet3").Range("A65536").End(xlUp).Offset(1, 0)    End If  End If Next r End Sub 前回の質問で教えていただいたコードなのですが、現時点では、B列のデータを元にして二つのSheetのデータを比較して別Sheetへコピーしているのですが、そのときに、B列以降の(たとえば、B列からX列まで)データはコピーできますが、A列もコピーしたい時はどうすればよいのかで、悩んでいます。どの様に変更すればよいのでしょうか?

  • エクセルでK列の最終行のセル値を指定のセルに・・・

    いつもお世話になっております。 5月に下記のコードを教えてもらい、簡単な改良や条件を追加しながら複数のシートに展開中なのですが新しいパターンが出たのでHELPです。 K列の最終行の値を同じ表のH6のセルに転記してそれを使って出た計算結果(セルH7)の値をH列の最終行のセルに転記したいのですが。 (具体的な列とセルはシートで変わる可能性があります) 下記のコードは別のシート(計算表)の特定(結果)のセルの値を指定した列に転記するコードでこれで何とかしようとしましたが歯が立たず。 なにとぞよろしくお願いいたします。 Option Explicit Sub Sample3()   Dim MyRange As Range  With ThisWorkbook   Set MyRange = _    .Sheets("入力表").Cells(Rows.Count, 5).End(xlUp)   MyRange.Offset(1, 0).Value = .Sheets("計算表").Range("J15").Value   MyRange.Offset(1, 1).Value = .Sheets("計算表").Range("J20").Value  End With End Sub

  • 検索後のセルの選択を正しくしたい

    Excel2007でマクロ作成中の初心者です。 以下のコードの中で(1)のところがうまく作動できません。 ここの ActiveCell.Select を正常にするにはどうしたらよいかご教示をお願いします。 Sub 最終日の検索() Dim FC As Range Dim mydate As Date mydate = Range("BQ5").Value For Each FC In Range("BR30:BR300") If FC.Value = DateValue(mydate) Then Exit For End If Next If FC Is Nothing Then MsgBox "みつかりませんここでおわりです" Exit Sub End If MsgBox "見つかりました" & vbLf & FC.Address(0, 0) & vbLf & FC.Value ' ' ここに処理を追加したい ActiveCell.Select ’----------(1) Selection.Offset(0, 45).Select ActiveCell.Select 貼付けしてあるかどうか Set FC = Nothing End Sub ---------------------------------- Sub 貼付けしてあるかどうか() If ActiveCell.Value = "※※" Then MsgBox " 既に貼付けしてあります" Else MsgBox "貼付けしてないので処理します" End If End Sub

  • VBA マクロ シート 転記

    はじめまして。VBA初心者です。今シート1のA列1行目セルにA社、A列2行目にB社、A列3行目にC社と・・ざっと1000行程あり、それぞれB列には値があります。この値をシート2のB列に転記したいと思っています。ただ、毎月シートを追加していきますので、左隣のシートから転記しなければなりません。シート2の項目は同じA列とB列で構成されています。A列の値が多少前後するので、FINDを使って以下のようなプログラムを作りました。ただ、左隣のシートから転記とう内容をどうやって追加したら良いのかがわかりません。Previous をどこかに使えばできるのかなとも思うのですが、その方法がわかりません。 Sub 転記() Dim ws As Worksheet, ws1 As Worksheet, r As Range, r1 As Range Dim LastRow As Long, i As Long, er As Long, wkey As String Set ws = Worksheets("Sheet1") Set ws1 = Worksheets("Sheet2") LastRow = ws.Range("A1").End(xlDown).Row er = ws1.Range("A1").End(xlDown).Row Set r = ws.Range("A1:A" & LastRow) For i = 1 To er wkey = ws1.Range("A" & i) Set r1 = r.Find(What:=wkey, LookIn:=xlValues, LookAt:=xlWhole) If Not r1 Is Nothing Then ws1.Range("B" & i) = r1.Offset(, 1) End If Next Set r1 = Nothing Set r = Nothing Set ws = Nothing Set ws1 = Nothing End Sub どなたか詳しいお方いらっしゃいましたら、初心者の私に教えて頂けませんでしょうか?宜しくお願いします。

専門家に質問してみよう