まとロゴす

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

*

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

      2016/02/14

 - 科学・IT

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

スポンサーリンク

  関連記事

新築を期にネットと同時にテレビも見られるようにしたい

戸建で家を新築する時に配線計画も検討します。この際ですからインターネットのLANも一緒に敷設すれば後々有線でネット利用出来る上にテレビも楽しめるなら一石二鳥です。

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

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

スマホを解約したがWi-Fiは使える?

2台持っていたスマホの内、古い方のスマホを解約しました。スマホ自体は別に故障もなく、まだまだ使えます。なんか勿体ないなぁと思って他に使い道が無いか調べました。

Twitterに登録する際の注意しておくべきこと

数多くのSNS中でLINEとならんで人気なのがTwitterです。どのSNSにも言える事ですが、利用する上でやってはいけない事や、あらかじめ注意しておくべき事が有ると思います。初めてTwitterを始めるときに注意しておくべき事を調べました。

重いデータを送る方法は

データを送りたいと思ったとき、サイズが重くて悩んだ事はありませんか。今送りたいのに、CDに焼いて郵送なんて時間が掛かりすぎる。そんな時、良い方法はないか調べてみました。

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

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

ビデオカメラのデータの管理はどうする?データの保存方法

ビデオカメラで撮ったデータの管理はどうしていますか?最近はスマホの画質もいいのでスマホで撮影している人もいるのではないでしょうか。今回はビデオカメラやスマホで撮影したビデオの保存の仕方について調べました。

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

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

スマホで小説を書きたい!お勧めのアプリ

今はスマホさえあればPCはいらないというほどスマホが進化しましたね。そんなスマホで小説も書くことができるようです。今回は小説家デビューも夢じゃない、小説を書く時にお勧めのアプリを調べました。

パソコンで画像を切り取り加工する

画像の加工は憶えるととても便利。人混みの中で撮った彼女との写真、パソコンで映り込んだ余計なものを切り取ってしまえば二人だけのツーショット写真をつくる、調べたのはそんなやり方です。

メールアドレスに使う大文字小文字について

今や、連絡方法の1つであるメールが大活躍。今では欠かせないアイテムの1つとなっています。そこでお気に入りのアカウントに大文字を入れたいのですが、メールアドレスを作るときに大文字と小文字を識別してくれるのでしょうか?

エクセルのマクロの削除は難しいの?

パソコンのエクセルを自由に操れますか?エクセルのマクロを駆使できるとても作業がはかどり便利です。しかし、必要がなくなったときに削除をする方法がわからないことがよくあります。いくつかの方法を連記してみました。活用してしてみてください。

Androidのタブレットを使いたい!その使い方とは

最近はタブレットを使っている人も多いですね。しかしAndroidoのタブレットはどう操作すればいいのかわからない人もいるのではないでしょうか。今回はAndroidのタブレットの基本的な使い方について調べました。

PCの動画をDVDプレイヤーで再生する方法とその拡張子

DVDプレイヤーを使って動画を見る場合があります。PCに入っている動画をDVDに焼いて、再生したい時など、やり方に困ったことはありませんか。その場合には、拡張子はどのようなものが適切なのでしょうか。PCの動画をDVDプレイヤーで再生する方法とその拡張子について調べてみました。

ヤフオクで入札した後に取り消しをしたい

ヤフオクを利用されている方も多いことでしょう。様々な商品が出品されていてとても便利ですよね。しかし、間違ったときなどに入札取り消しなどはできないものなのでしょうか。そこで今回はヤフオクで入札取り消しについて調べてみました。

エクセルにはる写真の容量を小さくする

エクセルを使って作業されている方も多いのではないでしょうか。画像、図を貼る際に、容量が気になったことはありませんか?画像の容量を小さくして貼ることはできるのでしょうか。また、その方法はどうなのか。知らべてみました。

化学の実験で危険なこと

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

IEのフォントの変更や文字を太くする方法

IEを使っている方も多いと思います。インターネットで検索するときに文字のフォントや太さを変えてみたいと思ったことはありませんか?今回は、IEのフォントや文字の太さの変更について調べてみました。

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

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

ファイルにパスワードを設定して保護することが出来る?

ワードやエクセルなどで作ったファイルに、パスワードをかけて管理することが出来るのを知っていますか?人に見られたくないファイルや、大切なファイルにパスワードがかけられたら安心ですよね。ファイルにパスワードの設定をする方法について調べてみました。

●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