これ何て呼びますか

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

A 回答 (7件)

#3です。

補足に気づくのが遅くなり恐縮です。

>保存して行きたい
やはりそうでしたか(^^)。以下を試してみてください。

--------------------------------
Private Sub CommandButton1_Click()
Range("A1").Value = Range("A1").Value + 1
Worksheets("sheet2").Cells(Range("A1").Value, 1) = TextBox1.Text '(注)
End Sub
--------------------------------
Private Sub TextBox1_GotFocus()
TextBox1.Text = ""
End Sub
--------------------------------

実行し直す場合はセルのデータを消してください。
Sheet1のセルA1に入力データを表示するのをやめ、これを「現在行のインデクス」にしました。例えば4まで来たところで7に書き換えるなど、実験してみてください。動きを理解いただけると思います。

全てSheet1で済ませるには(注)の行を以下のようにします。このほうが手軽ですが、ご希望はSheet2ですかね。
Cells(Range("A1").Value, 2) = TextBox1.Text
    • good
    • 0
この回答へのお礼

今晩は、何回もお手数をお掛けし申し訳ありません、貴殿が言われる通りやりましたら無事出来ました本当に有難う御座いました。

お礼日時:2005/10/13 19:23

#4さん同様質問の意味が良く飲み込めませんが、同じ解釈を仮定として考えます。

シート1のデータの入ったセルをコピーし、シート2に編集 ~ 形式を選択して貼り付けでリンク貼り付けにします。(リンク貼り付けボタンをクリック。)するとシート1で変更したデータはシート2のそれぞれのセルに反映されますから今度はそれを再度コピーして値として貼り付け、元データは削除します。(削除は任意で)複数のシートを作成する場合はこれでは都合が悪いのでシート2のリンクをはずすためにこのの操作が必要です。)次のシートをつくる場合はこれを3シート目、4シート目と繰り返し保存すれば一つのブックとして保存されます。必要なシート数だけあらかじめリンク貼り付けで作っておいても良いかもしれませんね。
    • good
    • 0

#3です。

いただいた補足に従い、マクロの例をお知らせします。

■マクロの作成

Sheet1を選択します
コントロールツールボックスでテキストボックスを選択、シート上の任意の位置にTextBox1を追加します
同様にデザインモードを選択、TextBox1をダブルクリックしてVisualBasicエディタ上でTextBox1オブジェクトのGotFocusプロシージャを以下のとおり編集します

Private Sub TextBox1_GotFocus()
Worksheets("sheet2").Range("A1").Value = TextBox1.Text
TextBox1.Text = ""
End Sub

Sheet1を選択します
コントロールツールボックスでコマンドボタンを選択、シート上の任意の位置にCommandButton1を追加します
同様にデザインモードを選択、TextBox1をダブルクリックしてVisualBasicエディタ上でCommandButton1オブジェクトのClickプロシージャを以下のとおり編集します

Private Sub CommandButton1_Click()
Worksheets("sheet2").Range("A1").Value = Range("A1").Value
Range("A1").Value = TextBox1.Text
End Sub

■動作確認

TextBox1に "ABC" と入力します
CommandButton1を押します
Sheet1!A1に "ABC"と入力されます
Sheet2!A1は空白のままです
TextBox1にカーソルを置きます
Sheet2!A1に従前の "ABC" が保存されています
TextBox1に "DEF" と入力します
CommandButton1を押します
Sheet1!A1に "DEF"と入力されます

■補足

「どのようなマクロを作成すればよいか」は以上です。初心者の方のVBAプログラミングに必須の基礎知識をここで「簡単に」ご説明することは不可能です。申し上げました「マクロの作成が可能であれば」の主旨は「マクロの作成に必要な基本的なスキルをお持ちであれば」ということです。興味をお持ちであれば、参考URLのような入門者向けサイトをご参考になさってください。なお、上の例には、申し上げました「不用意なセルの更新を防止する考慮」は含みません。

参考URL:http://www.geocities.jp/ktaji99/excel/VBAlearnin …

この回答への補足

再度教えて下さい、貴殿の言われる通り行いましたら出来たのですが、シート2に於いては、同一セルにデータが貼り付けられてしまいます、A1に入力されたら、次はA2・・・・・Anと言った感じで貼り付けされるにはどうしたら良いでしょうか?大変申し訳ありません。

補足日時:2005/10/08 16:31
    • good
    • 0
この回答へのお礼

貴殿の通りやりましたら出来ました、本当に有難う御座いました。この場をお借りして勉強して行きたいと思っています、今後とも宜しくお願い致します、有難う御座いました。

お礼日時:2005/10/04 20:54

ご質問の意味がいまいちハッキリしませんが、言葉を変えて表現すると、例えば、



シート1のA1に、あるデータ(数字又は文字列)を入力する都度、シート2のA1に、同じデータが自動的に反映されるようにしたい。(以下、同様に、シート1のA2→シート2のA2
のように………。)

このような意味だと仮定してお答えします。
まずシート2のA1セルを選択して
 =
を入力し、そのままシート1を開き、セルA1を選択しEnterをクリックします。
するとシート1のA1に入力したデータがシート2のA1に反映されることがお分かりと思います。

続いてシート2のA1を選択して右クリック→そこで「コピー」を左クリックし、CTRLキーを押しながら、同様にデータを反映したい他のセルを順次左クリックで選択し、し終わったところでEnterキーを押します。
これでOKです。

もしご質問の意味が前記と違っていたら補足説明をお願いします。
    • good
    • 0

セルにデータが入力された際、入力前の内容を参照することはできないので、マクロを使わずにこれを行うことはできません。

その仕様の例を挙げれば以下のようになります。

シート1にテキストボックスを設け、データが入力されると以下マクロが実行される
 シート1!セル1の内容でシート2!セル1を置き換える
 テキストボックスに入力された内容でシート1!セル1を置き換える

セルではなくテキストボックスに入力したデータをセルに格納するという仕様でも良く、マクロの作成が可能であれば、試みてください。なお、各セルが不用意に変更されないように配慮する必要があります。

この回答への補足

当方、53歳初心者の為どのようなマクロを作成すれば良いのか再度教えて下さい、宜しくお願いします。難しい事は、解りませんので簡単にお願いします。

補足日時:2005/10/04 05:16
    • good
    • 0

CTRLキーを押しながら、シート名の書かれているタブを横にドラッグすると、同じ内容のシートが作られます。


新しくできたシートのタブをクリックして名前をつければ完成です。
    • good
    • 0

ワークシートの名前の上で右クリックして、「移動またはコピー」をクリックして、コピーを作成するをチェックして同じ内容のシートをコピー

したらだめですか?

この回答への補足

データーがランダムに存在する為、データー入力画面とデーター保存シートを別々にしたいと思っています。当方初心者の為簡単詳細に教えて下さい。

補足日時:2005/10/04 05:25
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!