質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

Q&A

解決済

2回答

381閲覧

VBAを用いたExcel処理に関して

sotooki

総合スコア15

VBA

VBAはオブジェクト指向プログラミング言語のひとつで、マクロを作成によりExcelなどのOffice業務を自動化することができます。

VB.NET

Microsoft Visual Basic .NETのことで、Microsoft Visual Basic(VB6)の後継。 .NET環境向けのプログラムを開発することができます。 現在のVB.NETでは、.NET Frameworkを利用して開発を行うことが可能です。

0グッド

0クリップ

投稿2018/02/21 11:55

編集2018/02/22 01:50

前提・実現したいこと

Exelのセルに値が書き込まれている横のセルでリアルタイムに関数処理(メディアン関数処理)を行いたい

発生している問題・エラーメッセージ

本来関数処理が行われているセルにオリジナルの値が出力されてしまっている。

該当のソースコード

Private Sub Excel3() 'エクセル xlSheet.Cells(Ne , 1).Value = DATAZ(1) xlSheet.Cells(Ne , 2).Value = xlApp.WorksheetFunction.Median(xlSheet.Cells(Ne + 2, 2), xlSheet.Cells(Ne + 4, 2))    //メディアン関数を用いて3つのデータの中央値を出力したい Ne = Ne + 1 //出力データを下に一つシフト End Sub

Exelに既存のデータがあるわけではなく、リアルタイムに出力される値を用いて関数処理を行うことはできないのでしょうか。

補足情報(FW/ツールのバージョンなど)

Visual Studio

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

coco_bauer

2018/02/21 12:06

「リアルタイムに出力される値」というのは、どこから出てきて、どのようにしてVBAでアクセスできる場所(セル?関数?)に入るのでしょうか??
sotooki

2018/02/21 13:30

シリアル通信によって取得したデータをExcelに動的に転記しています。
ExcelVBAer

2018/02/22 00:46

エクセルが嫌いなのでしょうか。 (誤)Exel → (正)Excel
guest

回答2

0

ちょっと説明不足で、状況やらやりたいことやらが掴みきれません。

「質問への追記・修正」の中で「シリアル通信によって取得したデータをExcelに動的に転記しています。」と回答いただいているようです。

「動的に転記」というのは、取得データをVBAマクロかなにかでシート上に取り込んでいる、ということでしょうか。

今回の目的は、そのシートに取り込んだ値に対して中間値をとりたい。

「リアルタイムに」ということですので、中間値算出用マクロを実行したら結果が反映されるのではなく、ワークシート関数のように値を変更したらすぐ反映されるような使い方をしたい、ということでしょうか。
もし取り込み処理がVBAマクロなら、そこに中間値算出ロジックも組み込んでしまうというのも一つの手ですが。

背景やデータ構成、中間値をとるルールなどについてもう少し追記いただけると、具体的なアドバイスができると思います。

例えば
・事前処理としてシリアル通信により取得したデータファイルがある。
・Excelマクロで取り込み処理を行うことで、シート上のA列にデータが書き込まれる。
・書き込まれたデータの隣の列に、指定の3セル(例えば自行と前後行の3セル)の中間値を出力する。
など。

よろしくお願いします。

投稿2018/02/22 06:51

編集2018/02/22 06:59
jawa

総合スコア3013

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ベストアンサー

コメントに「3つのデータの中央値を出力したい」とありますが、
シート関数の MEDIAN の引数は2つになっています。
引数を3つにすべきでは?

投稿2018/02/22 00:49

ExcelVBAer

総合スコア1175

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sotooki

2018/02/22 01:51

確かに引数が足りませんでした。 訂正してみます。ありがとうございます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問