解決済み

文字を検索し、同行の離れたセルに単語と数値を反映

  • 困ってます
  • 質問No.1445420
  • 閲覧数114
  • ありがとう数1
  • 気になる数0
  • 回答数3
  • コメント数0

お礼率 56% (32/57)

B列から「○○」という文字を検索し、
(1)該当した行のIセルに「小計」と入力
(2)Jセルに、Cセルの数値に「個」を付けたものを表示させる
という作業を延々と繰り返しています。

該当する行はランダムにあります。
並べ替えが出来ない状態なので、VBAなのかな??と思うのですが、
マクロの記録ぐらいしかやったことがなくて…。

良い方法があれば教えて下さい。
お願いします。

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

  • 回答No.3

ベストアンサー率 15% (296/1946)

#2です。
小計はIでしたね。#2の例で言うと、A列に書き込まれてしまうから気をつけてね。
補足コメント
ricky223

お礼率 56% (32/57)

ご回答ありがとうございます。

#2の
「Set rgeA = wkA.Cells(lrow, 1) 」を「Set rgeI = wkA.Cells(lrow, 9) 」に
「rgeA.Value = "小計"」を「rgeI.Value = "小計"」に
書き換えればよいのでしょうか?
投稿日時 - 2005-06-12 23:38:30
お礼コメント
ricky223

お礼率 56% (32/57)

できました!
ありがとうございました!!

でも全然解読できなくて、自分の無力ぶりが沁みてきます・・・ f^_^;
投稿日時 - 2005-06-12 23:47:55

その他の回答 (全2件)

  • 回答No.2

ベストアンサー率 15% (296/1946)

次のような感じかな?
#なおマクロに貼り付けるときは全角スペースを置換してね。

Sub sample1()
 Dim wkA As Worksheet
 Dim rge As Range, rgeA As Range, rgeJ As Range
 Dim adr As String
 Dim lrow As Long
 Set wkA = ActiveSheet
 
 With wkA.Range("B:B") 'B列のみ検索
  Set rge = .Find("○○", LookIn:=xlValues)
  If Not rge Is Nothing Then
   adr = rge.Address '最初の位置を登録
   Do
    lrow = rge.Row '行取得
    Set rgeA = wkA.Cells(lrow, 1) 'A列
    Set rgeC = wkA.Cells(lrow, 3) 'C列
    Set rgeJ = wkA.Cells(lrow, 10) 'J列
    rgeA.Value = "小計"
    rgeJ.Value = CStr(rgeC.Value) + "個"
    Set rge = .FindNext(rge) '次を検索
    'rgeが検索されないか,最初の位置に戻っていないか
   Loop While Not rge Is Nothing And rge.Address <> adr
  End If
 End With

End Sub
  • 回答No.1

ベストアンサー率 22% (379/1719)

ご質問の回答になるか疑問な所もありますが・・・

Iセルに
=IF(B1=○○,"小計","")

Jセルに
=IF(B1=○○,C,"")
セルの書式設定で表示形式をユーザー定義 #個 とする

でいかがでしょうか?
補足コメント
ricky223

お礼率 56% (32/57)

ご回答ありがとうございます。
ごめんなさい、書き忘れていましたが、
I, J列とも、データが入力されている行もあるんです。
なので、すべてのセルに関数の貼り付けが出来ないんです・・・。
投稿日時 - 2005-06-12 23:35:54
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ