エクセルで、フォームを使ってデータ入力をし、データを蓄積(行が下へ伸びてゆく)していくファイルがあるのですが、複数の人がネットワーク上で同じファイル(共有book)を開いて作業するイメージで質問です。
 フォーム上に入力したデータをエクセルシートに落とす前に、1回保存-シートへ書き込み-再度保存とやれば、データがバッティングせず、うまく蓄積されていくのかなと漠然と思っていたのですが、うまくいきませんでした。
 これは、1回保存すれば、他の誰かが作業したデータを自分の開いているbookに反映させ、そのデータにフォームのデータを追加して行くというというように考えていたのですが、この考え方は間違っているのでしょうか?また、ほかに何か良い方法があるでしょうか?
 

このQ&Aに関連する最新のQ&A

A 回答 (1件)

初めまして、こんばんは。



ちょっと、質問から時間が経っているので、解決されているかもしれませんが・・・。

共有ブックは、一番最初に開いた人が変更の権利を持っており、その後になされた変更は反映されません。これは基本ルールです。違うデータが同じ名前でいくつもあると、整合がとれないので、こういうルールがあるのだと思います。
解決策としては、入力前に本ファイルのコピーを作り、そのコピーファイルに入力、終了時に共有ファイルへ書き足し、保存というのがベストではないかと思います。

頑張って下さい。

この回答への補足

ご指摘の要領で試してから返事をと思い、ついつい時間が経過してしまいました。
実は、まだ試していないのです。
しかしながら、「一番最初に開いた人が変更の権利を持つ」というところは、データがバッティングした場合、確か共有の設定のところで、誰の変更部分を反映し、保存するかという選択ができるようになっていたと思いますが、それとは話がちがうのでしょうか?
解決策としてご指摘の入力用ファイルとデータ保存用ファイルを分けてやるというのが確かにベターのような気がしてきました。ただ、これでも、タイミングによっては(データ保存用ファイルの読み込み時がバッティングするなど)後発ユーザーに「読み取り専用」を強いることがあるのでベストではないような気がしています。でもまあ、ぜいたくを言わずに、この方法を追求してみたいと思います。
ありがとうございました。

補足日時:2002/02/02 12:03
    • good
    • 0

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q共有タグの英語表示

windows98でホルダの共有タグが英語表示になりファイル名が1バイトの8文字以下しか設定出来なくなりました。修正方法をわかる方は教えて頂たいです。
(表示以上は共有タグのみ)

Aベストアンサー

「共有」タブは
c:\windows\system フォルダにある
MSSHRUI.DLL
が担っています。

このファイルの「プロパティ」から「バージョン情報」を開いて

バージョン:4.10.1998(私のは)
言語:日本語 ←重要

こうなっているか確認してみてp(*・o・*)q

Qデータシート形式のサブフォームでコンボボックスでの入力がうまくいかない

サブフォームはデータシート形式です。
メインフォームは受注フォーム。サブフォームは受注明細フォームです。
サブフォームのソースは受注明細テーブルです。
サブフォームに商品コードのコンボボックスがあって選択すると
該当する商品名、販売価格を商品マスタテーブルから検索して表示
したいので以下のようにためしてみました。

Private Sub 商品コード_AfterUpdate()
'
' 商品名 = DLookup("商品名", "T_商品マスタ", "商品コード='" & 商品コード & "'")
' 販売価格 = DLookup("販売価格", "T_商品マスタ", "商品コード='" & 商品コード & "'")
商品名 = 商品コード.Column(1)
販売価格 = 商品コード.Column(2)

End Sub
そうすると、商品コードを選択すると商品名と販売価格が
全行同じものに変わってしまいます。
どうすればよいでしょうか?
ご教示していただけませんでしょうか?
よろしくお願い致します。

Aベストアンサー

>全行同じものに変わってしまいます。
非連結のコントロールに値を代入すればそうなります

そもそも
>商品コードのコンボボックスがあって選択すると
>該当する商品名、販売価格を商品マスタテーブルから検索して表示したい
これが目的ならVBAやDLookup関数など持ち出さず
サブフォームのソースを受注明細と商品マスタを商品コードで
結合したクエリにすれば済む話ですね

QVista Home Premiumの日本語版と英語版の共有

先日NECのLavie LL850/LGを購入しました。現在Vista Home Premiumがインストールされているのですが、外国人の夫と共有するため、英語版を入れたいのですが可能でしょうか?他の方法もあれば教えてください。

また方法などが詳しく載っているサイト等がありましたらよろしくお願いします。

Aベストアンサー

>英語版を入れたいのですが可能でしょうか?

英語版のVISTAを購入するなら、もちろん可能です。しかし、HDDからのリカバリー機能が正常に使えなくなりますので、あらかじめリカバリー用の再セットアップディスク作成ツール(ハードディスク消去機能付き)を使ってのディスク作成をしておいて下さい。

HDDを分割する必要がありますので、半分づつでよければ、70GB程度を作成しなおします。これは、上記の方法で作成したものを使い、HDDを半分程度、使うという設定で可能です。ここまでできれば、あとは、購入したVISTAの英語版をインストールし、残りのHDDに部分を使えば、起動時に画面を選ぶデュアルブートが作成されます。

私の場合には、東芝のノートで英語版を購入したので、日本語版のVISTAのアルティメットを後から追加でインストールしたのですが、その後はノートを私があまり使わないので、英語版の最初からついていたVISTAホームプレミアムはほとんど使っていません。

別の方法として、アップグレードしてアルティメットにすると、英語も日本語も自由に使えますので、ユーザーだけを複数設定することも可能です。多言語機能が便利ですし、セキュリティーも細かく設定できるので、普段の私は、デスクトップでアルティメットを使っています。もっとも、完全に独立させたければ、アルティメットを2つ入れ、デュアルブートにして、暗号化すると、お互いに完全に見えませんので、まさに共用できます。そこまで必要ないなら、アルティメットにアップグレードするか、単純に現在のままで、ユーザーを一人増やし、英語で表示するように設定するだけでも有効だとは思います。

>http://www.nihongo-ok.com/

こちらの方法の逆で、言語を英語に設定し、再起動するだけで、英語で使えるようにできますので、これで、大部分の対応が可能ということです。

本当は、もう一台、パソコンを用意し、そちらを英語だけで使うのがベストなのでしょうが、まずは、リカバリーディスクを作成し、どうなっても戻せる状態にすることは基本です。それから、いろいろ試して下さい。個人的には、アルティメットにすると、すごく多言語に対して有効ですので、通常は問題なく使えるようになります。

http://forums.microsoft.com/TechNet-JA/ShowPost.aspx?PostID=1679715&SiteID=36

>Officeに関する補足。
>多言語に対応したOfficeは普通にパッケージで購入することはできません。
>Open Licenseなどのライセンスを購入する方式で、Office 2007(英語版)+マルチランゲージパックという形で購入する必要があります。

蛇足ですが、追加で英語版のVISTAを購入すると、そちらでは、テレビ機能を使えなくなったり、使うために苦労することが予想されます。また、オフィスも別に購入することになりそうですので、その点も検討した方がよいです。アルティメットにアップグレードするだけなら、ほぼ、現在の状況を引き継げますので、満足できる共有環境も可能だと思います。私は、完全に追加ライセンスで購入しましたが、アップグレードの方が安いですので、値段の差も考慮して下さい。

>英語版を入れたいのですが可能でしょうか?

英語版のVISTAを購入するなら、もちろん可能です。しかし、HDDからのリカバリー機能が正常に使えなくなりますので、あらかじめリカバリー用の再セットアップディスク作成ツール(ハードディスク消去機能付き)を使ってのディスク作成をしておいて下さい。

HDDを分割する必要がありますので、半分づつでよければ、70GB程度を作成しなおします。これは、上記の方法で作成したものを使い、HDDを半分程度、使うという設定で可能です。ここまでできれば、あとは、...続きを読む

Qエクセル 入力フォームシートからデーター保存シートの一番下の行に貼り付けをしたいのですが・・・・・

入力フォームシートの F3:K3 M2:U2 F4:J4 F7:I7 L7 N5:O5 H6:J6 F8:K8 のセルから データー保存シートのA列・B列・C列・D列・E列・F列・G列・H列の順番で保存していきたいのですが、VBA初心者でマクロの登録で、一番下の行に貼り付けがどうしてもうまくいかず、保存ボタンを押すと全ての行に貼り付けられて(-"-)困っています。救助お願いします<(_ _)>

Aベストアンサー

とりあえず、こんな事でしょうか?
-------------------------------------------------------------------------
Sub Sample()
Dim 行 As Long
Sheets("データー保存シート").Select
行 = Cells(Rows.Count, 1).End(xlUp).Row + 1
If Cells(1, 1).Value = "" Then 行 = 1
With Sheets("入力フォームシート")
Cells(行, 1).Value = .Range("F3:K3").Value
Cells(行, 2).Value = .Range("M2:U2").Value
Cells(行, 3).Value = .Range("F4:J4").Value
Cells(行, 4).Value = .Range("F7:I7").Value
Cells(行, 5).Value = .Range("L7").Value
Cells(行, 6).Value = .Range("N5:O5").Value
Cells(行, 7).Value = .Range("H6:J6").Value
Cells(行, 8).Value = .Range("F8:K8").Value
.Select
End With
End Sub
-------------------------------------------------------------------------

とりあえず、こんな事でしょうか?
-------------------------------------------------------------------------
Sub Sample()
Dim 行 As Long
Sheets("データー保存シート").Select
行 = Cells(Rows.Count, 1).End(xlUp).Row + 1
If Cells(1, 1).Value = "" Then 行 = 1
With Sheets("入力フォームシート")
Cells(行, 1).Value = .Range("F3:K3").Value
Cells(行, 2).Value = .Range("M2:U2").Value
Cells(行, 3).Value = .Range("F4:J4").Value
Cells(行, 4).Value = .Range("F7:I7")....続きを読む

Q英語しかわからない外国人の友達と写真を共有出来るWeb Albumを探

英語しかわからない外国人の友達と写真を共有出来るWeb Albumを探しています。
自分で色々探してみましたが、希望のものが見つからないのです。

私の希望は…

1.無料で利用出来るもの(大容量は必要ではありません)

2.内容に応じて「○○の時の写真」「××の時の写真」の様に、写真をアルバム毎に分ける事が出来るもの

3.出来れば、各アルバム毎にパスワード設定をかけられて、見せたい相手にだけ見せる事が出来るもの

例えば、ホームパーティーをした時の写真はその時の参加者だけに公開、BBQに行った時の写真はその時の参加者だけに公開…という風にしたいのです。

日本のサイトで言うとBIglobeがやっているウェブリアルバムの様なものが希望に合うのですが、海外のサイトでは上記の2や3が出来るものが見つかりません。

以前はYahoo!USAの中のPhotoのページで出来たのですが、今はPhotoのサービスが無くなってしまい、困っています。

どうしても上記の条件に合うサイトが無い様ならば、パスワードが掛けられなくてもいいので、URLを通知した相手だけが見られるものでも結構ですが、2の「アルバムの区分け」はどうしてもしたいです。

ご存知の方がいらっしゃいましたら、どうかご紹介下さい。
宜しくお願いします。

英語しかわからない外国人の友達と写真を共有出来るWeb Albumを探しています。
自分で色々探してみましたが、希望のものが見つからないのです。

私の希望は…

1.無料で利用出来るもの(大容量は必要ではありません)

2.内容に応じて「○○の時の写真」「××の時の写真」の様に、写真をアルバム毎に分ける事が出来るもの

3.出来れば、各アルバム毎にパスワード設定をかけられて、見せたい相手にだけ見せる事が出来るもの

例えば、ホームパーティーをした時の写真はその時の参加者だけに公開、BBQに行った...続きを読む

Aベストアンサー

世界中と有るので
http://picasa.google.com/features.html#utm_medium=embed&utm_source=pwalogin


こちらもきっと
http://www.zorg.com/
http://www.flickr.com/

QExcel 蓄積された売上データを別シートに書き出す方法を教えて下さい

Excel2002を使った、下記のようなファイルがあります。
A列    B列   C列     D列     E列
製品コード 製品名 売上数量  売上金額  売上年月日
12345    A    2      1000     20001213

過去5年間の全製品の売上データが上記のような形式で1つのシートに蓄積されています。(売上年月日の昇順でソートされています)
このデータを、売上年月ごとに別シートに分けていきたいのですが、何かいい方法はありますでしょうか?
最初はオートフィルタで抽出して1つづつ別シートに移していこうかと思ったのですが、結構なデータ量でしたので、質問させて頂きました。
よろしくお願いします。<m(__)m>

Aベストアンサー

一応置いておきます。
元データはシート1枚だけにしておいてください。
シート名はなんでもいいです。
データの並びもバラバラでも構いません。
作成するシートの最初の月と最後の月を変えて使ってください。

Sub Macro()

Dim i
Dim month As Variant
Dim mon_str As String
i = 2
month = DateSerial(2000, 12, 1) '←ここにこの形式で最初の月を入れる
mon_str = Format(month, "yyyymm")

Do
Sheets(1).Select
Sheets.Add
Sheets(1).Cells(1, 1) = Sheets(2).Cells(1, 1)
Sheets(1).Cells(1, 2) = Sheets(2).Cells(1, 2)
Sheets(1).Cells(1, 3) = Sheets(2).Cells(1, 3)
Sheets(1).Cells(1, 4) = Sheets(2).Cells(1, 4)
Sheets(1).Cells(1, 5) = Sheets(2).Cells(1, 5)
Sheets(1).Name = mon_str
Sheets(1).Move After:=Sheets(i)
i = i + 1
month = DateAdd("m", 1, month)
mon_str = Format(month, "yyyymm")
Loop Until mon_str = "200501" '←ここにこの形式で最後の月の次の月を入れる

Sheets(1).Select

Dim x, y
x = 2
Do
mon_str = CStr(Cells(x, 5))
month = DateSerial(Val(Left(mon_str, 4)), Val(Mid(mon_str, 5, 2)), Val(Right(mon_str, 2)))
mon_str = Format(month, "yyyymm")
y = 1
Do
y = y + 1
Loop Until Sheets(mon_str).Cells(y, 1) = ""
Sheets(mon_str).Cells(y, 1) = Sheets(1).Cells(x, 1)
Sheets(mon_str).Cells(y, 2) = Sheets(1).Cells(x, 2)
Sheets(mon_str).Cells(y, 3) = Sheets(1).Cells(x, 3)
Sheets(mon_str).Cells(y, 4) = Sheets(1).Cells(x, 4)
Sheets(mon_str).Cells(y, 5) = Sheets(1).Cells(x, 5)
x = x + 1
Loop Until Cells(x, 1) = ""

End Sub

一応置いておきます。
元データはシート1枚だけにしておいてください。
シート名はなんでもいいです。
データの並びもバラバラでも構いません。
作成するシートの最初の月と最後の月を変えて使ってください。

Sub Macro()

Dim i
Dim month As Variant
Dim mon_str As String
i = 2
month = DateSerial(2000, 12, 1) '←ここにこの形式で最初の月を入れる
mon_str = Format(month, "yyyymm")

Do
Sheets(1).Select
Sheets.Add
Sheets(1).Cell...続きを読む

Q極性/無極性共有結合について(英語含む)

いつも楽しく拝見させて頂いています。

極性/無極性共有結合が良く分かりません。
(Polar/nonpolar covalent bond)

授業で、

Polar=electrons shared unequally
Nonpolar=electrons shared equally

と習いましたが、その状況がうまく思い浮かびません。

一応、水(H2O)はPolar Covalent Bondということまでは分かりました。
ではNonpolar Covalent Bondの場合はどんなものがあるのでしょう。

非常に申し訳ないのですが、
小学生レベルでも分かる説明方法で教えて頂けませんでしょうか。

よろしくお願い致します。

Aベストアンサー

共有結合そのものに極性の大小があるというよりも、共有結合(電子の共有)によって異種または同種の原子が結合し、そのときそれぞれの原子の「電子の引っ張りやすさ」(求電子性)や「引っ張りにくさ」(求核性)の大小で極性が生じる、と考えてはいかがでしょうか。

HとOとの間の共有結合では共有電子の存在するが酸素原子側に偏るので、【H-O】のペアでは酸素側が-δ、水素側が+δとみなせるので「極性」が生じます。しかし、たとえば同種の原子(例として有機分子の【C-C】)の間では「電子の引っ張り合い」や非共有性電子対の偏りも無いので基本的に「非極性」となります。

ただ同じ【C-C】結合であっても、その先に更に別の化学基があってそれが電子を引っ張りやすいか逆に押し戻す場合には【C-C】結合間に「極性」構造が生じることもあります。その意味でも共有結合自体に「極性」「無極性」の区別があるわけではありません。

Qエクセルで5分ごとにデータを蓄積、保存したいのですが…

エクセルでRSSよりリアルタイムに取得した(株価)を表示させています。
それを自動で5分ごとに自動でデータ蓄積させる方法はありませんか?

4行目のA列からCU列の50列ほどにデータをリアルタイムで取得しています。

その4行すべてを5分後に5行目にコピー
       10分後に6行目にコピー
   15分後に7行目にと連続して保存したいと思います。

終了は5時間後です。

   A列 B列 C列 D列 E列・・・CU列
-------------------------------------------
4行 10  5  30  40  50 ・・・ 80
--------------------------------------------
5行    5分後
6行   10分後
7行   15分後
: :
: :

いろいろなサイトで探して悪戦苦闘してるのですが、どれもうまくできずにいます。
VBA初心者です。

上記のような場合は、どのようにコードを書いたらいいでしょうか。
ご教示いただければありがたいです。
よろしくお願いいたします。

エクセルでRSSよりリアルタイムに取得した(株価)を表示させています。
それを自動で5分ごとに自動でデータ蓄積させる方法はありませんか?

4行目のA列からCU列の50列ほどにデータをリアルタイムで取得しています。

その4行すべてを5分後に5行目にコピー
       10分後に6行目にコピー
   15分後に7行目にと連続して保存したいと思います。

終了は5時間後です。

   A列 B列 C列 D列 E列・・・CU列
-------------------------------------------
4行 10 ...続きを読む

Aベストアンサー

失礼しました。
Application.OnTime Now + TimeValue("00:00:15"), "Tset"
では15秒間隔ですね。
Application.OnTime Now + TimeValue("00:05:00"), "Tset"
でお確かめ。

Q英語のファイル共有サービスをさがしています

日本語であれば、「宅ふぁいる便」とかがありますが、海外の取引先との間で、大容量のファイルのやりとりをしたいので、同様のサービスをさがしています。

日本語も英語も使えるというのがベターですが、英語だけでもかまいません。

よろしくお願いします。

Aベストアンサー

大容量といっても
どれくらい送るのかわからいので
たしか宅ふぁいる便は
50MBが最高だったはずなので
100MBのここ紹介しときます
使ったことないのでわかりませんが
YouSendItというとこです
http://s6.yousendit.com/

参考URL:http://s6.yousendit.com/

Qエクセルでフォームを使って日付を保存しようとしているのですが、なぜかシートに保存された表示形式が違う

エクセルでフォーム(VBA)を使って日付を保存しているのですが、
保存をした後シートの内容を見ると表示形式が違って保存されている。
保存のときに米暦に直すようにフォーマットをかけているのですが、保存されたデータは、”mm/dd/yy”ではなく、別の形式になってしまっている。

確認した症状としては、たとえば先月のデータであれば、通常に保存されているので今月のデータ(具体的には12/04/06と入力すると形式が、違って保存されてします。
よろしくお願いします。

Aベストアンサー

こんにちは。

最初に、フォームではなく、UserFormだということで、書かせていただきます。フォームツールを使いこなす人もいないわけではありませんが。

>具体的には12/04/06と入力すると形式が、違って保存されてします。

それには、本来、まともにやるのだったら、入力を、自分が考える日付のDate型として認識させるコードが必要です。本来は、12/04/2006 とすれば、正しいDate型として認識しているはずです。

しかし、ごく簡単な方法は、ワークシート側の自動キャストが働かないようにして、テキストベースで、以下のように貼り付けることですね。たぶん、こんなところで、とりあえずは良いかもしれません。ただし、日付の入力間違いについては、チェックが働いていません。

例:

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
Dim myDate As String 'Date型でなく、String型で
If KeyCode = 13 Then 'Enter で、入力
 myDate = TextBox1.Text
 Cells(1, 1).NumberFormatLocal = "mm/dd/yy" '必ず先に来る
 Cells(1, 1).Value = myDate
End If
End Sub

こんにちは。

最初に、フォームではなく、UserFormだということで、書かせていただきます。フォームツールを使いこなす人もいないわけではありませんが。

>具体的には12/04/06と入力すると形式が、違って保存されてします。

それには、本来、まともにやるのだったら、入力を、自分が考える日付のDate型として認識させるコードが必要です。本来は、12/04/2006 とすれば、正しいDate型として認識しているはずです。

しかし、ごく簡単な方法は、ワークシート側の自動キャストが働かないようにして、テキ...続きを読む


人気Q&Aランキング