目安箱 IV

目安箱投稿のルールはこちらをごらんください。
ご意見は電子メールで承っています。
「目安箱」は質問禁止です。技術的な質問はそれぞれの質問箱へどうぞ。

迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
12 / 14 ページ ←次へ | 前へ→

【65】Re:図形描画、Shapeの方のテキストボックス...
Excel  Jaka  - 04/8/11(水) 17:34 -

引用なし
パスワード
   >255文字以内であれば、ここで十分だと思います。
>[#5961]

すみません。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=ntr;tree=5961;id=excel
・ツリー全体表示

【64】為になる??エクセル操作情報とエクセルバ...
Excel  Jaka  - 04/8/11(水) 16:35 -

引用なし
パスワード
   こういうのもあってもいいかなぁ? って事で、乗っけて見ました。
私がメモ帳にコピーしておいた分の情報だけです。
また、URLのリンク先が無いものもあるかもしれませんし、記載し忘れた物もありますので、こんな情報もあるのか程度に見ていただけたらと思います。
尚、エクセルバージョン分けしていますが、ほとんどのものが共通です。
言い換えれば、昔から直してないバグも多いです。


[XL]

 破損したファイルのデータを復元する方法
 http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B142117

 他ユーザーが使用中のファイルを開く時任意のメッセージを表示する方法
 http://support.microsoft.com/default.aspx?scid=kb;ja;402465

 変更していないブックを閉じる際保存するか尋ねられる場合
 http://support.microsoft.com/default.aspx?scid=kb;JA;401634


[XL97]

 マクロが含まれていないのに警告ダイアログが表示される現象
 http://www.microsoft.com/japan/support/kb/articles/J029/3/43.asp

 「最後のセル」の位置を修正する方法
 http://support.microsoft.com/default.aspx?scid=kb;ja;JP405492

 Unicode と 文字列操作関数の留意点


 マクロを含むファイルを開く際にシステムエラーが発生する場合
 http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/409/2/82.asp

 Openイベントで実行されないメソッドおよびプロパティ
 http://support.microsoft.com/default.aspx?scid=kb;ja;JP410059


[XL2000]

 "表示形式を追加できません"エラーが書式設定時に発生する
 http://support.microsoft.com/default.aspx?scid=kb%3bja%3b213904

 Close メソッドを使用してブックを閉じた場合の動作について
 http://support.microsoft.com/default.aspx?scid=kb;JA;213591

 ファイルオープン時に"Sheet1111111111111111..." 読み込みエラー
 http://support.microsoft.com/default.aspx?scid=kb;ja;236299

 RefEdit コントロール使用時にキーボード ショートカットを使用して範囲を指定できない
 http://support.microsoft.com/default.aspx?scid=kb;ja;291110

 シートを削除するマクロを実行後にファイルを開くと強制終了
 http://support.microsoft.com/default.aspx?scid=kb;ja;JP418642

 セルに表示される文字数の制限について


 ハイフンとコーテーションを含む並べ替えが以前のバージョンと異なる
 http://support.microsoft.com/default.aspx?scid=kb;ja;212144

 Copyメソッドを使用するとシート保護が解除されてしまう
 http://support.microsoft.com/default.aspx?scid=kb;ja;JP414681

 Openメソッドでブックを開くと表示形式が変更される
 http://support.microsoft.com/default.aspx?scid=kb;ja;414113

 SaveAsメソッドでテキストファイル保存すると書式が変更される
 http://support.microsoft.com/default.aspx?scid=KB;JA;410237

 VBAを使用してテキストを開くと正しい日付形式で認識されない
 http://support.microsoft.com/default.aspx?scid=kb;ja;416875&Product=xlw2kINT

 アドインのBeforeCloseイベントがExcel終了時に実行されない
 http://support.microsoft.com/default.aspx?scid=kb;ja;414233

 オートフィルタで抽出する際のスペースの取り扱いについて


 テキストファイルを開いた際にセル内の文字数が多いと一部が欠落
 http://support.microsoft.com/default.aspx?scid=kb;ja;414111

 テキストボックスにフォーカスした状態でCloseメソッドを実行するとエラー
 http://support.microsoft.com/default.aspx?scid=kb;ja;418779

 プレビュー表示によりコントロール オブジェクトの表示がくずれる
 http://support.microsoft.com/default.aspx?scid=kb%3bja%3b418780

 マクロでDelete、Copy後SaveAsで保存するとブックが破損
 http://support.microsoft.com/default.aspx?scid=kb%3bja%3b265305

 マクロ記録でPasteSpecialの引数Pasteが正しく記録されない
 http://support.microsoft.com/default.aspx?scid=kb;ja;415379

 強制終了およびハングアップの際のチェック項目


 条件つき書式で文字列は数値よりも大きいと判断される
 http://support.microsoft.com/default.aspx?scid=kb;ja;410064

 選択した部分の印刷を行うと総ページ数が正しくない


 配列のサイズの制限について
 http://support.microsoft.com/default.aspx?scid=kb;ja;416526

 別シートの結合セルに貼り付けができない


 文字数値を数値に変換する方法


 セルに表示される文字数の制限について


 選択した部分の印刷を行うと総ページ数が正しくない


 Officeアプリケーションを起動するとOleaut32.dllでエラーになる
 http://support.microsoft.com/default.aspx?scid=kb;ja;217440

 日付の 2 桁入力と和暦入力について
 http://support.microsoft.com/default.aspx?scid=kb;ja;416772


[XL2002]

 Office XP SP3 を適用すると印刷プレビュー後コントロールがずれる
 http://support.microsoft.com/default.aspx?scid=kb;ja;838914&Product=excelJPN

 作業グループの状態で Excel 終了時にファイルを保存すると計算方法が手動になる


 VBA コードを含む埋め込みの Worksheet オブジェクトをアクティブにできない
 http://support.microsoft.com/default.aspx?scid=kb;ja;321471

 グラフを含むワークシートのコピーによるエラー
 http://support.microsoft.com/default.aspx?scid=kb;ja;215573

 ファイルにアクセスできなくなった場合の原因と対策
 http://support.microsoft.com/default.aspx?scid=kb;ja;JP411636

 以前のバージョンからアップグレードするとユーザー設定ツール バーが表示不可
 http://support.microsoft.com/default.aspx?kbid=280659

 CSV形式で保存した際カンマの数が17行以降異なる
 http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B400253

 SUMIF、COUNTIF、COUNTBLANK 関数で#VALUE!エラー
 http://support.microsoft.com/default.aspx?scid=%2Fisapi%2Fgomscom%2Easp%3Ftarget%3D%2Fjapan%2Fsupport%2Fkb%2Farticles%2Fjp260%2F4%2F15%2Easp&;LN=JA

 セル範囲に配列で入力した文字列が欠ける


 ユーザー補助のハイコントラストでセルの塗りつぶしの色が反映されない
 http://support.microsoft.com/default.aspx?scid=kb;ja;418066

 異なる環境で印刷範囲やセルの幅/高さが変わる場合の対策
 http://support.microsoft.com/default.aspx?scid=http://www.microsoft.com/japan/support/kb/articles/JP400/2/71.asp

 ダブルクリックでファイルを開くとエラーが発生して開けない
 http://support.microsoft.com/default.aspx?scid=kb;JA;418292

 ファイルをダブルクリックで開くと "My.xlsが見つかりません" エラー発生
 http://support.microsoft.com/default.aspx?scid=kb;ja;JP410226

 結合セル範囲をコピーして値のみを貼りつけるとエラーが生じる
 http://support.microsoft.com/default.aspx?scid=kb;ja;409358&Product=excelJPN#appliesto

 テンキーのマイナスキーで拡張モード
 http://support.microsoft.com/default.aspx?scid=kb;ja;413946&Product=xlw2kINT

 フロッピーディスクに保管されているファイルを扱う際の注意点
 http://support.microsoft.com/default.aspx?scid=kb;ja;411154

 新しいウィンドウで ActiveX オブジェクトのイベントが動作しない


[Excel 2003]

 ファイルを開くと "データが失われた可能性があります" と表示される場合の対処方法
 http://support.microsoft.com/default.aspx?scid=%2Fdirectory%2Fworldwide%2Fja%2Fkblight%2FT011%2F2%2F40.asp

 CommandButton コントロールの Click イベントで Excel のリストの行を削除できない
 http://support.microsoft.com/default.aspx?scid=kb;ja;823988&Product=xl2003

 グラフを含むワークシートのコピーによるエラー
 http://support.microsoft.com/default.aspx?scid=kb;ja;215573&Product=xlw2kINT

 ファイルにアクセスできなくなった場合の原因と対策
 http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B411636&

 長い文字列配列を代入すると "実行時エラー 1004" が発生する
 http://support.microsoft.com/default.aspx?scid=kb;ja;818808


-----------------------------------------------------------------
[OFF2000]

 Officeアプリケーションを起動するとOleaut32.dllでエラーになる
 http://support.microsoft.com/default.aspx?scid=kb;ja;217440


[OFF2003]

 特定のOfficeArtを含むドキュメントで発生する問題の Office 2003 修正プログラムの概要
 http://support.microsoft.com/default.aspx?scid=kb;ja;828041


[OFFXP]

 Windows XP で特定の操作を実行するとアプリケーションの応答が無くなる
 http://support.microsoft.com/default.aspx?scid=kb;ja;418532

 VBAで設定したプロパティの日付が誤って表示される
 http://support.microsoft.com/default.aspx?scid=kb;ja;418150

 Windows 2000 SP3 をインストール後、Office アプリケーションが起動できない
 http://support.microsoft.com/default.aspx?scid=kb;ja;jp324906

 起動時に作業ウィンドウが表示されない
 http://support.microsoft.com/default.aspx?scid=kb%3bja%3b295341

 特定の異なる文字が同じ文字として検索される現象


 アプリケーションの起動が遅い


 NewGulimフォントがインストールされていると外字が使用できない
 http://support.microsoft.com/default.aspx?scid=kb;ja;417636

 プログラム終了時にエラーメッセージが表示される
 http://support.microsoft.com/default.aspx?scid=kb;ja;JP418642


---------------------------------------------------
[WD2002]
 Wordを起動/新規作成するとすでに文字が入っている
 http://support.microsoft.com/default.aspx?scid=kb%3Bja%3B414559

 差し込み印刷にて Excel ファイルを利用すると先頭行が項目名として設定される
 http://support.microsoft.com/default.aspx?scid=kb;ja;814888
・ツリー全体表示

【63】図形描画、Shapeの方のテキストボックスの書...
Excel  Jaka  - 04/8/11(水) 16:30 -

引用なし
パスワード
   図形描画、Shapeの方のテキストボックスの書き込みと読み込み

255文字以内であれば、ここで十分だと思います。
[#5961]

256文字以上となると、こんな風にしないとダメですね。


Sub セルからテキストへ()
  Dim Celst1 As String, Celst2 As String
  ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = ""
  DoEvents
  Celst1 = Range("A1").Value
  Celst2 = Empty
  For i = 1 To Len(Range("A1").Value)
    Celst2 = Celst2 & Mid(Celst1, 1, 1)
    Celst1 = Mid(Celst1, 2)
    Ct = Ct + 1
    If i Mod 200 = 0 Then
      ActiveSheet.Shapes("Text Box 1").TextFrame.Characters(i - 200 + 1).Insert String:=Celst2
      Celst2 = Empty
    End If
  Next
  If Celst2 <> Empty Then
    ActiveSheet.Shapes("Text Box 1").TextFrame.Characters(Ct + 1).Insert String:=Celst2
  End If
End Sub


Sub テキストからセルへ()
  Dim Myst As String, Myst1 As String
  Dim MCS As Long
  MCS = 1: Myst = Empty: Myst1 = Empty
  On Error Resume Next
  Do
    Myst1 = ActiveSheet.Shapes("Text Box 1").TextFrame.Characters(MCS, 255).Text
    If Err <> 0 Then Exit Do
    Myst = Myst & Myst1
    MCS = MCS + 255
  Loop Until Myst1 = ""
  Range("A1").Value = Myst
End Sub


Sub テキストからテキストへ()
  Dim Myst As String, MCS As Long
  Myst = Empty: MCS = 1
  On Error Resume Next
  Do
    Myst = ActiveSheet.Shapes("Text Box 1").TextFrame.Characters(MCS, 200).Text
    If Err <> 0 Then Exit Do
    ActiveSheet.Shapes("Text Box 2").TextFrame.Characters(MCS).Insert String:=Myst
    MCS = MCS + 200
  Loop Until Myst = ""
End Sub


あまり覚えていませんが、テキストボックスのクリアについて、文字数が多い場合クリア1だけだとクリアしきれないような事があったんで、文字数が多い場合は2の方を使った方がいいかも。

クリア1
 ActiveSheet.Shapes("Text Box 1").TextFrame.Characters.Text = ""
 DoEvents

クリア2
 Do Until ActiveSheet.Shapes("Text Box 2").TextFrame.Characters.Text = ""
   ActiveSheet.Shapes("Text Box 2").TextFrame.Characters.Text = ""
   DoEvents
 Loop

--------------------------------
シート上コントロールのテキストボックス場合

シートモジュール

テキストボックスへの書き込み(Sheet1!A1からの)
Private Sub CommandButton1_Click()
  ActiveCell.Activate   '← 97用対策
  TextBox1.Value = Sheets("Sheet1").Range("A1").Value
End Sub

テキストボックスクリア
Private Sub CommandButton2_Click()
  ActiveCell.Activate   '← 97用対策
  TextBox1.Value = ""
End Sub


標準モジュールからのクリア

Sub シート上コントテキストクリア()
  Sheets("Sheet1").TextBox1.Value = ""
End Sub
・ツリー全体表示

【62】フォルダの選択
Excel  Jaka  - 04/8/11(水) 9:06 -

引用なし
パスワード
   任意にフォルダを選択してパスを取得します。
IE4.0以上が、インストールされていることが前提。

Sub F選択()
Dim obj As Object

'デスクトップ
MsgBox "デスクトップが、トップ"
Set obj = CreateObject("Shell.Application"). _
      browseforfolder(0, "フォルダを選択してください", 0)
If Not obj Is Nothing Then
  MsgBox obj.Items.Item.Path
Else
  MsgBox "キャンセル"
End If
Set obj = Nothing

'マイコンピュータ(Win2000&ExL2000でも同じ)
MsgBox "マイコンピュータが、トップ"
Set obj = CreateObject("Shell.Application"). _
      browseforfolder(0, "フォルダを選択してください", 0, "")
If Not obj Is Nothing Then
  MsgBox obj.Items.Item.Path
Else
  MsgBox "キャンセル"
End If
Set obj = Nothing

'C(Win2000&ExL2000でも同じ)
MsgBox "Cが、トップ"
Set obj = CreateObject("Shell.Application"). _
      browseforfolder(0, "フォルダを選択してください", 0, "C:\")
If Not obj Is Nothing Then
  MsgBox obj.Items.Item.Path
Else
  MsgBox "キャンセル"
End If
Set obj = Nothing

End Sub
・ツリー全体表示

【61】マクロを選んで実行したい。
Excel  Jaka  - 04/8/5(木) 13:05 -

引用なし
パスワード
   わざわざこんな事書かなくてもいいかなとは、思ったんですが...。

例えば、コンボボックスからマクロを選択して実行する場合。

ユーザーフォーム

Private Sub CommandButton1_Click()
  Application.Run (ComboBox1.List(ComboBox1.ListIndex))
End Sub

Private Sub UserForm_Initialize()
  TB = Array("マクロ1", "マクロ2", "マクロ3")
  Me.ComboBox1.List = TB
End Sub

************************
標準モジュール

Sub マクロ1()
  MsgBox "マクロ1"
End Sub

Sub マクロ2()
  MsgBox "マクロ2"
End Sub

Sub マクロ3()
  MsgBox "マクロ3"
End Sub
・ツリー全体表示

【60】Re:履歴について
Excel  Jaka  - 04/8/3(火) 9:50 -

引用なし
パスワード
   こんにちは。

ここは、こういうような質問をするようなところではないようですが...。
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=3;id=FAQ
まだ石鹸箱のほうが良いかと思います。

意味がよく解っていませんけど、IEのプロパティにて、Cookieの削除、またはファイルの削除で消せると思います。
でたらめだったら、すみません。
・ツリー全体表示

【59】[管理者削除]
   - -

引用なし
パスワード
   この書き込みは管理者によって削除されました。(06/1/25(水) 18:41)
・ツリー全体表示

【58】履歴について
全般  hito E-MAIL  - 04/8/2(月) 13:43 -

引用なし
パスワード
   ネットで検索するときに文字を打つときにダブルクリックすると履歴がでるんですけど、どのようにしたら履歴が消えるんですか??
・ツリー全体表示

【57】ユーザー設定で作ったツールバーの添付につ...
Excel  Jaka  - 04/8/2(月) 12:38 -

引用なし
パスワード
   ユーザ設定で作ったツールバーを使う時に、下記のようなエラーが出ると言う質問が多く見られます。

1、'××ブック.xls'が見つかりません。ファイル名およびファイルの
  保存場所が正しいか...。
2、'××ブック.xls'と同じ名前のファイルがすでに開いています。保存先が・・。

これらは、マクロが書いてあるブックにツールバーを添付して、ブックを閉じる時にツールバーを消すようなマクロを書いておくことで対処できます。

Sub Auto_Close()
  On Error Resume Next      '←手動で消されていた時のエラー対処。
  Application.CommandBars("ツールバー名").Delete
End Sub


ユーザー設定でツールバー等を作るときの注意。

ツールバーボタンにマクロ登録するときは、マクロの保存先を「自分ブック名」にしておく。
 ↓2つは、選択しない。
 開いているブック X
 作業中のブック  X ←これは、シート上に作ったフォームの方のボタン等に
             マクロ登録する時にマクロの保存先として使った方が
             いいです。
             2のエラーが出る時は、これを選んだからだと思いま
             す。原因は、うまく文章で書けそうにありません。


大体これで、ブックの複製、ブック名変更、ブックの移動に対応させる事ができます。
注)全く同じ名前のツールバーを2つ以上のブックに添付して使うようなことはさけて
  下さい。2つ以上のブックを同時に開いて使っている時、1つでも閉じるとツール
  バーは消されます。
  因みに、ツールバー名が同じ場合、1番最初に開いたブックのツールバーは、エク
  セルにコピーされますが、後から開いたブックのツールバーは、エクセルにコピー
  されません。

また、登録されたマクロ名を見ると、
  1、ファイル名+マクロ名
または、
  2、フルパスファイル名+マクロ名

と、書かれてあるので伝〃、と言った質問も良く見られますが、上記方法の場合、気にする必要はありません。
ブックを閉じるとツールバーを消すので、古いブック間等の情報をもったツールバーは、エクセルに残りません。
ブックを開く毎に添付されたツールバーが、新しいブック間等の情報をもって都度エクセルにコピーされます。

作ったばかり、修正したりしたエクセルのユーザー設定にあるツールバーと、ブックに添付したツールバーのブック間との関連情報を把握するようにすると色々解ってくると思います。

たったこれだけの、まとまってない貧相な文章で理解できるとは思えませんが、手短に1つ1つを明確に説明できるほどの文章作成能力を持ってません。(長々としても同じく)


以下コード

・ブックを開いた時に添付したツールバーを表示させたい。
 ツールバーの位置は、ブックに添付した時にあった位置に準ずるようです。

Sub Auto_Open()
  Application.CommandBars("ツールバー名").Visible = True
End Sub


・ブックを開いた時に添付したツールバーを左に表示させたい。

Sub Auto_Open()
  With Application.CommandBars("ツールバー名")
     .Position = msoBarLeft
     .Visible = True
  End With
End Sub

他の位置については、

ヘルプより
Position プロパティ
            
指定したコマンド バーの位置を設定します。使用できる定数は、MsoBarPosition クラスの msoBarLeft、msoBarTop、msoBarRight、msoBarBottom、msoBarFloating、msoBarPopup、msoBarMenuBar のいずれかです。値の取得および設定が可能です。長整数型 (Long) の値を使用します。


・ブックを開いた時に添付したツールバーを左上(通常時のA1辺り)に表示させたい。

Sub Auto_Open()
  On Error Resume Next
  AcRg = ActiveCell.Address
  With ActiveWindow.VisibleRange
    AcTp = Mid(.Address(0, 0), 1, InStr(1, .Address(0, 0), ":") - 1)
  End With
  Application.Goto reference:=Range("A1"), scroll:=True

  With Application.CommandBars("ツールバー名")
    .Left = ActiveWindow.PointsToScreenPixelsX(Range("A1").Left)
    .Top = ActiveWindow.PointsToScreenPixelsY(Range("A1").Top)
    .Visible = True
  End With
  Application.Goto reference:=Range(AcTp), scroll:=True
End Sub


・ブックを開いた時に添付したツールバーを標準ツールバーの右に表示させたい。

Sub Auto_Open()
  On Error Resume Next
  With Application
    yoko = .CommandBars("Standard").Width + .CommandBars("Standard").Left
    tate = Application.CommandBars("Standard").RowIndex
  End With

  With Application.CommandBars("ツールバー名")
    .Position = msoBarTop
    .Left = yoko
    .RowIndex = tate
    .Visible = True
  End With
End Sub


・ブックを開いた時に添付したツールバーを書式設定バーの右に表示させたい。

Sub Auto_Open()
  On Error Resume Next
  With Application
    CbFtLt = .CommandBars("Formatting").Left
    yoko = .CommandBars("Formatting").Width + .CommandBars("Formatting").Left
    tate = Application.CommandBars("Formatting").RowIndex
  End With

  With Application.CommandBars("ツールバー名")
    .Position = msoBarTop
    .Left = yoko
    .RowIndex = tate
    .Visible = True
  End With
End Sub
・ツリー全体表示

【56】マクロで作るコマンドバー、ツールバー
Excel  Jaka  - 04/8/2(月) 10:32 -

引用なし
パスワード
   全部の参考リンクを書き込もうかと思いましたが、ぞろぞろ出てきたので全部拾い切れませんでした。。

V3
http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=ntr;tree=9971;id=Excel
http://www21.tok2.com/home/vbalab/bbs/c-board.cgi?cmd=ntr;tree=11458;id=Excel

他は、ここのV3の方にもツールバー、コマンドバーで検索すれば結構あります。
http://www21.tok2.com/home/vbalab/


V4過去ログの方は適当に拾ってみました。
http://www.vbalab.net/vbaqa/data/excel/log/tree_63.htm
http://www.vbalab.net/vbaqa/data/excel/log/tree_225.htm
http://www.vbalab.net/vbaqa/data/excel/log/tree_265.htm
http://www.vbalab.net/vbaqa/data/excel/log/tree_344.htm

------------------------------------
リンクだけだとなんなので、一応コードも。
「ユーザー設定で作ったツールバーの添付」の方もツールバー位置変更の参考になると思います。

Sub マクロで作るコマンドバー()
  Dim オリジナルバー As CommandBar
  
  '同じツールバー名がすでにあるのに作ろうとするとエラーになります。
  'また、無いのに削除しようとするとエラーになります。
  '他に方法が無いわけでもありませんが、取り合えず最初に削除。
  On Error Resume Next
  Application.CommandBars("ツールバーの名前").Delete
  
  Set オリジナルバー = Application.CommandBars.Add(Name:="ツールバーの名前", _
            temporary:=True) ', Position:=msoBarBottom)
            'temporary:=Trueするとエクセル終了時に自動的に削除されます。
  
  '作ったコマンドバーにボタン追加
  Set オリジナルボタン1 = CommandBars("ツールバーの名前").Controls.Add(Type:=msoControlButton)
  With オリジナルボタン1
    'Style アイコンとボタン名の表示
    .Style = msoButtonIconAndCaption
    .Caption = "マクロ1"
    .FaceId = 59
    .TooltipText = "マクロ1を実行します。" 'ボタンの説明みたいな物
    .OnAction = "メッセージ1"        'ボタンにマクロを割り当てる。
  End With
  
  Set オリジナルボタン2 = CommandBars("ツールバーの名前").Controls.Add(Type:=msoControlButton)
  With オリジナルボタン2
    'アイコンだけ表示
    .Style = msoButtonIcon
    .Caption = "マクロ1"
    .FaceId = 266
    .TooltipText = "マクロ2を実行します。"
    .OnAction = "メッセージ2"
  End With
  
  'コマンドバーを表示
  オリジナルバー.Visible = True
  
  Set オリジナルバー = Nothing
End Sub

Sub メッセージ1()
  MsgBox "メッセージ1"
End Sub

Sub メッセージ2()
  MsgBox "メッセージ2"
End Sub

***********************
他で回答した奴ですが。

Sub デスクトップ右下()
  Dim Cb As CommandBar, LP2 As Single, TP2 As Single
  On Error Resume Next
  Application.CommandBars("TESTBAR").Delete
  Set Cb = Application.CommandBars.Add(Name:="TESTBAR", Temporary:=True)
  Cb.Controls.Add Type:=msoControlSplitDropdown, ID:=128, Before:=1
  Cb.Controls.Add Type:=msoControlButton, ID:=1849, Before:=2
  Cb.Controls.Add Type:=msoControlButton, ID:=928, Before:=3
  Cb.Controls.Add Type:=msoControlComboBox, ID:=1733, Before:=4
  Cb.Visible = True
  Cb.Left = 1024  '一応1024×768の解像度と想定していますが、
  Cb.Top = 768   'この数字に深い意味はありません。
           '要するに使用している解像度より大きればいいみたいなんで適当。
  LP2 = Cb.Left - 18
  TP2 = Cb.Top - 19
  Cb.Left = LP2
  Cb.Top = TP2
End Sub
・ツリー全体表示

【55】ユーザフォームに絵柄の入ったボタンを作る。
Excel  Jaka  - 04/8/2(月) 10:30 -

引用なし
パスワード
   画像の大きさは、ボタンサイズに応じて作ってください。

1、
フォーム上にImage1を作り画像をロードしておく、これがボタンになります。
尚、画像はいったんロードしておけば、フォーム上に記憶されます。
つまり、ロードされた画像サイズと量は、エクセルのファイルサイズに跳ね返ってきます。

フォームモジュール

Private Sub Image1_Click()
  Image1.SpecialEffect = fmSpecialEffectSunken  'これがないとボタンがへこまない。
  実行マクロ
  Image1.SpecialEffect = fmSpecialEffectRaised  'これがないとボタンが戻らない。
End Sub

Private Sub UserForm_Initialize()
  Image1.SpecialEffect = fmSpecialEffectRaised
End Sub

標準モジュール

Sub 実行マクロ()
  MsgBox "イメージボタン選択"
End Sub

---------------------
2、
普通のコマンドボタンに画像をつける。
これは、画像を都度ロードするので画像が随時必要です。

Private Sub UserForm_Initialize()
  If Dir(ThisWorkbook.Path & "\ロード用.bmp") <> "" Then
    With CommandButton1
      .Picture = LoadPicture(ThisWorkbook.Path & "\ロード用.bmp")
      .PicturePosition = fmPicturePositionLeftCenter
    End With
  Else
    MsgBox "同フォルダに画像、ロード用.bmpがありません。"
  End If
End Sub

CommandButton1の画像を消す。

Private Sub CommandButton2_Click()
  CommandButton1.Picture = Nothing
End Sub
・ツリー全体表示

【54】トロイぞUnion
Excel  Jaka  - 04/7/27(火) 11:09 -

引用なし
パスワード
   下記コードにてUnionメソッドのトロさを体験してください。
1行目から2500行目までの間を、1行おきに10列選択します。
一応普通版?とOffsetを使った物を作って見ましたが、選択する個数が増えると、遅さにとても耐えられません。
Unionは、一気に書き込めたりするので便利だとは思いますが、適度な個数でないと、1個1個書き込むより遅いかもしれません。
書き方が悪い性も多少はあるでしょうが...。

Sub ユニトロ()
  Dim 始点 As String, CtR As Long, CtC As Long
  Dim 行数範囲 As Long, 選択行数 As Long, 空き行 As Long
  Dim 選択列数 As Long, UNi選択 As Range, Cnt As Long
  
  始点 = "A1"
  CtR = Range(始点).Row
  CtC = Range(始点).Column
  行数範囲 = 2500
  選択行数 = 1
  空き行 = 1
  選択列数 = 10
  
  Set UNi選択 = Cells(CtR, CtC).Resize(選択行数, 選択列数)
  Cnt = 行数範囲 \ (選択行数 + 空き行) - 1
  MsgBox "選択する行数は、" & Cnt & "行になります。"
  STime = Now()
  For i = 1 To Cnt
    CtR = CtR + 選択行数 + 空き行
    Set UNi選択 = Application.Union(UNi選択, Cells(CtR, CtC).Resize(選択行数, 選択列数))
    現在行 = 現在行下 + 空行数 + 1
  Next
  CTime = Now() - STime
  UNi選択.Select
  MsgBox Format(CTime, "h:mm:ss") & vbCrLf & _
      Format(Now() - STime, "h:mm:ss")
  Set UNi選択 = Nothing
End Sub

Sub ユニトロOffset()
  Dim 始点 As String, CT As Long, i As Long
  Dim 行数範囲 As Long, 選択行数 As Long, 空き行 As Long
  Dim 選択列数 As Long, UNi選択 As Range, Cnt As Long
  
  始点 = "A1"
  行数範囲 = 2500
  選択行数 = 1
  空き行 = 1
  選択列数 = 10
  Set UNi選択 = Range(始点).Resize(選択行数, 選択列数)
  Cnt = 行数範囲 \ (選択行数 + 空き行) - 1
  MsgBox "選択する行数は、" & Cnt & "行になります。"
  CT = Cnt * (選択行数 + 空き行)
  STime = Now()
  For i = 選択行数 + 空き行 To CT Step 選択行数 + 空き行
    Set UNi選択 = Application.Union(UNi選択, Range("A1").Resize(選択行数, 選択列数).Offset(i))
  Next
  CTime = Now() - STime
  UNi選択.Select
  MsgBox Format(CTime, "h:mm:ss") & vbCrLf & _
      Format(Now() - STime, "h:mm:ss")
  Set UNi選択 = Nothing
End Sub

'1行目から2500行までの基本的?な書き込み。(速度比較用)

Sub 書き込みテスト()
  Dim RR As Long
  STime = Now
  For i = 1 To 2500
    Cells(i, 1).Resize(, 10).Value = i
  Next
  MsgBox Format(Now() - STime, "h:mm:ss")
End Sub
・ツリー全体表示

【53】↑ Ctrl + Z で、コピペ等の取り消しができ...
Excel  Jaka  - 04/7/27(火) 10:42 -

引用なし
パスワード
   Ctrl + Z で、取り消しが出来るのは、フォームの方だけです。
SendKeysで、肝心要の実行をエクセル?、OS?側に投げ出している性でしょうか?

因みに、シート上のテキストボックスの方は、フォーム版と違いフラグ使ってややこしい書き方をしている性かできません。
フォーム版と同じような書き方に直せば出来るかも.....。
・ツリー全体表示

【52】テキストボックスの右クリックメニューとEn...
Excel  Jaka  - 04/7/26(月) 17:14 -

引用なし
パスワード
   概要
テキストボックスの右クリックメニューで、コピペ、切り取り、改行ができるようになります。
テキストボックス上のEnterキーで、改行ができるようになります。
SendKeysで処理しているせいか、安定しているとは言いにくいです。
また、PCスペックによっても変わってくると思います。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
ユーザーフォーム上に
テキストボックスと、その下に
コマンドボタンの計2つのコントロールがあるとして。
SendKeys "{UP}" で、フォーカスが戻るように配置。
TextBoxのプロパティで、MultiLine、WordWrapが、Trueに設定する。

テキストボックス名 = TextBox1
コマンドボタン名 =  CommandButton1
フォーム名は、適当に変えてください。
UserForm3で、作ったもので..。


//////////////////////////////////////////////////////////
フォームモジュール

Private Sub CommandButton1_Click()
  Unload Me
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = vbKeyReturn And Shift = 0 Then
    SendKeys "{UP}"
    TextBox1.SetFocus
    SendKeys "^({ENTER})"
  End If
End Sub

Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, _
               ByVal X As Single, ByVal Y As Single)
  If Button = 2 Then
   With Application.CommandBars.Add(Position:=msoBarPopup, temporary:=True)
     With .Controls.Add(Type:=msoControlButton)
        .Caption = "切取り"
        .FaceId = 21
        .OnAction = "切取り_Fm3"
     End With
     With .Controls.Add _
        (Type:=msoControlButton, temporary:=True)
        .Caption = "コピー"
        .FaceId = 19
        .OnAction = "コピー_Fm3"
     End With
     With .Controls.Add(Type:=msoControlButton)
        .Caption = "貼り付け"
        .FaceId = 22
        .OnAction = "貼り付け_Fm3"
     End With
     With .Controls.Add(Type:=msoControlButton)
        .Caption = "改行"
        .FaceId = 405
        .OnAction = "改行_Fm3"
     End With
     .ShowPopup
     '.Delete
   End With
  End If
  'DoEvents
End Sub

------------------------------
標準モジュール

Sub 切取り_Fm3()
  UserForm3.TextBox1.SetFocus
  SendKeys "^x"
  DoEvents
End Sub

Sub コピー_Fm3()
  UserForm3.TextBox1.SetFocus
  SendKeys "^c"
  DoEvents
End Sub

Sub 貼り付け_Fm3()
  UserForm3.TextBox1.SetFocus
  SendKeys "^v"
  DoEvents
End Sub

Sub 改行_Fm3()
  UserForm3.TextBox1.SetFocus
  SendKeys "^({ENTER})"
  DoEvents
End Sub

/////////////////////////////////////////////////////////////////////
こちらは、シート上コントロールTextBoxの右クリックメニュー。
フラグ使って試行錯誤してたやつ。

標準モジュール

Public KGFlg As Boolean

Sub Sh切取り()
  SendKeys "^x"
End Sub

Sub Shコピー()
  SendKeys "^c"
End Sub

Sub Sh貼り付け()
  SendKeys "^v"
End Sub

Sub Sh改行()
  KGFlg = True
  SendKeys "^({ENTER})"
End Sub

------------------------------
テキストボックスのあるシートモジュール

Private Sub TextBox1_MouseUp(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
  If Button = 2 Then
   With Application.CommandBars.Add(Position:=msoBarPopup, temporary:=True)
     With .Controls.Add(Type:=msoControlButton)
        .Caption = "切取り"
        .FaceId = 21
        .OnAction = "Sh切取り"
     End With
     With .Controls.Add(Type:=msoControlButton)
        .Caption = "コピー"
        .FaceId = 19
        .OnAction = "Shコピー"
     End With
     With .Controls.Add(Type:=msoControlButton)
        .Caption = "貼り付け"
        .FaceId = 22
        .OnAction = "Sh貼り付け"
     End With
     With .Controls.Add(Type:=msoControlButton)
        .Caption = "改行"
        .FaceId = 405
        .OnAction = "Sh改行"
     End With
     .ShowPopup
   End With
  End If
  DoEvents
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = 13 Then
    If KGFlg = False Then
     Sh改行
     KGFlg = True
    Else
     KGFlg = False
    End If
  End If 
End Sub

//////////////////////////////////////////////////////////////////////
フォーム上テキストボックスのEnterKeyによる改行だけ。

フォームモジュール

Private Sub CommandButton1_Click()
  Unload Me
  End
End Sub

Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
  If KeyCode = vbKeyReturn And Shift = 0 Then
    DoEvents
    TextBox1.SetFocus
    SendKeys "^({ENTER})"
    DoEvents
    SendKeys "{UP}"
  End If
End Sub
・ツリー全体表示

【51】VBAでのコントロール配列
全般  角田 E-MAILWEB  - 04/6/26(土) 9:09 -

引用なし
パスワード
   こんにちは。
VBAでは、VBで当たり前な「コントロール配列」という便利な
機能が使えません。それで、良く「沢山のコントロールを配置したが
ひとつに纏める方法は?」という質問が来ますね。

VBAで、それに対処する場合のセオリーは
 ・Me.Controls コレクションによるコントロール指定の一元化
 ・クラスモジュールによるイベント検出/イベント処理の一元化
というものですが、これは『擬似コントロール配列』と呼ばれている
手法です。

いままで、この手法の解説といえば、モーグ/スキルアップ講座の
「クラスモジュール」という解説の中にある、たった『1ページ』
位しか無かったです。1ページという限られたスペースなので、
ポイントを付いた説明ではある(ある程度のスキルのある人なら
理解できる)んですが、『そもそも、それって一体何?』的な、
基本中の基本からの解説が無いので、初心者・クラスモジュール
という名前そのものに一歩引いてしまう人、等には手が出ない部分が
ありました。
--------------------------------------------------------
σ(^_^)のAddinBoxで、『そもそも、それって一体何?』から解説
するページを作りましたので参考にして下さい。『全11節』
かなり(相当?)、砕けた口調で読み易く、書いています。

 『擬似からの脱却』
http://www.h3.dion.ne.jp/~sakatsu/Breakthrough_P-Ctrl_Arrays.htm

このページは、『そもそも、それって一体何?』から始まって、
モーグのような「擬似コントロール配列」の紹介、「その問題点」
を通り、最終的にはVBAで【VB並みのコントロール配列コーディ
ング】を実現する方法を解説しています。また、この手法による汎用
クラスモジュールを提供していますので、利用すること自体は非常に
簡単にできます(クラス自体は完全ブラックボックス運用)。
・ツリー全体表示

【50】ぴかるさん作「ピカつーる」Version 2.03配...
Excel  谷 誠之 E-MAIL  - 04/6/20(日) 0:20 -

引用なし
パスワード
   谷です。

当VBA研究所の常連さんでもある「ぴかる」さんが、普段のExcelの使用を格段に便利にしてくれるツール集「ピカつーる」を公開されておられます。

その Version 2.03 ができましたので、みたびここに公開いたします。
ただし、Windows XP、Excel 2002/2003 には対応していない、とのことです。
(対応して欲しい方は、質問箱にてぴかるさんにおねだりしましょう。
 しかし、実際にぴかるさんが対応してくださるかどうかは不明です。)

ダウンロードのしかた:
下記URLをクリックしてください。「開く」か「保存」か問い合わせてきたら、「保存」を選んでください。
zip形式で圧縮してあります。適宜、解凍ツールで解凍してください。
http://www.vbalab.net/download/PikaTool203.zip (307KB)

VBAに関する質問は、
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=2276;id=excel

使用方法の質問、ご意見・ご感想は、
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=327;id=

をご参照ください。
・ツリー全体表示

【49】ぴかるさん作「ピカつーる」Version 2.02配...
Excel  谷 誠之 E-MAIL  - 04/6/19(土) 14:20 -

引用なし
パスワード
   当VBA研究所の常連さんでもある「ぴかる」さんが、普段のExcelの使用を格段に便利にしてくれるツール集「ピカつーる」を公開されておられます。

その Version 2.02 ができましたので、ふたたびここに公開いたします。
従来のバージョンとの違いや新機能、使用上の注意は、あらためてぴかるさんから説明していただくことにしましょう。

ダウンロードのしかた:
下記URLをクリックしてください。「開く」か「保存」か問い合わせてきたら、「保存」を選んでください。
zip形式で圧縮してあります。適宜、解凍ツールで解凍してください。
http://www.vbalab.net/download/PikaTool2002.zip

VBAに関する質問は、
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=2276;id=excel

使用方法の質問、ご意見・ご感想は、
http://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=327;id=

をご参照ください。
−−−
じつはぴかるさんからは、昨年の年末から預かっていたのです。
公開をすっかり忘れていました。この場を借りて、お詫び申し上げます。
本当にごめんなさい・・
・ツリー全体表示

【48】bykinさん作「ToolStar」バージョンアップ
Excel  谷 誠之 E-MAIL  - 04/6/3(木) 22:21 -

引用なし
パスワード

【添付ファイル】 〜添付ファイル〜
[削除されました]
   VBA研究所主宰者の谷です。

bykinさん作「Tool★彡 (ツールスター)」がバージョンアップしました。
バグFIXが多いんですが、一部機能のブラッシュアップもやっています。

前のバージョンをお使いの方は、置き換えをお願いします。
(上書きインストールが可能です)

>
>このたび、Excel質問箱に時々回答をお寄せくださる bykin さんから、便利なアドインを預かりましたのでここで配布いたします。
>(れいぞーさんのExcelFactoryやエクセルファンクラブでも公開されています)
>
>
>■概要
> Tool★彡 (ツールスター) は Microsoft Excel に組み込んで使用する、便利なツール集です。
> インターネットの質問掲示板に投稿された質問に対して作者が回答した内容を元に作成した
> 機能や、作者が独自に開発した機能をまとめたものです。
> 標準機能にあるようでなかった便利機能をそろえています。
>
> 各機能を詳細に解説したヘルプファイルや、専用の登録プログラムも同梱しています。
> COMアドインならではの快適さをお試しください。
>
>■動作環境
> Excel2000/Excel2002/Excel2003
>
>■使用方法
> ToolStar.lzhを解凍後に解凍先フォルダ内のToolStar_ReadMe.txtを参照してください。
>
>■各機能説明
>
> ★彡 セル選択一部解除 ★彡
>
> 複数のセルをCtrlキーを押しながら順番に選択しているときに、間違って関係のないセルを
> 選択してしまったことはありませんか?
> 一般機能では選択済みセルの一部解除機能がないため、一旦選択を解除して一からやり直さ
> なければいけません。
> そういうときは・・・この機能をお使いください。
>
> ★彡 数式一覧作成 ★彡
>
> ワークシートで使用されている数式を確認するためには、セルの表示を数式に変更すること
> もできますが、数式はセルに入りきらないことが多くて確認しやすいとはいえません。
> 「数式一覧作成」ではアクティブなワークシートの数式を新しいワークシートに一覧形式で
> 書き出します。ワークシートの解析にご利用ください。
>
> ★彡 セル色変更 ★彡
>
> 選択範囲のセルの塗りつぶしの色を検索して、同じ色のセルをまとめて別の色に変更します。
> 同一色で塗りつぶしたセル範囲が矩形以外の場合等に便利な機能です。
>
> ★彡 ワークシート画像変換 ★彡
>
> 選択セル範囲を画像として保存します。対応フォーマットはGIF/JPEG/PNGです。
> 保存後はペイント/InternetExplorer/拡張子に関連付けられたソフトで開くことができま
> す。
>
> ★彡 罫線→シェイプ変換 ★彡
>
> 選択セル範囲のセルの罫線をオートシェイプの直線に変換します。
> 直線の形状/色はできるだけ元の罫線に近いものにしています。
>
> ★彡 雲形シェイプ作成 ★彡
>
> 選択セル範囲の縁またはあらかじめ作成したフリーフォームの辺にそって半円弧を連続描画
> することにより、雲形のシェイプを作成します。
>
>■著作権等
> この作品は作者であるbykinがフリーソフトとして公開するものです。
> 著作権はbykinが保有しています。
> この作品の使用に際して発生したいかなる損害に対しても、作者は一切の責任を負いません。
> 使用される皆様の自己責任にてご使用ください。
・ツリー全体表示

【47】前の
Access  あいがも  - 04/5/23(日) 11:12 -

引用なし
パスワード
   前のレコードと同じ値を挿入するときに、ctrl+”キーを押しますが、
これだと、すべてのフィールドに同じ値が挿入されます。
特定のフィールドだけに、前のレコードの値を挿入したいのですが、
どうすればいいでしょうか。お教えください。
・ツリー全体表示

【45】Excel 97 以降で、メニューを簡単に追加する...
Excel  谷 誠之 E-MAIL  - 04/4/9(金) 21:59 -

引用なし
パスワード
   上で紹介したふたつの関数/サブルーチンを使って、実際にメニューを登録する例です。

  If F_ExistMenu("畦道(&A)") = False Then
    Set NewMenu = F_MakeNewPopup(CommandBars("Worksheet Menu Bar"), "畦道(&A)", False)
    
    Call MakeNewMenu(NewMenu, "設問設定作成編集(&M)...", "設問設定作成編集", False)
    Call MakeNewMenu(NewMenu, "設問一覧作成(&L)", "設問一覧作成", False)
    Set SubMenu = F_MakeNewPopup(NewMenu, "単純集計(&G)", True)
      Call MakeNewMenu(SubMenu, "専用シート作成(&P)", "単純集計準備", False)
      Call MakeNewMenu(SubMenu, "単純集計実行(&R)", "単純集計実行", False)

  End If

これは私が昔作った「畦道」というツールのメニュー例です。
これを実行することにより、

 畦道(A)
  +設問設定作成編集(M)...
  +設問一覧作成(L)
  +単純集計(G)
   +専用シート作成(P)
   +単純集計実行(R)

こんなメニューが作成されます。
・ツリー全体表示

  新規投稿 ┃ツリー表示 ┃一覧表示 ┃トピック表示 ┃検索 ┃設定 ┃ホーム  
12 / 14 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:   
0
(SS)C-BOARD v3.8 is Free