• ベストアンサー

エクセルであるセルに数字を入力すると他のセルのデーターから文字が入力

nishi6の回答

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.2

質問のような動きをするようにしてみました。 ツール→マクロ→Visual Basic Editor でVBE画面に移り、 表示→プロジェクトエクスプローラでプロジェクトエクスプローラを表示します。 プロジェクトエクスプローラのSheet1をダブルクリック。出てきたコードウインドウに下記マクロをコピーして貼り付けます。 ここから ↓ Private Sub Worksheet_Change(ByVal Target As Excel.Range)   Dim rg As Range 'セル   Dim rgfnd As Range '見つけたセル   On Error GoTo ErrorHandler   Application.EnableEvents = False   For Each rg In Target     'Sheet1のA列なら     If rg.Column = 1 Then       'Sheet2を検索       Set rgfnd = Worksheets("Sheet2").Range("A:A").Find(rg.Text)       If Not rgfnd Is Nothing Then         '見つかったら書き換える         rg = rgfnd.Offset(0, 1).Text         Set rgfnd = Nothing       Else         rg = rg.Text & ":nothing"       End If     End If   Next   Application.EnableEvents = True   Exit Sub ErrorHandler:   'エラー対応   Application.EnableEvents = True End Sub

71063
質問者

お礼

いつも大変お世話になっています 今回もすばらしいことです 大尊敬です ほんとに有り難うございます 今後ともよろしくお願いします

関連するQ&A

  • 再質問:エクセルであるセルに数字を入力すると他のセルのデーターから文字が入力 

    すいません、nish6さんの回答で解決し締め切った後で、また分からなくなりもう一度質問しました。分からないところは最初と少し例が増えています。 例 sheet1   A B C  1 1   A1→A1を入力するとsheet2に入力されている        データーC列から、該当する番号を判断  ↑     して、ああとセル内に表示する   1を入力するとsheet2に入力されているデーターA列   から、該当する番号を判断して、東京とセル内に   表示する sheet2   A B  C D 1 1 東京 A1 ああ 2 2 千葉 A2 いい 3 3 埼玉 A3 うう 行はまだ下に続く 最初のnish6さんの回答をこの下に貼り付けましたが 分からないのは、sheet1にC列が増えたときマクロをどう変えればいいか分からないことです ご教授をお願いします ここから ↓ Private Sub Worksheet_Change(ByVal Target As Excel.Range)   Dim rg As Range 'セル   Dim rgfnd As Range '見つけたセル   On Error GoTo ErrorHandler   Application.EnableEvents = False   For Each rg In Target     'Sheet1のA列なら     If rg.Column = 1 Then       'Sheet2を検索       Set rgfnd = Worksheets("Sheet2").Range("A:A").Find(rg.Text)       If Not rgfnd Is Nothing Then         '見つかったら書き換える         rg = rgfnd.Offset(0, 1).Text         Set rgfnd = Nothing       Else         rg = rg.Text & ":nothing"       End If     End If   Next   Application.EnableEvents = True   Exit Sub ErrorHandler:   'エラー対応   Application.EnableEvents = True End Sub

  • EXCEL セル内の特定文字を抜き出したい

    sheet1のセル番号A1に 東京都江戸川区船堀タワー屋上 が入力されています。 次に、sheet2のA列に下記のような表があります。 A列 東京 大阪 沖縄 千葉 埼玉 青森 この場合で、 sheet2の表を検索値とし、sheet1のセル番号A1を検索して"東京"を 値として返したいです。 sheet2の表に入力されている検索値が1つなら、IF、SERCH、MID関数 を使って抜き出すことができましたが、検索値が複数、検索範囲が1 つのセル(SHEET1のA1内の文字列)の場合、検索できますでしょうか? ※IF、SERCH、MIDを使うと、すごく長い関数文になったので、できる  だけ、短い関数文だと助かります。 知恵をお貸しください。 よろしくお願いします。

  • Excelで同一セル内に入力されているデータを他のセルに分割したい

    こんにちは。 宜しくお願い致します。 エクセルで同一セル内に、セル内改行で1~6列ほどのデータが入力されています。 A1セル~A100セル…という風に、縦にデータが入力されていて、それぞれのセルにセル内改行を含み、データが入力されているイメージです。 それぞれのセル内のデータを… 例えば、A1セル内に5行入力されていたら、A2セルから入力されている行数分(ここでいうと5行)挿入し、それぞれにデータを分割して入力させたいと思っています。 以下のセルも同様に、挿入→分割といった感じで全データを分割させたいのです。 OKWave内でもチェックして、 http://okwave.jp/qa1927817.html?ans_count_asc=2 や http://okwave.jp/qa4216384.html など、近いものはいくつか見つけたのですが、ピッタリのものが見つからず、マクロの編集もよくわからなかったのでこちらで質問させてもらいました。 どなたか申し訳ありませんが、教えていただけますか? 宜しくお願い致します。

  • エクセルでセルに数字を入力することにより行をコピー挿入

    仕事で送り状作成用のデーターを作っています。 行に郵便番号、住所、名前等が入力されてます。この1行をコピーしたいのですが、セルに必要する数字を入力することによりコピー挿入することはできないでしょうか? 例)    A       B       C      D 1  郵便番号  住所       名前    コピー行数 2  100-0001  東京都港区・・・ 山本太郎    5 3  101-0001  東京都江東区・・ 山田花子    8 以下複数行続きます。 D列に必要なコピー行数を入力することにより、一発でコピーできる方法をご教授くださいませ。エクセルのマクロを使えばできそうなのですが、マクロはあまりわかりませんので、できるだけ詳しくお願い致します。

  • 指定したセルに連続データを入力

    お世話になります。 指定したセルを先頭に、任意で指定した範囲で連続データを自動入力するマクロを組みたいです。 具体的には... A1にシリアル番号の先頭番号_例えば"25"と入力 B1にシリアル番号の最後尾の番号_例えば"35"と入力 データを入力すると、C列の5行目を先頭に、25,26,・・・,35と下方向に自動割り当て。 自分ではなりに下記の様に、C列に指定した範囲で1つずつ入力するプログラムは組めましたが... For i = Cells(1, 1) To Cells(1, 2) Worksheets("Sheet1").Cells(i, 4) = i Next i これでは5行目から入力したいのに、25行目から始まってしまいます。 指定したセルに上記のプログラムで実行した数値を入力していくプログラムがいまいち 分かりません。 ご教授の程おねがい致します。

  • VBA 検索したセルに入力

    ExcelのVBAを使用して データの入力されたファイルに行列から検索したセルに数値を入力したいのです。 例えば、名前(行)と、日付(列) 2つの条件で、セルを検索し、該当するセルに、データ(数字とか)を 入力したいのです ------------------------------------  6/1 6/2 6/3 6/4 ・・・ a b c ・ ・ ------------------------------------ 例えば、A5に名前、B5に日付、データエリアがB10:Z20の場合 =INDEX(B10:Z20,MATCH(A5,A10:A20,0),MATCH(B5,B9:Z9,0)) で、該当するセルを探すことはできたのですが、 このセルに、データを入力したいときは、 ROWやCOLUMNで、行番号、列番号を取り出して Cellsで、入力すればいいのかな?と考えていますが もっと簡単にできるのでしょうか? (FIND関数は、使ったことがなく、どうなんだろう?と) それでいいよ とか、こっちの方が簡単 とかあれば、教えてください 

  • マクロを使って文字が入力されたセル数を数える

    マクロを用いて、文字が入力されたセル数をカウントしたいと考えていますがうまくいかず悩んでおります... 具体的には、セルB1からB1000にデータが入力された場合、左隣のA列に1から番号を付したいと考えています. B列が空白のままの行は、A列も空白にしておきたいです. (セルB1からB1000まで全てにデータが入力された場合、A1からA1000には1から1000までの番号が入る) また、A列に付された番号を判断し、100番毎にA列からE列までセル背景を色分けしていきたいと考えています. (B列が空白ならxlNoneでその行は無色のままにしたい) セル背景の色分けだけであればうまくいったのですが、B列の入力状況により自動でA列に番号(数字)を変化させたら思い通りに動かず困っています. ご教示、宜しくお願いします.

  • セルとセルに入力された文字を一緒にする方法。

    A1セルに「東京都渋谷区神宮前」 B1セルに「1-1-1」 と入力してあります。 それを 東京都渋谷区神宮前1-1-1 という風に、例えばC1に入力したいです。 またA1セル及びB1セルのデータが、 縦に数千行入力してあるので、 一つだけでなく、全てのデータを変換出来る 方法をご教示願いたいです。 宜しくお願いします。

  • Excelで離れたセルに連続したデータを貼り付けたい

    セルB5「=sheet1!C7」のデータをコピーし、 セルB7「=sheet1!C8」 セルB9「=sheet1!C9」・・・ と、連続したデータを貼り付けていきたいのですが、 セルB7「=sheet1!C9」 セルB9「=sheet1!C10」・・・ と行数も2つ飛びで貼り付けになってしまいます。 毎回ひとつひとつ入力するのが大変な手間なのですが、 なんとかならないでしょうか? もうひとつ質問です。 セルB5「=sheet1!C7」のデータを セルE5「=sheet1!C36」 セルH5「=sheet1!C65」 と行番号を29ずつずらして貼り付けたいのですがこれも簡単に貼り付ける方法はないでしょうか? やっぱり毎回ひとつひとつ入力するのが大変です・・・。

  • EXCEL 同じセルに入力したデータを別のシートに順次保存して行きたい

    シート1の同じセルに入力したデータを別のシート2に順次保存して行きたい、詳細に方法を教えて下さい。A1・・・・・・An行まで