• 締切済み

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/17069)
回答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

専門家に質問してみよう