2008-01-01から1年間の記事一覧
Excel2007 で「並べ替え」をするには、以下のようなVBAのコードになります。 これは自動記録したマクロにちょこっと手を加えただけのものです。 Sub Macro1R() Dim shtA As Worksheet Dim sortA As Sort Dim rngA As Range Set shtA = Worksheets("Sheet1") Se…
MOUG(Excel VBA)2008/05/27 22:42:47 『OnActionで実行するプロシージャに引数を渡すと2度実行される?』 http://www.moug.net/faq/viewtopic.php?t=28150 で、なかなかおもしろいことがあったので書いておきます。 だいたいタイトルのとおりなんですが、…
Excel VBA でプログラムを作っている途中で、「この場合、この変数に何が入るのかな?」と確かめたくなった場合に、一時的に MsgBox を入れておいて実行し、その変数の中身を確認するということをしばしば私はやります。 しかし、API等から取得した文字列の場…
Excel2007 で、枠線に合わせて縦線と横線を引いてから、↓のマクロを実行してみました。 Sub Macro1() Dim lineV As Shape ' 縦線 Dim lineH As Shape ' 横線 Set lineV = ActiveSheet.Shapes(1) Set lineH = ActiveSheet.Shapes(2) Debug.Print "◆◇◆ Macro1 …
Excel2007 で、開始位置が同じである縦線と横線を引いてから、↓のマクロを実行してみました。 Sub Macro1() Dim lineA(1 To 2) As Shape Set lineA(1) = ActiveSheet.Shapes(1) Set lineA(2) = ActiveSheet.Shapes(2) Debug.Print "◆◇◆ Macro1 ◆◇◆" Debug.Pr…
Excel2007 で縦の直線を引いて、↓のマクロを実行してみました。 Sub Macro1() Dim lineA As Shape Set lineA = ActiveSheet.Shapes(1) Debug.Print "◆◇◆ Macro1 ◆◇◆" Debug.Print "高さ:" & lineA.Height, "幅:" & lineA.Width End Sub Sub Macro2() Dim l…
↓のマクロを実行すると、 Sub Test() Dim X As Currency X = 12.34567 Debug.Print X Range("A1").Value = X X = Range("A1").Value Debug.Print X End Sub 12.3457 12.35 となります。 (セル A1 の書式はデフォルトの状態とします。) 一つ目の Debug.Prin…
以前に MOUG の回答で作ったユーザー定義関数です。 一言で言うと、数式の中身を見るための関数です。 例えば、セルA1 に数式が入っているとします。 そのときに、この関数を使って =FormulaValue(A1) とすると、セルの参照先を見て数式で使っている値を表示…
MOUG(Excel VBA)2008/04/06 10:47:34 『罫線の位置の変数の型』 http://www2.moug.net/bbs/exvba/20080406000001.htm ↓のように書いたコードで、変数 sen の型を何にするのが適切か? というQがありました。 (略) Select Case i Case 1 sen = xlEdgeTop…
MOUG(Excel VBA)2008/03/22 22:46:37 『文字種の中の半角カタカナのチェック』 http://www2.moug.net/bbs/exvba/20080322000018.htm たとえば、 「アイウエオ」 の場合アイウエオの文字種が半角カタカナであるかどうかを 知るにはどうすればいいのでしょうか。 こん…
ここんとこ自分のサイトに関数のことをぼちぼち追加しているので、 たまには、一般機能の関数ネタをば。 セル A1 に、時 セル A2 に、分 セル A3 に、秒 を入れることにして、別セルに =TIME(A1,A2,A3) =TIMEVALUE(A1&":"&A2&":"&A3) とそれぞれ関数を入れて…
MOUG(Excel VBA)2008/03/28 07:23:50 『VLOOKUP関数にて悩みがございます』 http://www2.moug.net/bbs/exvba/20080328000002.htm 現在Sheet1に下記の関数が入っております。 =VLOOKUP(DATE($A$1,$B$1,C6),Sheet2!$A:$H,7,FALSE) これを VBA のコードで書く…
MOUG(Excel VBA)2008/03/15 22:56:19 『ワードを終了させる 』 http://www2.moug.net/bbs/exvba/20080315000016.htm ワードもエクセルも起動させた状態で エクセル上のコマンドボタン1をクリックしたら ワードを終了させたいです。 はいはい、そんなの簡単…
PDF に関する質問は、ここ数年で PDF が広まるにつれてだんだん増えてきました。 Acobat なら OLE である程度は制御可能なので、何回かレスしたことがあります。 しかし、もはや、Excel VBA の世界の話ではないですね。 まぁ、Excel VBA掲示板では、そういう…
1つのシートモジュールに書ける Change イベントプロシージャは1つ… とは限りません。 実は、いくつでも書けます。 やり方は単純で、Sheet1 モジュールに Public WithEvents sht1 As Worksheet Private Sub Worksheet_Change(ByVal Target As Range) MsgBo…
私は走りながら考えるタイプなので、走っていく先が実は崖だったということがたまにあります。 今回はそんなお話です。 Excel Q&A さろん(一般操作)2008/03/14 13:13 『タスクバー非表示について』NO.85749 エクセルを開いて、ウィンドウを最小化すると通…
試しもしないでレスをすることはしょっちゅうあるのですが、今回のもそういう話です。 MOUG(Excel VBA)2008/03/15 18:56:53 『Internet Explorerによる自動表示を停止するには』 http://www2.moug.net/bbs/exvba/20080315000013.htm で、話の流れで 「ユー…
だいぶん前から、日経コンピュータで『Excelレガシー再生計画』って連載記事があります。 まぁ、早い話が全体的には J-Sox 対応などを考えると「業務部門で作った業務用のExcelブックはダメダメだ」という内容ばかりで個人的には同意しかねるものばかりなん…
ちょっとばかり思うところがあって、↓の Macro1 を書いて実行してみました。 Sub Macro1() Sheet1.Range("A1").Copy Sheet2.Paste Destination:=Sheet3.Range("A1") End Sub こんなもん、Paste でエラーになるに決まっているだろ!と思ったのですが、、、 さ…
ユーザーフォームにコンボボックスとボタンを配置して、↓のコードを書いたとします。 Private Sub UserForm_Initialize() Me.ComboBox1.List = Array(1, "2") Me.ComboBox1.Style = fmStyleDropDownList End Sub Private Sub CommandButton1_Click() MsgBox …
↓のマクロは1つだけNGなんです。 2つNGじゃなくて。 Sub Macro1() MsgBox Cells(1, 1).Address End Sub Sub Macro2() MsgBox Cells(1, "1").Address End Sub Sub Macro3() MsgBox Cells("1", 1).Address End Sub ちょっと考えれば理由は推測できるので…