<?xml version="1.0" encoding="utf-8" ?>
<feed version="0.3" xml:lang="ja" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/"><title>hinekure　Excel-VBA</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/" /><modified>2008-06-28T21:57:58+09:00</modified><tagline>Excel-VBA の ひ と り 言・・・ &amp;amp; Excel Game </tagline><generator url="http://jugem.cc/">JUGEM</generator><entry><title>VisualBasic開発環境のメインウィンドウを表示</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=597914" /><id>http://hinekure.vba-soft.com/?eid=597914</id><issued>2008-06-28T21:57:00+09:00</issued><modified>2008-06-28T12:57:58Z</modified><created>2008-06-28T12:57:00Z</created><summary>って出来るけど、意味無いですよね。
使い道ってあるのかな・・・・・・

Sub Test()
Application.VBE.MainWindow.Visible = True
End Sub

※Excel.Application.VBE.MainWindow.Visible = True
とした方が良いかも。^^；；
</summary><author><name>hinekure</name></author><dc:subject>Excel-VBA のひとり言</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[って出来るけど、意味無いですよね。<br />
使い道ってあるのかな・・・・・・<br />
<br />
Sub Test()<br />
Application.VBE.MainWindow.Visible = True<br />
End Sub<br />
<br />
※Excel.Application.VBE.MainWindow.Visible = True<br />
とした方が良いかも。^^；；<br />
]]></content></entry><entry><title>文字列の置換</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=576036" /><id>http://hinekure.vba-soft.com/?eid=576036</id><issued>2008-06-03T12:00:03+09:00</issued><modified>2008-06-03T03:00:23Z</modified><created>2008-06-03T03:00:03Z</created><summary>ワークシート1のセルA1:B5に入力されている[ B ] を [ X ] に置換します。

Sub Test()
With Worksheets(&quot;Sheet1&quot;).Range(&quot;A1:B5&quot;)
　　　.Value = &quot;ABABAB&quot;
　　　MsgBox &quot;[ B ] を [ X ] に置換します。　&quot;, vbOKOnly, &quot;　hinekure&quot;
　　　.Replace What:=&quot;B&quot;, Re...</summary><author><name>hinekure</name></author><dc:subject>セル</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[ワークシート1のセルA1:B5に入力されている[ B ] を [ X ] に置換します。<br />
<br />
Sub Test()<br />
With Worksheets("Sheet1").Range("A1:B5")<br />
　　　.Value = "ABABAB"<br />
　　　MsgBox "[ B ] を [ X ] に置換します。　", vbOKOnly, "　hinekure"<br />
　　　.Replace What:="B", Replacement:="X"<br />
End With<br />
End Sub]]></content></entry><entry><title>関数とVBAの長さ0の文字列について</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=565512" /><id>http://hinekure.vba-soft.com/?eid=565512</id><issued>2008-05-16T23:45:00+09:00</issued><modified>2008-05-16T14:45:36Z</modified><created>2008-05-16T14:45:00Z</created><summary>VBAで
Worksheets(&quot;Sheet1&quot;).Range(&quot;A1&quot;).Value = &quot;&quot;
とすれば
セルの書式が文字列の時は長さ0文字の文字列になり
Empty値にならない。
ですよね。^^;;
 
で、関数あまり使わないので
関数でよく使われる&quot;&quot;が気になりました。。。
 
例えば
=IF(A1=&quot;&quot;,&quot;&quot;,A1)
...</summary><author><name>hinekure</name></author><dc:subject>Excel-VBA のひとり言</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[VBAで<br />
Worksheets("Sheet1").Range("A1").Value = <span style="color:#FF0000">""</span><br />
とすれば<br />
セルの書式が文字列の時は長さ0文字の文字列になり<br />
Empty値にならない。<br />
ですよね。^^;;<br />
 <br />
で、関数あまり使わないので<br />
関数でよく使われる<span style="color:#FF0000">""</span>が気になりました。。。<br />
 <br />
例えば<br />
=IF(A1=<span style="color:#FF0000">""</span>,<span style="color:#FF0000">""</span>,A1)<br />
みたいなやつです。<br />
 <br />
で、少し検証してみました。<br />
セルの書式に関係なく長さ0文字の文字列になりそう。<br />
今のところEmpty値にはなりません。<br />
まだ全てのセルの書式を検証していないので、なりそう。です。<br />
<br />
<br />
＃こんなの常識だろうか、関数苦手は、やはり辛い！.無駄な努力かも<br />
＃検証しても何の役に立つか分かりません・・・]]></content></entry><entry><title>Offise2003と2007のボタンやメニューの位置</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=560740" /><id>http://hinekure.vba-soft.com/?eid=560740</id><issued>2008-05-09T12:57:27+09:00</issued><modified>2008-05-09T04:01:29Z</modified><created>2008-05-09T03:57:27Z</created><summary>Offise2003のボタンやメニューの位置が2007では分からない時は
下記URLが参考になります。
って、皆知ってる。遅〜〜^^;;;
　　　↓
http://support.microsoft.com/kb/934714/ja </summary><author><name>hinekure</name></author><dc:subject>Excel2007のひとり言</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[Offise2003のボタンやメニューの位置が2007では分からない時は<br />
下記URLが参考になります。<br />
って、皆知ってる。遅〜〜^^;;;<br />
　　　↓<br />
<a href="http://support.microsoft.com/kb/934714/ja " target="_blank">http://support.microsoft.com/kb/934714/ja </a>]]></content></entry><entry><title>[ファイルを開く] ダイアログ ボックスを表示</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=549236" /><id>http://hinekure.vba-soft.com/?eid=549236</id><issued>2008-04-20T21:23:25+09:00</issued><modified>2008-04-20T12:24:18Z</modified><created>2008-04-20T12:23:25Z</created><summary>GetOpenFilenameメソッドのヘルプを参考にして下さい。^^；；

Sub Test()
Dim FName As Variant
FName = Application.GetOpenFilename()
MsgBox FName
End Sub</summary><author><name>hinekure</name></author><dc:subject>フォルダ/ファイル</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[<span style="color:#0000FF">GetOpenFilename</span>メソッドのヘルプを参考にして下さい。^^；；<br />
<br />
Sub Test()<br />
Dim FName As Variant<br />
FName = Application.GetOpenFilename()<br />
MsgBox FName<br />
End Sub]]></content></entry><entry><title>ステータスバー</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=541824" /><id>http://hinekure.vba-soft.com/?eid=541824</id><issued>2008-04-08T22:43:07+09:00</issued><modified>2008-04-08T13:43:46Z</modified><created>2008-04-08T13:43:07Z</created><summary>メッセージを表示します。
　　　↓
Sub Test()
Application.StatusBar = &quot;こんにちは hinekure です。^^&quot;
End Sub


標準の表示に戻すには
　　　↓
Sub Test2()
Application.StatusBar = False
End Sub

しかし、、、あまり目立ちません。。。</summary><author><name>hinekure</name></author><dc:subject>その他</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[メッセージを表示します。<br />
　　　↓<br />
Sub Test()<br />
Application.StatusBar = "こんにちは hinekure です。^^"<br />
End Sub<br />
<br />
<br />
標準の表示に戻すには<br />
　　　↓<br />
Sub Test2()<br />
Application.StatusBar = <span style="color:#0000FF">False</span><br />
End Sub<br />
<br />
しかし、、、あまり目立ちません。。。]]></content></entry><entry><title>フォルダの削除(FileSystemObject)</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=536330" /><id>http://hinekure.vba-soft.com/?eid=536330</id><issued>2008-04-01T09:57:25+09:00</issued><modified>2008-04-01T00:57:48Z</modified><created>2008-04-01T00:57:25Z</created><summary>フォルダ内のサブフォルダ・ファイルも一度に削除します。

Bookを一度保存して下さい。

Sub Test()
Dim objFSO As Object
Dim myFolder As String
Set objFSO = CreateObject(&quot;Scripting.FileSystemObject&quot;)
myFolder = ThisWorkbook.Path &amp; &quot;&amp;yen;hoge&quot;
objFS...</summary><author><name>hinekure</name></author><dc:subject>フォルダ/ファイル</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[フォルダ内のサブフォルダ・ファイルも一度に削除します。<br />
<br />
Bookを一度保存して下さい。<br />
<br />
Sub Test()<br />
Dim objFSO As Object<br />
Dim myFolder As String<br />
Set objFSO = CreateObject("Scripting.FileSystemObject")<br />
myFolder = ThisWorkbook.Path & "&yen;hoge"<br />
objFSO.DeleteFolder myFolder<br />
Set objFSO = Nothing<br />
End Sub<br />
<br />
削除するフォルダの場所は変更して下さい。<br />
　　　↓<br />
myFolder = ThisWorkbook.Path & "&yen;hoge"]]></content></entry><entry><title>なぜ？？？Bookを開かずに操作したいの？？？</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=529097" /><id>http://hinekure.vba-soft.com/?eid=529097</id><issued>2008-03-22T10:40:40+09:00</issued><modified>2008-03-27T12:59:11Z</modified><created>2008-03-22T01:40:40Z</created><summary>分かりません。。。理解出来ません。。。
考えるだけでも面倒だと思うのですが、、、
タスクバーに表示されるのが嫌なのかな？？？
表示されるのは一瞬だと思うのですが。。。

Application.ScreenUpdating = False
　　　・
　　　・
　　　・
Application.Scre...</summary><author><name>hinekure</name></author><dc:subject>Excel-VBA のひとり言</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[分かりません。。。理解出来ません。。。<br />
考えるだけでも面倒だと思うのですが、、、<br />
タスクバーに表示されるのが嫌なのかな？？？<br />
表示されるのは一瞬だと思うのですが。。。<br />
<br />
Application.ScreenUpdating = False<br />
　　　・<br />
　　　・<br />
　　　・<br />
Application.ScreenUpdating = True<br />
<br />
これじゃ駄目なのかな。。。<br />
う〜ん、分からない。。。]]></content></entry><entry><title>指定したセルがウィンドウ内に表示されているか</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=528408" /><id>http://hinekure.vba-soft.com/?eid=528408</id><issued>2008-03-21T09:39:06+09:00</issued><modified>2008-03-21T00:43:05Z</modified><created>2008-03-21T00:39:06Z</created><summary>表示されていれば、True　を
されてなければ、False　です。

Sub Test()
MsgBox Not Intersect(ActiveWindow.VisibleRange, Range(&quot;A1&quot;)) Is Nothing
End Sub

※VisibleRangeプロパティ
関連項目対象使用例アプリケーション情報オブジェクトを返すプロパティです...</summary><author><name>hinekure</name></author><dc:subject>セル</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[表示されていれば、<span style="color:#0000FF">True</span>　を<br />
されてなければ、<span style="color:#0000FF">False</span>　です。<br />
<br />
Sub Test()<br />
MsgBox Not Intersect(ActiveWindow.VisibleRange, Range("A1")) Is Nothing<br />
End Sub<br />
<br />
<strong>※VisibleRangeプロパティ</strong><br />
関連項目対象使用例アプリケーション情報オブジェクトを返すプロパティです｡<br />
指定したウィンドウ内またはウィンドウ枠 (ペイン) 内に表示されているすべてのセルを含むセル範囲<br />
(Range オブジェクト) を返します。<br />
一部しか表示されていない列や行も対象になります｡値の取得のみ可能です｡<br />
(Excel2003ヘルプ参照) <br />
]]></content></entry><entry><title>こんな事に・・・9</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=526527" /><id>http://hinekure.vba-soft.com/?eid=526527</id><issued>2008-03-18T11:55:50+09:00</issued><modified>2008-03-18T02:56:19Z</modified><created>2008-03-18T02:55:50Z</created><summary>VBEが表示出来ない・・・

マクロの実行中？
ダイアログが表示されている？
セルを編集中？
たぶん、どれかではないかと。
よ〜く確認して下さい。^^；；

ほかにもあるかも。。。</summary><author><name>hinekure</name></author><dc:subject>Excel-VBA こんな事に・・・</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[VBEが表示出来ない・・・<br />
<br />
マクロの実行中？<br />
ダイアログが表示されている？<br />
セルを編集中？<br />
たぶん、どれかではないかと。<br />
よ〜く確認して下さい。^^；；<br />
<br />
ほかにもあるかも。。。]]></content></entry><entry><title>CurrentRegion・・・う〜ん</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=522937" /><id>http://hinekure.vba-soft.com/?eid=522937</id><issued>2008-03-13T10:20:59+09:00</issued><modified>2008-03-13T01:21:50Z</modified><created>2008-03-13T01:20:59Z</created><summary>Excel2003のヘルプに下記のように書いている。
※CurrentRegion プロパティ
関連項目対象使用例アプリケーション情報オブジェクトを返すプロパティです。
アクティブ セル領域 (Range オブジェクト) を返します。
アクティブ セル領域とは、空白行と空白列で囲まれたセ...</summary><author><name>hinekure</name></author><dc:subject>Excel-VBA のひとり言</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[Excel2003のヘルプに下記のように書いている。<br />
<strong>※CurrentRegion プロパティ</strong><br />
関連項目対象使用例アプリケーション情報オブジェクトを返すプロパティです。<br />
アクティブ セル領域 (Range オブジェクト) を返します。<br />
<span style="color:#0000FF">アクティブ セル領域とは、空白行と空白列で囲まれたセル範囲です。</span>値の取得のみ可能です。<br />
<br />
う〜ん・・・何か怖い気がする。<span style="color:#FF0000">何処かに空白行か空白列があったら・・・</span><br />
自分で作成したデータならまだしも<br />
他人が作成したデータをCurrentRegionプロパティは使用する気にはなれません。。。<br />
でも、便利ですよね。。。<br />
<br />
Sub Test()<br />
Worksheets("Sheet1").Range("B2").CurrentRegion.Select<br />
End Sub<br />
<br />
<img src="images/s75.gif" width="445" height="167" alt="" class="pict" /><br />
<br />
]]></content></entry><entry><title>セルA1の文字列をB1からセルに一文字づつに</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=521573" /><id>http://hinekure.vba-soft.com/?eid=521573</id><issued>2008-03-11T20:30:58+09:00</issued><modified>2008-03-11T11:31:24Z</modified><created>2008-03-11T11:30:58Z</created><summary>関数でやればもっと簡単に出来るのでしょうね。。。
VBAでも、もっと正確に短く出来るんだろうな・・・



Sub Test()
Dim WS As Worksheet
Dim buf As Variant
Dim myLen As Long
Dim myRng As String
Dim f As Long
Set WS = Worksheets(&quot;Sheet1&quot;)
With WS....</summary><author><name>hinekure</name></author><dc:subject>Excel-VBA のへっぽこコード</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[関数でやればもっと簡単に出来るのでしょうね。。。<br />
VBAでも、もっと正確に短く出来るんだろうな・・・<br />
<br />
<img src="images/s74.gif" width="473" height="33" alt="" class="pict" /><br />
<br />
Sub Test()<br />
Dim WS As Worksheet<br />
Dim buf As Variant<br />
Dim myLen As Long<br />
Dim myRng As String<br />
Dim f As Long<br />
Set WS = Worksheets("Sheet1")<br />
With WS.Range("B1:IV1")<br />
　　　.ClearContents<br />
　　　.NumberFormatLocal = "@"<br />
End With<br />
myRng = WS.Range("A1").Value<br />
myLen = Len(myRng)<br />
If myLen < 1 Then MsgBox "NG": Exit Sub<br />
ReDim buf(1 To 1, 1 To myLen)<br />
For f = 1 To myLen<br />
　　　buf(1, f) = Mid(myRng, f, 1)<br />
Next<br />
WS.Range("B1").Resize(1, myLen).Value = buf<br />
End Sub]]></content></entry><entry><title>あまりはいくつ</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=517618" /><id>http://hinekure.vba-soft.com/?eid=517618</id><issued>2008-03-06T21:53:22+09:00</issued><modified>2008-03-06T12:53:50Z</modified><created>2008-03-06T12:53:22Z</created><summary>【開発環境】  winXP + Excel2003VBA
【動作確認】  winXP + Excel2003/2007

制限時間内に割り算の「あまり」を選んでクリックして下さい。
 
+)左上の「S」ボタン、クリックでゲームスタート
+)間違ったらゲームオーバー
+)TIMEが0でゲームオーバー



ご利...</summary><author><name>hinekure</name></author><dc:subject>Excel-Game</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[【開発環境】  winXP + Excel2003VBA<br />
【動作確認】  winXP + Excel2003/2007<br />
<br />
制限時間内に割り算の「あまり」を選んでクリックして下さい。<br />
 <br />
+)左上の「S」ボタン、クリックでゲームスタート<br />
+)間違ったらゲームオーバー<br />
+)TIMEが0でゲームオーバー<br />
<br />
<img src="images/ama.gif" width="463" height="421" alt="" class="pict" /><br />
<br />
<strong>ご利用は自己責任でお願いします。</strong><br />
<a href="http://www.vba-soft.com/dl/ama.zip" target="_blank">ダウンロードはこちら</a><br />
]]></content></entry><entry><title>Cstr - なぜ省略されるんだろう・・・</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=516522" /><id>http://hinekure.vba-soft.com/?eid=516522</id><issued>2008-03-05T09:25:17+09:00</issued><modified>2008-03-05T00:25:48Z</modified><created>2008-03-05T00:25:17Z</created><summary>エラーにならないから別に気にしないのかな？
それとも、もっと奥が深いスッゴイ理由があるのでしょうか。

・・・私は、省略できない・・・たまに忘れるけど・・・

Sub Test()
Dim f As Long
With Worksheets(&quot;Sheet1&quot;)
　　　For f = 1 To 10
　　　　　　.Ra...</summary><author><name>hinekure</name></author><dc:subject>Excel-VBA のひとり言</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[エラーにならないから別に気にしないのかな？<br />
それとも、もっと奥が深いスッゴイ理由があるのでしょうか。<br />
<br />
・・・私は、省略できない・・・たまに忘れるけど・・・<br />
<br />
Sub Test()<br />
Dim f As Long<br />
With Worksheets("Sheet1")<br />
　　　For f = 1 To 10<br />
　　　　　　<span style="color:#0000FF">.Range("A" & f).Value = f</span><br />
　　　Next<br />
End With<br />
End Sub<br />
<br />
こう書かないと何か変な感じがする。。。<br />
.Range("A" & f).Value = f<br />
　　　↓<br />
.Range("A" & <span style="color:#FF0000">CStr</span>(f)).Value = f<br />
<br />
]]></content></entry><entry><title>Mod演算子</title><link rel="alternate" type="text/html" href="http://hinekure.vba-soft.com/?eid=512900" /><id>http://hinekure.vba-soft.com/?eid=512900</id><issued>2008-02-29T10:10:51+09:00</issued><modified>2008-02-29T01:13:20Z</modified><created>2008-02-29T01:10:51Z</created><summary>割り算の「あまり」ですね。^^；
あまり参考にならない・・・・・・
でも、、、よく使います。。。



Sub Test()
Dim myX As Long
Dim myY As Long
Dim f As Long
With Worksheets(&quot;Sheet1&quot;)
　　　.Range(&quot;A1&quot;).Value = &quot;問題&quot;
　　　.Range(&quot;B1&quot;).Value = ...</summary><author><name>hinekure</name></author><dc:subject>Excel-VBA のへっぽこコード</dc:subject><content mode="escaped" type="text/html" xml:lang="ja"><![CDATA[割り算の「あまり」ですね。^^；<br />
あまり参考にならない・・・・・・<br />
でも、、、よく使います。。。<br />
<br />
<img src="images/s73.gif" width="191" height="224" alt="" class="pict" /><br />
<br />
Sub Test()<br />
Dim myX As Long<br />
Dim myY As Long<br />
Dim f As Long<br />
With Worksheets("Sheet1")<br />
　　　.Range("A1").Value = "問題"<br />
　　　.Range("B1").Value = "あまり"<br />
　　　For f = 2 To 11<br />
　　　　　　myX = Int(Rnd() * 7 + 3) '3〜9の乱数<br />
　　　　　　myY = Int(Rnd() * 90 + 10) '10〜99の乱数<br />
　　　　　　.Range("A" & CStr(f)).Value = myY & " ÷ " & myX<br />
　　　　　　.Range("B" & CStr(f)).Value = myY Mod myX<br />
　　　Next<br />
End With<br />
End Sub<br />
<br />
<strong>※Mod 演算子</strong><br />
2つの数値の除算を行い、その剰余を返します。<br />
(Excel2003ヘルプ参照) <br />
]]></content></entry></feed>