まとロゴす

日常のチョットした事や疑問、豆知識を取り纏めてみました。

*

VBA関数の使い方と埋め込みについて

      2016/02/14

 - 科学・IT

Excelで仕事の内容や学校の課題をやる人も多いことでしょう。なかなかうまく使いこなせないのではないでしょうか。様々な関数がある中で、VBAはどのように使用すればよいのでしょうか。今回はVBA関数の使い方と埋め込みについて調べてみました。

スポンサーリンク

  関連記事

インターネットで自分のサイトを開設!検索ヒットする方法は?

今は自分でも簡単にインターネット上でホームページを開設することができます。しかし開設したはいいものの、多くの人にアクセスしてもらうにはどうしたらいいのでしょうか。今回はインターネットの検索でヒットする方法を知らべました。

ポイントアプリでお金が稼げる?オススメのアプリは

スマホの普及でアプリは身近なものになりましたが、ポイントアプリというものを知っていますか?お小遣いアプリとも言われ、このアプリでお金を稼ぐことも可能なようです。しかし中には詐欺まがいのものもあるようです。今回はオススメのポイントアプリについて調べました。

化学の実験で危険なこと

小学校の時から化学の実験はおこなわれています。様々な物質を使いどのような反応を起こすか、とてもわくわくしますよね。しかし時には実験で怪我をするなど、多くの危険が潜んでいます。今回は化学の実験のどのようなことが危険なのか調べてみました。

携帯がウイルスに感染!?騙されないための知識

あなたは、携帯を使っていて「あなたのスマホはウイルスに感染しています!」と警告されたことはありますか?人を不安がらせるいかにもといった画面を見ると、焦ってしまいますよね。でも…、それは悪質なニセの警告である可能性が大です。警告文に誘導されるがまま、ウイルス対策のアプリをいれたら、あなたの大切な個人情報が抜きとられてしまうかもしれません。そうならないためにも、これを読んで騙されないようにしてくださいね!

結婚式での余興ムービーの作り方

結婚式の際、余興ムービーなどが流れることがあります。そのムービーを自作する方も多くなってきているようです。しかし、ムービーの作り方はいったいどのようにすればよいのでしょうか。詳しく調べてみました。

USBのデータはコンビニで印刷できる

プリンタの調子が悪かったり、プリンタを持っていなかったりなど、すぐ印刷したい時など困りますよね。最近ではコンビニで印刷することができるようです。そこで、コンビニでUSBのデータを印刷する方法を調べてみました。

メールでBCC一斉送信のやり方と注意事項について

会社や友人などにメールでやり取りすることも多いでしょう。一斉送信をしたいときなど、やり方がいまいちわからないという方もいるかと思います。CCやBCCはどのような所が違ってくるのでしょうか。メールでBCC一斉送信のやり方と注意事項について調べてみました。

ニコ生をリアルタイムで見られないときはタイムシフト予約をしよう

ニコ生で見たい番組が有るのに、突然の用事が…なんて事は良くあります。生放送だからリアルタイムで視聴しないとダメだと思っていました。テレビの録画機能に似たタイムシフト予約と言うものがあるそうです。

関東で起きる地震の前兆を捕らえることは出来るか

関東で大地震が起きる可能性が非常に高くなっています。地震の起きる前兆を捕らえる事が出来れば備えることも出来るはず。実際可能なのかググって見ました。

スマホのテザリングを使ってパソコンをネットに接続

最近ではパソコンやスマホを持っている人も増えてきました。様々な方法でインターネットに接続していることでしょう。スマートホンにもテザリングといった機能がついていることがあります。テザリングとはどのようなもので、使用方法などについて詳しく調べてみました。

更新プログラムのインストールが毎回おこなわれる

Windowsをシャットダウンするときなどに更新プログラムのインストールが入ることがあります。しかし、何らかの原因で更新プログラムのインストールが毎回行われることがあります。原因は何なのでしょうか。対処法について調べてみました。

エクセルで図形の背景色を透明にする方法

エクセルにはいろいろな機能がありますね!すべてを使いこなしている人はなかなかいないかもしれんせんが、図形の加工もできることを知っていますか?取り込んだ画像の背景を透明にすることなども可能らしいので調べてみました。

ノートパソコンとモニターをケーブルで繋ぐ

ノートパソコンは便利だけれど、画面が小さく作業効率が悪いので悩んでいました。「高解像度の大きなモニターが有ればなぁ」と思っていました。「液晶テレビをモニターとしてケーブルで繋げばいいじゃん」と思い調べました。

無線Wifiルーターの通信速度が遅いときの対処法

最近では速度が速いものも出てきて有線よりも使い勝手が良くなってきています。でも、使っていると遅いと感じることも少なくありません。原因はルーター意外に何があるのでしょう。、

スマホでアプリを起動中に強制終了してしまう対処法

最近ではスマホでも数え切れないほどのアプリが存在しています。しかし、アプリを起動しても強制終了されてちっとも起動できなく、悩んでいる方も多いのではないでしょうか。なぜ、このような現象が起こるのか、原因や対処法について調べてみました。

スマホのイヤホンから音が聞こえない!その対処法は

最近はスマホで音楽を聴いている人も多いですね。しかしイヤホンを使って聴いていると音が聞こえなくなる時があります。今回はイヤホンで音が聞こえないときの対処法について調べました。

インターネットの戻るボタンに起こる様々な問題の解決策

皆さんもインターネットを使用されていると思います。いろいろな情報を収集できて便利ですよね。しかし、戻るボタンに不具合が現れることがあります。押しても戻らなかったり、そもそもボタンがないといったことがあるようです。そのような場合、解決策はどういったものなのでしょうか。

ノーベル賞受賞の国別ランキングを考える

毎年、年末が近づくと話題になるのがノーベル賞です。近年、日本が受賞をする様になってから益々気になります。国別ではどんな感じなのでしょうか?ノーベル賞のことも含めて、調べて見ました。

あなたは大丈夫!?PCの初心者にありがちなミスまとめ

PCを使っていると当たり前に出てくるワードも、初心者にとっては宇宙語に聞こえるんですよね(笑)PCに慣れていない人にありがちなミスをまとめました。あなたは大丈夫ですか?

ネットの画像をひろって貼り付けたいときはどうしたらいい?

ネット上で気に入った画像があれば、拾って貼り付けたいことはありますよね。自分のレポートなどにうまく活用するのに、方法が分かっていたら便利ですよね。ネットの画像の貼り付けはどうしたらできるのか、調べてみました。

●VBAとはなにか

VBAというのは「Visual Basic for Application」の略です。

『Basicを使ってアプリケーションを制御するためのコード(命令など)が書ける。 そしてそれはVisualな環境である』と言うことです。
つまり、 アプリケーションを自動で動かすための言語の中の一つです。
どのような言語かというと、Visual Basicです。
元々VBはWindowsのアプリケーションを作るための言語です。
それをアプリケーションを自動運転させるようにアレンジしたものがVBAです。ですから、VBとよく似ています。
最後の「A」はアプリケーションを動かすためのものであるという意味です。

Basicは、他の言語に比べて習得が容易だ、と言われています。
それは事実であると思います。 しかし、VBAがすぐに使いこなせるほど簡単だと言う意味ではありません。

VBAは主にMS Office製品にくっついてきています。 「マクロ」といえば理解が早い方もいるかもしれません。
しかし、Office製品でで「マクロ」とはホストアプリが自動的に記述されたVBAの事を指しています。

引用元-VBAとは何か

スポンサーリンク

  人気記事

●VBAプログラムを作成する2つの方法

VBAプログラムを作成する方法として、主に「マクロ記録を利用する方法」と「VBAコード(※)を直接記述する方法」の2つがあります。
※VBAプログラムでは、「キーワード」を使用して「ステートメント(1行のプログラム)」を作成し、ステートメントが集まって「プロシージャ(小さいプログラム)」が作成されます。この記事では、これらを総称して「VBAコード」と表記しています。

「マクロ記録を利用する方法」では、「マクロ記録」機能を使用してExcelの操作を記録し、自動生成されたVBAコードを「読んで編集」してVBAプログラムを作成します。この方法は、「Excelの一般的な操作から入ること」「いきなりVBAコードを記述しないこと」「VBAコードを読みながらVBAの文法を学習できること」などの理由から、プログラミング初心者が学習する場合に適した作成方法といえます。

しかし、この方法だと、自動生成されたVBAコードに無駄が多く、「簡単な1行のコード」を作成するために、不要なコードを読んだり削除したりする手間が発生する場合があります。また、より高度で便利なVBAプログラムを作成する上で限界もあります。

「マクロ記録を利用する方法」でVBAのプログラミングに慣れてきたら、「VBAコードを直接記述する方法」に切り替えていきましょう。簡単なプログラムであればサクッと作成できますし、高度なプログラミングも可能になります。

引用元-All About

●EXCEL VBA を使用して、特定のセルにVLOOKUP関数を埋め込むプログラムを組みたい

>「価格シート」の商品名がA列に入っている行のみB列にvlookup関数を埋め込みたいです。
には対応できているとおもいます。

>※「価格シート」に入っていない商品がA列に入っている場合はB列はそのままにしたいです。
>(空白なら空白、何か文字が入っている場合はその文字を採用)
取りあえず、C列に書き込みしています。
そこから切り取ってB列に入れています。

Dim rng As Range
Dim c As Range
Dim fmla As String

Set rng = Sheets(“一覧シート”).Range(“A1:A1000”).SpecialCells(xlCellTypeConstants)
Set rng = rng.Offset(, 2)
fmla = “=VLOOKUP(A” & rng(1).row & “,’価格シート’!$A:$B,2,FALSE)
rng.Formula = fmla
rng.SpecialCells(xlCellTypeFormulas, 16).ClearContents
Set rng = rng.SpecialCells(xlCellTypeFormulas)
For Each c In rng
c.Cut c.Offset(, -1)
Next

≫追記
直でB列に書きこむようにしてみました。

Dim rng As Range
Dim fmla As String
Dim c As Range

Set rng = Sheets(“一覧シート”).Range(“A1:A1000”).SpecialCells(xlCellTypeConstants)
Set rng = rng.Offset(, 1)
For Each c In rng
fmla = “=VLOOKUP(A” & c.row & “,’価格シート’!$A:$B,2,FALSE)”
If Not IsError(Evaluate(fmla)) Then
c.Formula = fmla
End If
Next

引用元-Yahoo!知恵袋

●VBAセルにSUM関数を相対参照で埋め込み変数を使用

最初に、昔、私も「goukei_start_row」のような変数の書き方をしていたことがありますが、ものすごく修正しにくくなりましたので、あまりそのような書き方をしないほうがよいです。インクリメンタルな変数は、i, j, k また、n,m など。また、Row を取って、rw とすれば十分です。今では流行りませんが、lngRow とかいう方法もあります。ブロパティ名や関数名そのものは使わないほうがよいです。×Row, Sum, Str
 私は、「goukei_start_row」という書き方は、ある参考本(九天社)にあったような気がしますが、一度でやめました。

次に、プロパティはつけましょう。ここでは、Formula でよいと思います。FormulaR1C1 は必要ありません。ただし、ローカル(日本版独特=日付式など)の数式が必要なときがあるので、FormualLocal も良いです。

マクロで合計の数式を入れる場合は、
>$を付けず=SUM(J11:J43)のような形にするにはどうすればよいのでしょうか?
ではなくて、本来は、=SUM(J$11:J43) のような形にするのが良いです。そうすると、数式はいつも同じです。

このマクロを試してみてください。

Sub Test1()
  Dim i As Long
  i = 44
  If i > 11 Then
    Cells(i, 10).Formula = “=SUM(R11C:R[-1]C)”
  End If
End Sub

なお、数式の本来の意味が、こういうことでなかったら、見過ごしてください。

引用元-教えて!goo

●最後に入力された次の空白セルに関数を埋め込みたい

ご提示のExcel数式は、そちらの望み通りに書けているものとして、
=IF(DATEDIF(E3,TODAY(),”Y”)>80,”大型中止”,”OK”)
この数式を行のみ相対参照で列は絶対参照でしていしたい、ということだとすると、
VBAでは、
NewDataRow = Cells(Rows.Count, “J”).End(xlUp).Row + 1
Range(“J” & NewDataRow).FormulaR1C1Local = “=IF(DATEDIF(RC5,TODAY(),””Y””)>80,””大型中止””,””OK””)”
のように設定します。

引用元-教えて!goo

まとめ
いろいろなことに使用できるかと思います。知識を身に着け効率を向上させましょう。

twitterの反応

 - 科学・IT