Excel VBA質問箱 IV

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

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


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

【77861】Re:日本語入力システムについて
発言  独覚  - 16/1/13(水) 11:43 -

引用なし
パスワード
   日本語版の場合でも「Excelのオプション」-「言語」-「編集言語の選択」で「英語」が
「規定」になっていると入力規則のタブに「日本語入力」が表示されなくなるようです。

他の言語ではどうなるかまでは調べていません。
・ツリー全体表示

【77860】Re:excel2003で作ったVBAの誤作動?バグ...
お礼  たろう  - 16/1/13(水) 9:22 -

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

解決しました!
他の方の環境では再現されない誤作動だったので半分諦めてました。
ありがとうございました。
・ツリー全体表示

【77859】Re:excel2003で作ったVBAの誤作動?バグ...
お礼  たろう  - 16/1/13(水) 9:19 -

引用なし
パスワード
   ▼β さん:
長々と付き合ってくれてありがとうございました。
・ツリー全体表示

【77858】Re:excel2003で作ったVBAの誤作動?バグ...
発言  ichinose  - 16/1/12(火) 21:31 -

引用なし
パスワード
   ▼たろう さん:
>ダブルクリックやコマンドボタンを使わないでマクロからユーザーフォームを開くと症状が出ないことは解ったんですがそれではあまりにも不便なんですよね。なにか替わりの方法などあればいいのですが
 Ontimeメソッドで試してみては いかがですか?

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, _
ByVal Target As Range, Cancel As Boolean)
  Application.OnTime Now(), "thisworkbook.ufmshow"
  Cancel = True
End Sub
Sub ufmshow()
  UserForm1.Show
End Sub
・ツリー全体表示

【77857】Re:excel2003で作ったVBAの誤作動?バグ...
発言  β  - 16/1/12(火) 19:58 -

引用なし
パスワード
   ▼たろう さん:

なるほど。
UserFormモジュールは、このコードだけ(INITIALIZEもなし)なんですね。

こちらでは、アップされたコードだけで動かして障害が出ませんので
これ以上はお手伝いできませんねぇ。
他の方からのアドバイスがあればいいですね。
・ツリー全体表示

【77856】Re:excel2003で作ったVBAの誤作動?バグ...
発言  たろう  - 16/1/12(火) 16:13 -

引用なし
パスワード
   ▼β さん:
>ところで、ユーザーフォームの機能が、CommandButton1をクリックして
>画面分割を行うだけということであれば、わざわざユーザーフォームを表示しなくても
>ダブルクリックで、直接、その処理を行えばよろしいのでは?

ダブルクリックでしたい動作が一つではないのでユーザーフォームにその動作を詰め込んでいるのでそういうわけにはいかないんですよね。

>もし、このユーザーフォームには、そのほかの様々な機能もある、また
>CommandButton1_Click も、アップされたコードだけではなく、いろいろ記述されている
>ということであれば、コメントしましたように、ユーザーフォームモジュールをすべて
>アップされると、皆さんから新しい発見レスも寄せられるかもしれません。

いや他の機能もありますが、新しいブックに【77849】に書いたコードだけで問題が起きるので他のコードは関係ないと思います。他の動作は問題出ないんですよ。
・ツリー全体表示

【77855】Re:excel2003で作ったVBAの誤作動?バグ...
発言  β  - 16/1/12(火) 15:29 -

引用なし
パスワード
   ▼たろう さん:

不思議ですねぇ。

ところで、ユーザーフォームの機能が、CommandButton1をクリックして
画面分割を行うだけということであれば、わざわざユーザーフォームを表示しなくても
ダブルクリックで、直接、その処理を行えばよろしいのでは?

もし、このユーザーフォームには、そのほかの様々な機能もある、また
CommandButton1_Click も、アップされたコードだけではなく、いろいろ記述されている
ということであれば、コメントしましたように、ユーザーフォームモジュールをすべて
アップされると、皆さんから新しい発見レスも寄せられるかもしれません。
・ツリー全体表示

【77854】Re:excel2003で作ったVBAの誤作動?バグ...
発言  たろう  - 16/1/12(火) 15:12 -

引用なし
パスワード
   ▼β さん:
なんでなんだろう??うちの社内の他のPCでも全く同じ症状が出るので皆同じと思っていました。ダブルクリックやコマンドボタンを使わないでマクロからユーザーフォームを開くと症状が出ないことは解ったんですがそれではあまりにも不便なんですよね。なにか替わりの方法などあればいいのですが

>・どのシートのダブルクリックでも受ける という仕様なんですね?

そういう仕様です。
見積書なんですが流れとしては、シート1で数量計算して、分割しシート2に転記して、もう一度ユーザーフォームを開いて合計を押すと自動計算されて、その時に分割が解除されるという流れです。ユーザーフォームには分割、自動計算、自動で範囲指定して印刷などいろいろ入れてあるのでどこでも開ける方が都合がいいんです。

>・すでに、画面が分割されている状態でユーザーフォームを表示させて分割すると
> どんどんこままくというか、画面がたくさんできていきますけど
> それはそれでいいのですね?

再分割という動作をすることはないのでいいのですが、他のブックを開いたままだと3つ以上に分割されるのでよくはないです。前回作ったときに、うまくいかなかったのでその点については諦めていました。
・ツリー全体表示

【77853】Re:excel2003で作ったVBAの誤作動?バグ...
発言  β  - 16/1/12(火) 14:36 -

引用なし
パスワード
   ▼たろう さん:

はい。
こちらで検証した際にはシート1のシートモジュールに書いていたのですが
今回アップされた、Thisworkbookモジュールに変更しても、全く異常は発生していません。

ところで、本筋のコメントではないのですが

・どのシートのダブルクリックでも受ける という仕様なんですね?
・すでに、画面が分割されている状態でユーザーフォームを表示させて分割すると
 どんどんこままくというか、画面がたくさんできていきますけど
 それはそれでいいのですね?
・ツリー全体表示

【77852】Re:日本語入力システムについて
発言  Jaka  - 16/1/12(火) 14:28 -

引用なし
パスワード
   ああ、入力規則のタブに
日本語入力ってのがないってことですね。
すみませんでした。
・ツリー全体表示

【77851】Re:日本語入力システムについて
発言  Jaka  - 16/1/12(火) 14:22 -

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

日本語入力システム って?
IMEオンと違うんですか?
因みに2007だと。

オン

しか書いてありませんでした。
また、使っているのはOffice付属のOfficeIME2007です。
・ツリー全体表示

【77850】Re:excel2003で作ったVBAの誤作動?バグ...
お礼  たろう  - 16/1/12(火) 13:56 -

引用なし
パスワード
   ▼Jaka さん:
やはり駄目でした
わざわざありがとうございました。
・ツリー全体表示

【77849】Re:excel2003で作ったVBAの誤作動?バグ...
質問  たろう  - 16/1/12(火) 13:51 -

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

>実際にCommandButton をクリックした時に処理しているコードを
>そのままコピペで貼り付けてアップされてはいかがでしょう。
新しいブックに下のコードで誤作動が起きるんですがβさんの環境では起きないということなんでしょうか?

ThisWorkbookに

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, _
ByVal Target As Range, Cancel As Boolean)
  UserForm1.Show
End Sub

UserForm1に

Private Sub CommandButton1_Click()
Sheet2に記入
End Sub

Module1に
Sub Sheet2に記入()
'
' Sheet2に記入 Macro
'
  Application.ScreenUpdating = False
  Unload UserForm1
 
  Sheets("Sheet1").Select
  ActiveWindow.NewWindow
  Windows.Arrange ArrangeStyle:=xlArrangeStyleVertical, ActiveWorkbook:=True
  Sheets("Sheet2").Select
  Range("B40").Select
 
  Application.ScreenUpdating = True
End Sub
・ツリー全体表示

【77848】Re:excel2003で作ったVBAの誤作動?バグ...
発言  Jaka  - 16/1/12(火) 13:28 -

引用なし
パスワード
   2013持っていないやつが、返信するもんじゃないな。
最近、エクセル触ってないし。

ひょっとしたら、97時代のおまじないが聞いたりして。
2013持ってないのでこれ以上想像できません。
ごめんなさい。

Cancel = True
ActiveCell.Activate
・ツリー全体表示

【77847】Re:excel2003で作ったVBAの誤作動?バグ...
発言  β  - 16/1/12(火) 12:05 -

引用なし
パスワード
   ▼たろう さん:

jakaさんのレスで、セルの編集状態が悪さをしているのかなと思い
ためしに、アップされたまま、Cancel=true を入れない形のシートイベントでユーザーフォームを開きましたが
これも、全く問題ないですね。

不思議です。

実際にCommandButton をクリックした時に処理しているコードを
そのままコピペで貼り付けてアップされてはいかがでしょう。
・ツリー全体表示

【77846】Re:excel2003で作ったVBAの誤作動?バグ...
発言  たろう  - 16/1/12(火) 11:54 -

引用なし
パスワード
   ▼Jaka さん:
>>  UserForm1.Show
>
>の前に
>Cancel = True
>を入れてみると?
>
>久々の登場で勘。

ありがとうございます。
やってみましたが駄目でした。
・ツリー全体表示

【77845】Re:excel2003で作ったVBAの誤作動?バグ...
発言  Jaka  - 16/1/12(火) 11:43 -

引用なし
パスワード
   >  UserForm1.Show

の前に
Cancel = True
を入れてみると?

久々の登場で勘。
・ツリー全体表示

【77844】Re:excel2003で作ったVBAの誤作動?バグ...
発言  たろう  - 16/1/12(火) 10:55 -

引用なし
パスワード
   ▼β さん:
検証ありがとうございます。

再検証したところユーザーフォームの開き方に問題があるようです。
通常、セルをダブルクリックしたらユーザーフォームが開くように下のコードを入れています。

Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, _
ByVal Target As Range, Cancel As Boolean)
  UserForm1.Show
End Sub

このコード以外の開き方だとおっしゃるとおり問題は起きませんでした。
ただ何が問題なのかよくわかりません。。
・ツリー全体表示

【77843】Re:貼り付けたHTMLのテキストを取得したい
お礼  YH  - 16/1/9(土) 19:19 -

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

γ 様。
厳しくも温かきご意見ありがとうございます。そして、大人の対応をしていただき感謝します。勉強になりました。

>> 皆様、はじめまして。彷徨い続けて、ここへ流れてきました。
>> こういう場所への投稿は初めてですので、失礼があったらお許しください。
>> 本題へ入ります。
>> 下記のマクロですが、MsgBoxに表示させるのではなく、
>> 例えば、セルA1から下へ、貼り付けていくのにはどうすればよいでしょうか?
>> 初心者で大変困っております。
>> どうぞよろしくお願いします。
>>
> > >'=======================================================
> > >Sub testtest()
> > >  Dim shp As OLEObject
> > >  With ActiveSheet
> > >    For Each shp In .OLEObjects
> > >     If UCase(TypeName(shp.Object)) = UCase("htmltext") Or UCase(TypeName(shp.Object)) = UCase("htmltextarea") Then
> > >       MsgBox shp.Object.Value
> > >       End If
> > >     Next
> > >    End With
> > >End Sub
> > >
>
>YHさんへ。
>
>MsgBox shp.Object.Value
>のかわりに
>k = k + 1
> Cells(k,1).Value = shp.Object.Value
>とでもすればいいんじゃないのかなあ。
>
>-----
>>彷徨い続けて、ここへ流れてきました。
>どのあたりを彷徨ったのですか?
>ここは、場末の行き止まりなのかな?
>なぜここに?
>
>さておき。
>なぜこれほど古いものにコメントをつけるのですか?
> 意味もなく昔のものを掘り出すのは、やめたほうがいいですね。
>
>スレッドには、それぞれテーマが決まっているのですから、
> 別人が勝手に違う話を紛れ込ませるのはマナー違反です。
>
>あなたが新しい質問を建てて、
> 単にコードだけコピーペイストしたらいいじゃありませんか。
> 以前の議論を参照しないといけないことでもないでしょ?
> 仮にそうであったら、リンク先を書けばいいだけです。
>
>>例えば、セルA1から下へ、貼り付けていくのにはどうすればよいでしょうか?
>書込先を移動していくという一般的な話なら、
>なにも古い記事を持ち出す必要もないはず。
>どのような経緯で、この古い記事に行き当たったのですかね。
>
> 以前の投稿者が、なんらかの理由で掘り起こしでもしているのか。
>いずれにしても奇矯な行動に映るので、普通は誰も敬遠してしまうよ。
> (私は変わり者なんでコメントしたけどね)
>
> 続けて質問がもしあるなら、
>そして、削除のためのパスワードが設定してあったらという前提だが、
>あなたの発言を削除して、新しいものを建てたほうが良いと思う。
> 私も、あえて一つ前のものにコメントし、削除できるようにしておく。
・ツリー全体表示

【77842】Re:貼り付けたHTMLのテキストを取得したい
発言  γ  - 16/1/9(土) 18:10 -

引用なし
パスワード
   > 皆様、はじめまして。彷徨い続けて、ここへ流れてきました。
> こういう場所への投稿は初めてですので、失礼があったらお許しください。
> 本題へ入ります。
> 下記のマクロですが、MsgBoxに表示させるのではなく、
> 例えば、セルA1から下へ、貼り付けていくのにはどうすればよいでしょうか?
> 初心者で大変困っております。
> どうぞよろしくお願いします。
>
> >'=======================================================
> >Sub testtest()
> >  Dim shp As OLEObject
> >  With ActiveSheet
> >    For Each shp In .OLEObjects
> >     If UCase(TypeName(shp.Object)) = UCase("htmltext") Or UCase(TypeName(shp.Object)) = UCase("htmltextarea") Then
> >       MsgBox shp.Object.Value
> >       End If
> >     Next
> >    End With
> >End Sub
> >

YHさんへ。

MsgBox shp.Object.Value
のかわりに
k = k + 1
Cells(k,1).Value = shp.Object.Value
とでもすればいいんじゃないのかなあ。

-----
>彷徨い続けて、ここへ流れてきました。
どのあたりを彷徨ったのですか?
ここは、場末の行き止まりなのかな?
なぜここに?

さておき。
なぜこれほど古いものにコメントをつけるのですか?
意味もなく昔のものを掘り出すのは、やめたほうがいいですね。

スレッドには、それぞれテーマが決まっているのですから、
別人が勝手に違う話を紛れ込ませるのはマナー違反です。

あなたが新しい質問を建てて、
単にコードだけコピーペイストしたらいいじゃありませんか。
以前の議論を参照しないといけないことでもないでしょ?
仮にそうであったら、リンク先を書けばいいだけです。

>例えば、セルA1から下へ、貼り付けていくのにはどうすればよいでしょうか?
書込先を移動していくという一般的な話なら、
なにも古い記事を持ち出す必要もないはず。
どのような経緯で、この古い記事に行き当たったのですかね。

以前の投稿者が、なんらかの理由で掘り起こしでもしているのか。
いずれにしても奇矯な行動に映るので、普通は誰も敬遠してしまうよ。
(私は変わり者なんでコメントしたけどね)

続けて質問がもしあるなら、
そして、削除のためのパスワードが設定してあったらという前提だが、
あなたの発言を削除して、新しいものを建てたほうが良いと思う。
私も、あえて一つ前のものにコメントし、削除できるようにしておく。
・ツリー全体表示

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