電子書籍の厳選無料作品が豊富!

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

A 回答 (2件)

こんばんは。



OWC いわゆる、スプレッドシートコントロールには、ドラッグ&ドロップの機能はないはずです。それに、OWC が、果たして、スプレッド・シートをまたいでデータがやり取りできるものでしょうか。VB6にあったものが、本当に、OWC だったのでしょうか。VB6 で作ったものなら、単に、Run Time の不足だけで、Win XP でも動くはずです。前回の質問でも、クリップボードを使わずにとか、Book のワークシートのようには行かないはずです。

それと、スプレッドシート1とスプレッドシート2 ということは、Sheet1/Sheet2 ではなく、オブジェクトを二つ入れているという意味でしょうか。いずれにしても、今のスタイルでは、ほとんど思ったようには動かないのではないでしょうか。

Excelを立ち上げるなら、Bookのワークシートを上手に使ったほうが、賢明だと思います。データロガーでしたら、OLEかDDE になっているだろうから、Excel自体で実現すればよいのではないかと思います。ここでも、DDEインポート・マクロの質問はいくつか出ています。

VB6風にするといって、UserFormを使うというのは、もともとOLE ですから、概ね、うまく行かない気がします。不明の問題があるからです。ある程度の経験者なら、そういう設計はしないと思います。もし、そのまま実現しようとするなら、他言語で市販のグレープシティなどのスプレッドシート・コントロールを使ったほうが良いのではないかと思います。
    • good
    • 0
この回答へのお礼

早速の回答ありがとうございます!
ドラッグ&ドロップの機能がなかったんですねぇ。
わかりました。

昔、VB6でどなたかが作ったソフトがあるのですが、文字化けしてますし正常に動作しません。ソフトのコード自体に不具合があるのかもしれません。ユーザーフォームで作り直せたらいいなーと思ったんですけど。ソフトがないしどないもいきません。不明の問題もあるのでしたらできませんねぇ。

とりあえず、今あるオフィスソフトで、120個程度のロガー項目から必要な数項目をひろって、自動処理をするものを作りたかったのですが、別の市販ソフトに頼らないといけないみたいですね。
検討します。ありがとうございました。

お礼日時:2009/06/15 09:26

>スプレッドシート1


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

この回答への補足

スプレッドシートはワークシートとは別ですよ。
ユーザーフォーム上に作った、OWC11.Spreadsheetコントロールの事です。

VB6.0で、必要なロガーデータ項目をドラッグ&ドロップするソフトがあるのですが、WindowsXPに対応していません。
オフィス2003のエクセルVBAで同じものを作りたいのですが、ネットで検索してもまったく引っかかりません。

ドラッグ&ドロップのコードがわからないので、
その部分のVBAコードを教えていただきたいのです。

補足日時:2009/06/12 12:06
    • good
    • 0

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