• 締切済み

EXCELの入力

Excelの入力のことですが、行番号と列番号をそれぞれ別々 に入力したら、 その入力した行-列のところに指定の文字列or数値を 自動で入力されるような関数はないでしょうか。 教えてください。

みんなの回答

回答No.3

こんな動きでよいのでしょうか? 入力はお問い合わせのとおりとします。データは何列でもかまいませんが、(a)列が連続している、(b)データは100件まで、を仮定しています。 ※入力シートを "Sheet1"、別シートを "Sheet2" とします。 ------------------------------------------------ Sub Jump() 'データの数を数えます For CK = 1 To 100 Cells(1, CK).Select D = ActiveCell If D = "" Then Exit For End If Next CK 'データがない場合のメッセージを出します。 Select Case CK Case Is = 1 ERMSG = MsgBox("データがありません") End Case Else CK = CK - 1 End Select '煩わしい画面更新を止めます。 Application.ScreenUpdating = False '別シートにデータの数だけ転記します。 For DataNum = 1 To CK Worksheets("Sheet1").Select Cells(1, DataNum).Select 行 = ActiveCell Cells(2, DataNum).Select 列 = ActiveCell Cells(3, DataNum).Select 文字 = ActiveCell Worksheets("Sheet2").Select Cells(行, 列).Select ActiveCell.FormulaR1C1 = 文字 Next DataNum 'シート更新停止を解除します。 Worksheets("Sheet1").Select Application.ScreenUpdating = True End Sub

kodapy
質問者

お礼

またまた回答いただきありがとうございます。 自分で調べてみたのですが、なかなかわからなかったので 早速試してみます。 ありがとうございます。

回答No.2

関数は表示したいセルに設定するものですので、通常の関数ではできないでしょうね。マクロを利用することになると思います。 例えば―― A1に行番号:11 とします。 A2に列の名:K とします。 A3に表示したい文字列:こんにちわ とします。 を入力してボタンを押すと、K11 に こんにちわ が表示されるというように、です。 ------------------------------------------- つぎのようにしてみてください。 1.「フォーム」ツールバーから「ボタン」を選択して画面の適当な場所にボタンを作成。 2.表示される[マクロの登録]ダイアログボックスで適当なマクロ名(Jumpにしましょう)を入力し、[新規作成]をクリック。 3.VisualBasicEditorが開き、画面の右半分に次のように表示されるはずです。     Sub Jump() <1行空いて> End Sub   この空行に、次の8行をコピーして貼り付けます。 Range("A1").Select Gyo = ActiveCell Range("A2").Select Retu = ActiveCell Range("A3").Select Moji = ActiveCell Cells(Gyo, Retu).Select ActiveCell.FormulaR1C1 = Moji 4.VisualBasicEditorを終了してから セルA1、A2、A3 に適当な数字や文字を入れ、先ほど作成したボタンをクリックしてみてください。

kodapy
質問者

お礼

早速の回答ありがとうございます。 入力の省力化をしてまして、 テンプレートを作りたかったのでが、 早速試してみます。

kodapy
質問者

補足

追加ですが、 A1、B1、C1…に連続で行番号 A2、B2、C2…に連続で列番号を入力し、 A、B、C…とそれぞれ行と列が対応し、 別のSheetの対応する行番号、列番号に A3に入力した文字列等を入力されるように できるのでしょうか。 もしよければ教えてください。 お願いします。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

関数でないのですが、下記の方法を提案します。 ●行と列は別々に例えばA(エンタ)3(エンタ)のように入れ、もう一つデータを入力するのですか。A3(エンタ)のように、どこかに入れるのですか。 本件の質問の目的が入力の省力化にあるのなら、その目的に添わないのではないですか。それともディスク等に列Aや行3など及びデータが記録されたものが既にあるのでしょうか。 ●それより、例えばA1セルを入力用セルに決めておいて、データを入力し、データをセットすべきセルをクリックすると、A1のセルの値がセットされ、A1がクリアーされる、下記2行のマクロ(VBA)はいかがですか。この方が便利だと思います。試して見てください。 Private Sub Worksheet_SelectionChange(ByVal Target As Range) ActiveCell = Range("a1") Range("a1") = "" End Sub ●このVBAを入れるやり方がわからなければ補足を入れてください。詳しく1ステップずつの説明文を入れます。ご存知として省きます。 ●テキストボックスなどをSheet1の画面に配置して、そこにデータを入力し、入力データをセットすべきセルをクリックすると、テキストボックスの値がセットされ、テキストボックスのテキストエリアがクリアーされるという風なのも、上記と似た風に簡単なVBAで出来ます。 ●Range("a1") = ""を省いたものも、場合によると使い道があります。 (同じ値を、あっちこっちの指定したセルにセットしたいときなど。)

kodapy
質問者

お礼

早速の回答ありがとうございます。 入力の省力化をしてまして、 テンプレートを作りたかったのですが、 一番目の人同様に試してみます。

関連するQ&A

  • エクセルで入力書式設定

    エクセルで1234と数値入力した時には12.34、123と数値入力した時には1.23と小数点を自動的に付ける方法を関数は使わない(書式等?)方法があれば教えて下さい。 又は、文字列で '12.34と入力したときに12.34と数値に変換する方法を関数は使わない(書式等?)方法があれば教えて下さい。 (入力セルと結果セルは同一セルです)

  • キーワードを入力すると、ExcelのVLOOKUP

    キーワードを入力すると、ExcelのVLOOKUP関数のように、表の中の一番左側の列からキーワードと同じ値のセルを探して、その行にある別のセルの文字列を、ある特定の場所に自動入力させることはできますか?

  • Excelのことですっごく困ってます!!!!

    エクセルでオートフィル機能を使うと連続データの入力や文字列などをコピーしたり出来ますよね!! そこで質問なんですが、数百の数値が入力されていて指定したセルに数式を入力してオートフィル機能を実行すれば簡単に全部にその数式が適用されるとは思うのですが、数百の数値の中に文字列が入力されている場合「0」か「エラー」が入力されてしまうと思うのですが、文字列だけを飛ばして数値入力されている行だけに数式を適用されるようにすることは出来ないのでしょうか???? データが限りない数あります。文字列の行に入力されてしまう「0」や「エラー」を消すだけでもかなりの数になってしまうのです。期限のあるものなのですごく困ってます!! エクセルの詳しい方大至急助けてください!!!!!!!!!!

  • 文字を入力したら数値が自動入力!(エクセル)

    いつもお世話になっています。 例えばA列の1行目に「りんご」と入力(若しくはリストの中から選択)すれば、B列の1行目には自動的に「5」と数値が入力されるという仕組みを教えて頂ければと思います。 因みにA列1行目に入力する文字(上記の例では「りんご」)が仮にA列の1行目以外に入力しても、それに対応し、数値を出せるようにしたいのです。(例:A列5行目に「りんご」を入力すると、B列5行目に数値の「5」が表示) 以上の説明で分かりにくいかもしれませんが、宜しくお願いします。

  • エクセルについて

    どなたかご教示ください。 エクセルで、ある一つのセルに一定の文字列や数値が入力されたら、 それによって、違う列にある、ある一つのセルから横や盾方向に指定した数のセル数まで、一定の文字列や数値が入力される様に、なんて出来ますでしょうか? 小生、関数やVBAなるもの、よくわからないもので申し訳ありませんがよろしくお願いいたします。

  • エクセルの列や行に数値の後の単位入力方法

    エクセルの数値入力の際、指定した同じ列や同じ行で入力した数字のあとに常に同じ単位が入力なしで表示されるようにするにはどうすればよいのでしょうか? たとえば3列はすべて数字を入力すると ℃ が自動表記されるよにする。 基本的なことだと思うのですが、宜しくお願いします。

  • エクセル関数で、列に1~5の数値がランダムに1000行ほど入力されてお

    エクセル関数で、列に1~5の数値がランダムに1000行ほど入力されており、隣の列に1は5に、2は4に、3は3に、4は2に、5は1に変換する方法を教えていただけますでしょうか?

  • エクセル 一つのセルで数値入力と数式を有効にできませんか?

    エクセル2002を使っています。   A B 1 b 150 2 b 120 3 a ― 4 c 160 A列に入る文字がa以外であればB列に数値入力でき、aであれば”-”が自動的に表示されるようにしたい。 IF関数を使うと-表示は可能です。=IF(A1="a","-","") しかし数値を入力すると関数が消えてしまいます。 両方を有効にする方法はないのでしょうか? どなたかご存知の方、ご教授お願いします。

  • エクセルで自動入力されちゃう

    自分で作ったデータなのですが,ある名簿を作成するに当り, フルネームのセルを通常入力で入れ,姓と名や,同姓が居たら名の1文字目を()して付けるなどの列もあり,それらはすべて関数で導き出しています。 今は1400レコードを超えているのですが,いつからか,名前を入れると,姓や名が自動的に表示されるようになりました。 自分で細工したのかと思うのですが,すぐ一行下のセルをクリックして 数式バーで確認しても関数が入っているわけでもなく, 入力規則が設定されているわけでもなく, 条件付き書式が設定されているわけでもなく, マクロが組まれているわけでもなく... 自分で作ったデータなのですが,わかりません。 エクセルが賢くなって,しばらく上の行に続いた関数をそのまま引き継いでくれているかとも思うのですが, 同じ行数続く,ある関数(関数として8個目=8列目)は自動入力されません。 何かご存知の方,またはこんな設定をしたのでは?ということがわかれば教えて下さい。 便利なのですが,書式は引き継がれないし,気持ち悪くて,結局上の行の数式をコピーしています。

  • エクセルマクロ 特定の文字入力の際の処理

    お世話になります。 エクセルマクロで、sheet1のE列の6~30行に指定する文字が入力された際、 B列のその同じ行にある文字を取得し、その取得した文字をsheet3のC6から K6まで書き出していきたいのですが、どのようにしたらよいでしょうか? if関数も考えましたが、条件の設定に困ってしまいます。 マクロで良い方法があれば教えていただけると助かります。

専門家に質問してみよう