• ベストアンサー

オフィス2003VBAのスプレッドシートでドラッグ&ドロップは可能でしょうか?

オフィス2003VBAで、ユーザーフォーム上にあるスプレッドシート1に表示させたデータの項目を、スプレッドシート2へドラッグ&ドロップしたいのですが可能でしょうか? できるのであればVBAコードを教えていただきたいのですが。 ご存知の方、よろしくお願いします。

  • ddtqp
  • お礼率68% (139/203)

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 OWC いわゆる、スプレッドシートコントロールには、ドラッグ&ドロップの機能はないはずです。それに、OWC が、果たして、スプレッド・シートをまたいでデータがやり取りできるものでしょうか。VB6にあったものが、本当に、OWC だったのでしょうか。VB6 で作ったものなら、単に、Run Time の不足だけで、Win XP でも動くはずです。前回の質問でも、クリップボードを使わずにとか、Book のワークシートのようには行かないはずです。 それと、スプレッドシート1とスプレッドシート2 ということは、Sheet1/Sheet2 ではなく、オブジェクトを二つ入れているという意味でしょうか。いずれにしても、今のスタイルでは、ほとんど思ったようには動かないのではないでしょうか。 Excelを立ち上げるなら、Bookのワークシートを上手に使ったほうが、賢明だと思います。データロガーでしたら、OLEかDDE になっているだろうから、Excel自体で実現すればよいのではないかと思います。ここでも、DDEインポート・マクロの質問はいくつか出ています。 VB6風にするといって、UserFormを使うというのは、もともとOLE ですから、概ね、うまく行かない気がします。不明の問題があるからです。ある程度の経験者なら、そういう設計はしないと思います。もし、そのまま実現しようとするなら、他言語で市販のグレープシティなどのスプレッドシート・コントロールを使ったほうが良いのではないかと思います。

ddtqp
質問者

お礼

早速の回答ありがとうございます! ドラッグ&ドロップの機能がなかったんですねぇ。 わかりました。 昔、VB6でどなたかが作ったソフトがあるのですが、文字化けしてますし正常に動作しません。ソフトのコード自体に不具合があるのかもしれません。ユーザーフォームで作り直せたらいいなーと思ったんですけど。ソフトがないしどないもいきません。不明の問題もあるのでしたらできませんねぇ。 とりあえず、今あるオフィスソフトで、120個程度のロガー項目から必要な数項目をひろって、自動処理をするものを作りたかったのですが、別の市販ソフトに頼らないといけないみたいですね。 検討します。ありがとうございました。

その他の回答 (1)

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

>スプレッドシート1 とは、表計算ソフトのシート(とか機能)を総称して、言う言葉。オフィス2003ならワークシートでしょう。回った言い方の真意は? >ユーザーフォーム上にあるスプレッドシート1に ユーザーフォーム上にスプレッドシート1があるの? シート1のセルにある、データ項目を、ユーザーフォーム上にある何かのコントロールに表示しているのか? そのコントロールはなに?これを書かないと。 どうして、コード的に難しい事になる、D&Dをしないとならないのか。 値代入ではダメなのか。思い付きではないのか。 質問者が出来る範囲の方法で、仕様を変えることは出来ないのか。 ーー この質問を離れて、上の見地から考えると、全体的に何がやりタイのか。 >VBAコードを教えていただきたいのですが 全般的にコード作成を要求するのは規約違反だと思う。 自分でやってみて、行きずまった1歩先をアドバイスしてもらうのが本筋では?

ddtqp
質問者

補足

スプレッドシートはワークシートとは別ですよ。 ユーザーフォーム上に作った、OWC11.Spreadsheetコントロールの事です。 VB6.0で、必要なロガーデータ項目をドラッグ&ドロップするソフトがあるのですが、WindowsXPに対応していません。 オフィス2003のエクセルVBAで同じものを作りたいのですが、ネットで検索してもまったく引っかかりません。 ドラッグ&ドロップのコードがわからないので、 その部分のVBAコードを教えていただきたいのです。

関連するQ&A

  • ドラッグ&ドロップについて

    初歩的なことを教えて下さい。 VB6を使用してドラッグ&ドロップの処理を作成したいのですが、どのように行ったら良いのか分かりません。 内容は、フォーム上にある一つのアイコン(ピクチャーボックスなど)を、同フォームの別の領域に、ドラッグ&ドロップで追加させて表示させる処理となります。また、追加されたアイコンをそれぞれコード上で判別もできるのでしょうか? 宜しくお願いします。

  • VBAにて、ユーザーフォーム上に設置したスプレッドシートを編集するコー

    VBAにて、ユーザーフォーム上に設置したスプレッドシートを編集するコード VBAにて、OMC?という機能を使ってユーザーフォームにスプレッドシートを複数設置しました。 このスプレッドシート上にあるデータを、エクセルシートに持ってくる事はできたのですが、スプレッドシートそのもののデータの追加、削除等が出来ません。 スプレッドシート→エクセルシートへのデータ移動はこのようなコードを使っています。これは問題なく動きました。 Sheets("DB").Range("H1").Value = UserForm1.Spreadsheet2.Range("A" & cnt).Value ですが、逆に UserForm1.Spreadsheet2.Range("A" & cnt).Value = Sheets("DB").Range("H1").Value としても、エラーは出ませんが反映されないようです。 やりたい事は、スプレッドシートのある範囲の値をクリアしたいというもので UserForm1.Spreadsheet1.Range("B10:H22").Select Selection.Clear このように設定したのですが、やはり反映されません。 ユーザーフォーム上のスプレッドシートを編集するには、何か特別なコーディングが必要なのでしょうか?

  • テキストボックスの値を スプレッドシートへ表示するには?

    Excel2003 VBA ユーザーフォームへ Textbox1 Textbox2 Textbox3 と スプレッドシートを配置しています。 Textboxの値を スプレッドシートの指定した位置に表示したいのですが コードはどの様に書いたらいいのですか? 例えば… Textbox1 スプレッドシートの A1 Textbox2 スプレッドシートの B1 Textbox3 スプレッドシートの C1 VBAまだ初心者です。 

  • ドラック&ドロップ

    他のHPにある画像をドラック&ドロップでFlashで動いているHPにドラック&ドロップしてきた画像を貼り付けたいのですが(一時的に)画像データを取得するようなメソッドがあるのかどうか、ご存じの方はお答え下さい。また、ありましたらその使い方もお願いします。

    • ベストアンサー
    • Flash
  • コントロールのドラック&ドロップ

    コンニチワ VBでフォームに配置したコントロールを ドラック可能にして フォーム上でドラック&ドロップを 検出してドラック前の位置から ドロップ後の位置にコントロールを 移動させたいのですが どうしてもずれたりして 上手く配置されません どなたか同じようなことをやったことがある方 ベストなやり方 わかる方教えて下さい よろしくお願いします

  • スプレッドシートに小さい表示でデータを貼り付ける方法を教えてください

    オフィス2003VBAのスプレッドシートにエクセルデータを貼り付けると、とても大きな文字で表示されます。 文字の大きさを小さく表示させるにはどうしたらよろしいでしょうか? また、スプレッドシート枠を小さく表示(例えばズーム50%)させるにはどうしたらよいでしょうか? ご存知の方教えてください。よろしくお願いします! 使っているコードは以下になります。 Dim xlWb As Object Set xlWb = GetObject(Path & FileName_roga) xlWb.Worksheets(1).UsedRange.Copy

  • ドラッグ&ドロップについて

    VB.NETについて質問です。 ListViewでドラッグ&ドロップするコーディングをしているのですが、 外からListViewへのドラッグ&ドロップ(データ取り込み)、ListViewから外へのドラッグ&ドロップ(データ出力)、ListView内でのドラッグ&ドロップ(アイテム並べ替え)を区別する方法を教えて下さい。

  • 【VBA Excel】ドラッグアンドドロップをしたい

    (A) ExcelのVBAのListBox(か、類似のVBA機能)を使用してファイル(.csvファイルのデータ)の一覧を作成し、ドラッグアンドドロップ/D&Dで元エクセルシートに落としたセルを起点とし、選択したファイル内のデータを展開するデータを作ろうとしています。その際に分からないことが2点あります。 (A1) 他のワードファイルにはドドロップが有効なのですが、元エクセルファイルにはなぜかカーソルが例の進入禁止マーク(?)化してドロップできません。どうすれば元エクセルファイルにデータをドロップ出来るようになるのでしょうか? (A2) さらに、ドロップした後のセル("A3"や"B6"とか)の求め方が分かりません。 Private Sub ListBox1_MouseMove(ByVal Button As Integer, _  ByVal Shift As Integer, _  ByVal x As Single, _  ByVal y As Single) でx,yが座標を示すことは分かるのですが、ここからセルに変換するすべはあるのでしょうか? (B) また、Aで詰まったときに考えたのですが、ListBoxを表示させる代わり、に別シートに件のファイル一覧を展開して元シートと別シートを並べて表示させ(Windows.Arrange xlArrangeStyleVerticalを使用)、別シートから元シートにファイル名をドラッグアンドドロップしたときに同じ処理をするのもありかな、と思いついたのですが… (B1) Workbookの中の"SheetBeforeDoubleClick"や"Workbook_BeforeSave"が出ているリストの中にドラッグアンドドロップを示すようなものがないのですが、当該の処理は出来ないのでしょうか? -------------------- 当方、Excel2007のVBAを使用しています。 長文になりましたが、AまたはBのどちらかが解決する必要があります。断片的な答えでも大歓迎です。お願いします!

  • 秀丸へのドラック&ドロップ

    秀丸へのドラック&ドロップができなくなってしまいました。 秀丸を開いていて、 そこに他のテキストファイルやc、c++ファイルなどを ドラック&ドロップで持っていこうとしても、 秀丸上でアイコンが禁止マーク(?)のようなものになってしまい、 ドロップできません。 突然このような状態になってしまいました。 それと同時に秀丸を起動する度ユーザーアカウント制御のダイアログが表示されるようになってしまい、 大変うざくなってしまいました。 何か設定があるのでしょうか。 情報をお持ちの方がいらっしゃいましたら、 お教え願えませんか。 よろしくお願い致します。

  • Excel2010ドラック&ドロップができません

    どうか詳しい方教えてください。最近、Office2010にしました。これまでExceで図を挿入して、それをWordにドラック&ドロップをしていましたが、Excel2010では、禁止マークのような表示が出て、図を移すことができません。オプションも確認しましたがわかりませんでした。よろしくお願いします。

専門家に質問してみよう