Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


345 / 3841 ページ ←次へ | 前へ→

【75521】Re:散布図で対数表示できません
発言  マナ  - 14/5/3(土) 15:55 -

引用なし
パスワード
   B1が0以下ということはないですか
・ツリー全体表示

【75520】Re:オートシェイプの移動禁止、でも編集...
発言  Yuki  - 14/5/3(土) 9:01 -

引用なし
パスワード
   ▼まめ さん:
こんにちは。

まだ見ているようでした
コードをアップしますけど
・ツリー全体表示

【75519】散布図で対数表示できません
質問  まめ  - 14/5/2(金) 12:08 -

引用なし
パスワード
   お世話になります。

VBAを用いてグラフを作成しています(エクセル2007)。
X軸を対数表示させようとすると、以下のようなエラーが表示されてしまいます。

実行時エラー'-2147467259 (80004005)':
'ScaleType'メソッドは失敗しました:'Axis'オブジェクト

調べたところ、2007以降のバグではないかと記載されていたサイトがありましたが
では、どのようにしたら対数表示できるようになるでしょうか。

-------------------
参考までに、問題部分のコードを記載いたします。

With Sheets("1").ChartObjects(1).Chart.Axes(xlCategory)
  .MinimumScale = Sheets("data").Range("B1").Value
  .MaximumScale = Sheets("data").Range("C1").Value
  .MajorUnit = 10
  .CrossesAt = Sheets("data").Range("B1").Value
  .ScaleType = xlLogarithmic '対数表示
  .TickLabels.NumberFormatLocal = "[<0]"""";G/標準"
End With

以上、何卒よろしくお願いいたします。
・ツリー全体表示

【75518】Re:オートシェイプの移動禁止、でも編集...
お礼  まめ  - 14/4/29(火) 22:31 -

引用なし
パスワード
   ▼γ さん:

お世話になっております。
そうなんですね。残念ですが、他の方法で何か考えてみようと思います。

ありがとうございました!
・ツリー全体表示

【75517】Re:sendkeysでカンマを送信する方法
回答  KMM  - 14/4/29(火) 13:27 -

引用なし
パスワード
   TCPLink エミュレーターに文字列を送信する手段として、API(EHLLAPI)を使う方法もあります。
EHLLAPI を利用すればExcelVBAやVB.NETから送受信することが可能です。
他にはPCSAPIがあり、セッションの起動・終了などが行えます。
APIのサンプルプログラムについては、TCPLink エミュレーターのインストールディスクに収録されています。
・ツリー全体表示

【75516】Re:オートシェイプの移動禁止、でも編集...
回答  γ  - 14/4/28(月) 21:16 -

引用なし
パスワード
   何か期待させてしまったようですね。どうも失礼。

再掲します。
>>移動や大きさ変更は禁止、でも選択したり書式を変更するのはOK
>>とするにはどのようにすればよろしいでしょうか。
>難しいんじゃないですか?
>保護では、「オブジェクトの編集」とひとくくりですから。

仕様ですから、いくらリクエストされても無理です。
・ツリー全体表示

【75515】Re:オートシェイプの移動禁止、でも編集...
お礼  まめ  - 14/4/28(月) 8:42 -

引用なし
パスワード
   ▼γ さん:

ご回答いただきありがとうございます。
また、返信が遅くなり申し訳ありません。

認める書式の変更ですが、書式の選択というよりも
基本的には「選択可能」にしたいと考えております。
(グラフや図をPPTなどにコピペすることが多いため)

また、可能であればグラフの系列の色を変更できればいいなと
思っています。

以上、よろしくお願いいたします。
・ツリー全体表示

【75514】Re:VBAのタブストリップについて
お礼  初心者  - 14/4/28(月) 6:38 -

引用なし
パスワード
   ありがとうございました。

望んでいた動きができました。
・ツリー全体表示

【75513】Re:VBAのタブストリップについて
発言  γ  - 14/4/27(日) 10:00 -

引用なし
パスワード
   こんなことでしょうか?
フォームモジュールに以下を書きます。

Option Explicit
Private WithEvents ObjTab1 As MSForms.TabStrip

Private Sub ObjTab1_Change()
  MsgBox "change"
End Sub

Private Sub CommandButton1_Click()
  Set ObjTab1 = Me.Controls.Add("Forms.TabStrip.1")
  With ObjTab1
      .Left = 150 '表示位置(左基準)
      .Top = 50  '表示位置(上基準)
      .Height = 150 '表示位置(高さ)
      .Width = 330 '表示位置(横幅)
   End With
End Sub
・ツリー全体表示

【75512】Re:VBAのタブストリップについて
質問  初心者  - 14/4/27(日) 8:31 -

引用なし
パスワード
   回答ありがとうございます。
問題なく追加する事ができました。

動的にタブストリップを追加する理由は、フォーム上にあらかじめ配置したコマンドボタンをクリックした際に、別フォームを呼ぶのではなく、フォームの横幅を広げて、そこにタブストリップを埋め込む仕様の為です。

また、追加で質問させて頂きたいのですが、動的に追加したタブストリップのタブ(ページ?)を移動した際にイベントを拾う事は可能でしょうか?

以下ではタブを移動してもイベントを拾いませんでした。

【ユーザーフォームに記述】
Dim ObjTab As msforms.TabStrip
Set ObjTab = UserForm2.Controls.Add("forms.tabstrip.1", "TabStrip1")
   With ObjTab
     .Left = 150 '表示位置(左基準)
     .Top = 50  '表示位置(上基準)
     .Height = 150 '表示位置(高さ)
     .Width = 330 '表示位置(横幅)
   End With

【クラスモジュールに記述】
Public WithEvents ObjTab As TabStrip
Private Sub ObjTab_Change()
MsgBox "sss"
End Sub

よろしくお願い致します。
・ツリー全体表示

【75511】Re:オートシェイプの移動禁止、でも編集...
発言  γ  - 14/4/25(金) 21:45 -

引用なし
パスワード
   >グラフやオートシェイプを動かされないようにするには
>シートの保護が有効だと思いますが、
>後から手を加えることが全くできないというのが困りものです。
>
>移動や大きさ変更は禁止、でも選択したり書式を変更するのはOK
>とするにはどのようにすればよろしいでしょうか。
難しいんじゃないですか?
保護では、「オブジェクトの編集」とひとくくりですから。

認める書式の変更とは、どんなものですか?
決まっている(例えば、色を変える)なら、
マクロで工夫の余地があるかもしれません。
自由度が高いなら難しいでしょう。
・ツリー全体表示

【75510】Re:VBAのタブストリップについて
発言  γ  - 14/4/25(金) 21:42 -

引用なし
パスワード
   なぜ動的に設定する必要があるのでしょうか。
普通は最初にコントロールは配置しておいて使いますよね。
「書式」メニューを使えば、配置も綺麗に出来ると思いますが。

どうしてもということなら、同じように下記のようにできます。
Dim Objchk As Control
Set Objchk = Me.Controls.Add("forms.checkbox.1")
With Objchk
   .Left = 170
   .Top = 90
   .Height = 30
   .Width = 80
   .Caption = "checkbox1"
End With
・ツリー全体表示

【75509】VBAのタブストリップについて
質問  初心者  - 14/4/25(金) 20:19 -

引用なし
パスワード
   EXCEL2010のVBAでユーザーフォームを作成し、コマンドボタン押下時に動的にタブストリップを埋め込みました。
この動的に追加したタブストリップ上にチェックボックスを埋め込みたいのですが、コーディング方法をご教授頂きたいです。

Private Sub CommandButton1_Click()
Dim ObjTab As Control
Set ObjTab = Me.Controls.Add("forms.tabstrip.1")
With ObjTab
   .Left = 150
   .Top = 50 
   .Height = 150
   .Width = 150
End With
・ツリー全体表示

【75508】Re:チェックボックスをすべてオフに
質問  初心者毛  - 14/4/25(金) 19:36 -

引用なし
パスワード
   アドバイスありがとうございます。
使っているシートを壊れシートと呼ぶことにします。

壊れシートに
>ActiveSheet.CheckBoxes.Value = xlOffだけを試してもエラー57121が出ます。
<アプリケーション定義、又はオブジェクト定義のエラーです>と書かれています。

新シートを挿入し壊れシートの表をコピペしたところ、元の半分自作コードも問題なく動きました。

  Range( _
    "C3:L5,N4:P5,T4:Y5,R4:S5,AA4:AB5,AE4:AK5,B6:C7,G6:I7,G8:I9,O6:AA7,O8
:AA9,AG6:AK7,AG8:AK9,J12:N12,H13:AK14,Z12:AK12,H15:O16,R15:S16,AB15:AK15
,H17:AK18,H19:T20,H21:O22,R21:S22,H23:AK24,H25:T26,Y25:AK26,H27:O28,R27:
S28,H29:AK30,H31:T32,A35:Z52,AB37:AK45" _
    ).Select

  Selection.ClearContents
ActiveSheet.CheckBoxes.Value = False


なのでコピペシートを調整していけば解決となりますが。

もし壊れシート上になんらかの見えないバグオブジェクトのような
ものが残っているとすると、そういうものを消すコードを
7〜8年前にここで見かけたことがあるのですが
誰かご存知ないでしょうか?
・ツリー全体表示

【75507】オートシェイプの移動禁止、でも編集は可...
質問  まめ  - 14/4/25(金) 10:53 -

引用なし
パスワード
   お世話になります。

グラフやオートシェイプを動かされないようにするには
シートの保護が有効だと思いますが、
後から手を加えることが全くできないというのが困りものです。

移動や大きさ変更は禁止、でも選択したり書式を変更するのはOK
とするにはどのようにすればよろしいでしょうか。

よろしくお願いいたします。
・ツリー全体表示

【75506】Re:チェックボックスをすべてオフに
発言  γ  - 14/4/25(金) 7:42 -

引用なし
パスワード
   >>ActiveSheet.CheckBoxes.Value = xlOff
>を試してみましたが
>やはり定義エラーのメッセージが出てきてしまいます。

それ以外のコードでエラーになっている可能性はありませんか?
ActiveSheet.CheckBoxes.Value = xlOff
の行だけからなるプロシージャで試してください。

また、エラーメッセージは省略せずに、正確にすべてを示してください。
皆さんから指摘がいただけるはずです。

なお、特定のシートだけで発生するなら、その特徴を調べるか、
場合によっては、新規シートに再作成することも有効かもしれません。
・ツリー全体表示

【75505】Re:チェックボックスをすべてオフに
発言  初心者毛  - 14/4/24(木) 23:08 -

引用なし
パスワード
   ご回答ありがとうございます。

>ActiveSheet.CheckBoxes.Value = xlOff

を試してみましたが
やはり定義エラーのメッセージが出てきてしまいます。
・ツリー全体表示

【75504】Re:ファイル名をセルから取得
お礼  fuyu  - 14/4/24(木) 22:35 -

引用なし
パスワード
   ▼kanabun さん:
できました!!
どうもありがとうございます!
・ツリー全体表示

【75503】Re:チェックボックスをすべてオフに
発言  γ  - 14/4/24(木) 22:13 -

引用なし
パスワード
   # 回答者毛 です。

ActiveSheet.OLEObjects を使ったものは、ActiveXコントロール用です。

ActiveSheet.CheckBoxes.Value = xlOff
だけで良いはずです。
・ツリー全体表示

【75502】チェックボックスをすべてオフに
質問  初心者毛  - 14/4/24(木) 20:01 -

引用なし
パスワード
   よろしくお願いします。

明日までにあるファイルの入力部分をマクロで
空白にするマクロを作っております。
これ自体は簡単にマクロ記録で作れましたが
チェックボックスを空白状態にしようとした所
一つのシートだけ・・・のコントロールはまだ作成されておりません
というメッセージが出てきて私には対処できませんでした。

その為いったんチェックボックスを全て破棄して

開発ー挿入ーフォームコントロールでチェックボックスを全部
作り直しました。

ところが今度は

アプリケーション定義またはオブジェクト定義エラー
のメッセージ違反が出てどうしたらいいかわからなくなりました。

使用OSはWIN7 オフィス7を使っております。
が、これは職場の各部署に配るのでXPや2003の環境もあるかもしれません。

使用したコードはネットで拾ったもので


Dim o As Object
  For Each o In ActiveSheet.OLEObjects
  If TypeOf o.Object Is MSForms.CheckBox Then
    o.Object.Value = False
  End If
  Next o
End Sub

ともうひとつ

ActiveSheet.CheckBoxes.Value = xlOff


を自作クリアマクロに加えています。

なにとぞアドバイスお願いします
・ツリー全体表示

345 / 3841 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free