Excel VBA質問箱 IV

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

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


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

【77906】Re:文字列の一括返還について
発言  マルチネス  - 16/2/1(月) 20:05 -

引用なし
パスワード
   レスが付いてるのに削除するとはいかがなものか?と思います。
回答者に対して非常に失礼です。
・ツリー全体表示

【77905】Re:実行時エラー1004について
お礼  tetsu  - 16/2/1(月) 18:45 -

引用なし
パスワード
   ▼ichinose さん:
>▼tetsu さん:
>>こんにちは。
>>「実行時エラー1004 OLEObjectメソッドは失敗しました。Wooksheetオブジェクト」
>>
>>下記のソースの3行目でエラーになります。
>
>
>>  For Each mySheet In Worksheets
>>    For i = 1 To 4
>>      With mySheet.OLEObjects("ComboBox" & i).Object
>>        .AddItem "りんご"
>>        .AddItem "みかん"
>>        .AddItem "ばなな"
>>        .AddItem "オレンジ"
>>        .AddItem "パイン"
>>        .AddItem "ブドウ"
>>      End With
>>    Next i
>>  Next
>
>
>>ワークシート上に4つのコンボボックスをおいて、全て同じ選択肢を設定する処理です。
>
>対象ブックにあるワークシートすべてが対象だという事は 認識されていますか?
>
>新規にワークシートだけを作成し、上記のコードを実行すると
>提示されたようなエラーが発生します
>(もっともmySheetという変数をどのように定義されているかにも依りますが)。
>
>
>この辺りの確認はいかがですか?

お返事ありがとうございました。
まさしく、別の処理のためにコンボボックスがないシートを入れていました。
そのシートにダミーのコンボボックスを置いたら、現象は発生しなくなりました。お礼が遅くなり、すみませんでした。
・ツリー全体表示

【77904】Re:文字列の一括返還について
お礼  タークン E-MAIL  - 16/2/1(月) 10:45 -

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

今、スレッドを削除の仕方を探しています。
・ツリー全体表示

【77903】Re:文字列の一括返還について
発言  β  - 16/1/30(土) 17:36 -

引用なし
パスワード
   ▼タークン さん:

あちらに回答を入れておきましたが、それでは要件を満たさなかったということでしょうか?

なお、質問箱IVはマルチポストは許容していますが、以下のようなルールがあります。
また、あちらはマルチポスト禁止の板です。

マルチポストについて
別のサイト(掲示板)にまったく同じ目的の投稿をすることを、一般に「マルチポスト」といいます。当質問箱では、マルチポストは原則認めています。つまり、ほかのサイトで質問したことをこのサイトで質問してもかまわないということです。

しかし、もしマルチポストをするのなら、可能な限り「○○にも同じ質問を出しました」ということを宣言してください。そして、仮に他のサイトで解決したのなら、ここにも必ずその顛末を書いてください。質問しっぱなし、というのはモラルに反します。「解決したからいいや」というのではありません。

また、マルチポストを明示的に禁止しているサイトとのマルチポストをしてはいけません。
・ツリー全体表示

【77902】Re:実行時エラー1004について
発言  ichinose  - 16/1/30(土) 17:13 -

引用なし
パスワード
   ▼tetsu さん:
>こんにちは。
>「実行時エラー1004 OLEObjectメソッドは失敗しました。Wooksheetオブジェクト」
>
>下記のソースの3行目でエラーになります。


>  For Each mySheet In Worksheets
>    For i = 1 To 4
>      With mySheet.OLEObjects("ComboBox" & i).Object
>        .AddItem "りんご"
>        .AddItem "みかん"
>        .AddItem "ばなな"
>        .AddItem "オレンジ"
>        .AddItem "パイン"
>        .AddItem "ブドウ"
>      End With
>    Next i
>  Next


>ワークシート上に4つのコンボボックスをおいて、全て同じ選択肢を設定する処理です。

対象ブックにあるワークシートすべてが対象だという事は 認識されていますか?

新規にワークシートだけを作成し、上記のコードを実行すると
提示されたようなエラーが発生します
(もっともmySheetという変数をどのように定義されているかにも依りますが)。


この辺りの確認はいかがですか?
・ツリー全体表示

【77901】実行時エラー1004について
質問  tetsu E-MAIL  - 16/1/30(土) 15:01 -

引用なし
パスワード
   こんにちは。
数日前よりコンボボックスを使ったマクロで、下記のようなエラーが出るようになりました。
「実行時エラー1004 OLEObjectメソッドは失敗しました。Wooksheetオブジェクト」

下記のソースの3行目でエラーになります。
  For Each mySheet In Worksheets
    For i = 1 To 4
      With mySheet.OLEObjects("ComboBox" & i).Object
        .AddItem "りんご"
        .AddItem "みかん"
        .AddItem "ばなな"
        .AddItem "オレンジ"
        .AddItem "パイン"
        .AddItem "ブドウ"
      End With
    Next i
  Next
ワークシート上に4つのコンボボックスをおいて、全て同じ選択肢を設定する処理です。MSForms.exdを削除してパソコン再起動してもダメでした。
何か解決策はありませんでしょうか?
win7+excel2010です。
・ツリー全体表示

【77900】文字列の一括返還について
質問  タークン E-MAIL  - 16/1/30(土) 14:45 -

引用なし
パスワード
   A列に入っている返還前の文字列を
返還後の状態に一括変換できる方法がありましたらご教授ください。

返還前
d2s_10k_59___
d2s_8k_27__
hid_d2s_12k_04__
hid_d2s_4k_
d2r_10k
led80w_xbd_h16_
led80w_xbd_h11_07_
led80w_xbd_h7_117__
led80w_xbd_h8_128
led80w_xbd_hb4


返還後
d2s_10k
d2s_8k
hid_d2s_12k
hid_d2s_4k
d2r_10k
led80w_xbd_h16
led80w_xbd_h11
led80w_xbd_h7
led80w_xbd_h8
led80w_xbd_hb4
・ツリー全体表示

【77899】Re:SAP汎用モジュールのEXPORTパラメータ...
お礼  ゆら  - 16/1/29(金) 10:06 -

引用なし
パスワード
   お返事およびご指摘いただきどうもありがとうございます。
初めての利用でルールがわかっておらず、大変申し訳ありませんでした。

エクセル質問掲示板、というところに同様の質問を記載いたしましたが、
まだ解決しておりません。

一方でSAP側の仕様を調査したところ、おそらくですがTABLESパラメータを
使用しないとテーブル型のデータは取り扱えなさそうでしたので、
その方針に切り替えようと思います。

お騒がせして申し訳ありませんでした。
どうもありがとうございました。
・ツリー全体表示

【77898】Re:SAP汎用モジュールのEXPORTパラメータ...
発言  独覚  - 16/1/29(金) 9:22 -

引用なし
パスワード
   こちらの掲示板もエクセルの学校もマルチポストは容認されていますがこちらの掲示板の
基本方針として

>別のサイト(掲示板)にまったく同じ目的の投稿をすることを、一般に「マルチポスト」といいます。
>当質問箱では、マルチポストは原則認めています。
>つまり、ほかのサイトで質問したことをこのサイトで質問してもかまわないということです。
>しかし、もしマルチポストをするのなら、可能な限り「○○にも同じ質問を出しました」ということを宣言してください。
>そして、仮に他のサイトで解決したのなら、ここにも必ずその顛末を書いてください。
>質問しっぱなし、というのはモラルに反します。
>「解決したからいいや」というのではありません。
>また、マルチポストを明示的に禁止しているサイトとのマルチポストをしてはいけません。

とされています。
なのでどことマルチポストをしているかの宣言をお願いします。
・ツリー全体表示

【77897】SAP汎用モジュールのEXPORTパラメータ設...
質問  ゆら  - 16/1/28(木) 16:45 -

引用なし
パスワード
   VBAからSAPに接続して汎用モジュールを実行する際に、
EXPORTパラメータにテーブルデータ型のものがあり、
このパラメータの設定方法がわからず大変困っております。

TABLESパラメータであれば、
Set OPTIONS   = rfcFunc.Tables("TAB_NAME")
のように取り扱えると思うのですが、、、

もしご存知の方がいらっしゃいましたら、ぜひともお助けいただけましたら
大変助かります!!

何卒よろしくお願い申し上げます(_ _)
・ツリー全体表示

【77896】Re:代入について
お礼  はる  - 16/1/25(月) 8:53 -

引用なし
パスワード
   ▼佳 様 β様
返信たいへん遅くなり申し訳ありません。

別ブックを開いてコピーペースト を3つのブックに対して行うので
どうにか名前を指定せずに設定できればなぁ・・と思っていました。

Workbookに対して.SELECTが使えないのは完全に盲点でしたので
再度調整してみます。

またダメでしたら質問に来ます。
ありがとうございました。
・ツリー全体表示

【77895】Re:代入について
質問    - 16/1/23(土) 14:05 -

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

> 記録されたマクロを見てみると
> Workbooks("もう一方").Activateとなっている(ハズ)。

Windows("もう一方").Activate です。
「ウィンドウなんか選択したつもりはないんだが」と思いつつ
そのまま使うも良し、

せっかくなのでWorkbooks("もう一方").Activateに書き替えて動作確認
うまく動いたら使うもよしです。
・ツリー全体表示

【77894】Re:代入について
回答    - 16/1/23(土) 9:29 -

引用なし
パスワード
   こんにちは。
そういうときはマクロの記録です。

エクセルのブックを2つ開いておいて(できれば2つ同時に見える状態で)
片方のブックで記録開始。
「もう一方のブックを選択する」という操作を行って記録終了。

記録されたマクロを見てみると
Workbooks("もう一方").Activateとなっている(ハズ)。
ほぉ〜.Activateかぁ、、、ということでコード修正 v(^^


で。もし余裕があれば Activate をヘルプで引いてみる。
(これは将来ヘルプが読めるようになるための準備運動)


▼はる さん:
>vba初心者です。行き詰ってしまったので解決策をお願いします。。
>マクロを起動するブックの"マクロセット"シートの
>I4 =開くファイルのフォルダ名 L4 = ファイル名を入れています。
>ファイルを開き、マクロブックのシート(5)を開いたブックのシート(1)に貼り付けて値化したいです。
>Workbooks(WBK1).Select
>で実行時エラー'438':オブジェクトは、このプロパティまたはメソッドをサポートしていません。
>と出ます。どのように変更すれば動きますでしょうか・・・ご教授お願い致します。
>
>
>'====================================
>
>  Sheets("マクロセット").Select
>  Workbooks.Open Filename:=Range("I4").Value & Range("L4").Value
>  ThisWorkbook.Activate
>'変数定義=============================
>  Dim WBK1 As String, WBK2 As String
>  WBK1 = Range("L4").Value
>  WBK2 = ThisWorkbook.Name
>'初期化====================================
>  Workbooks(WBK1).Select
>  Worksheets(1).Cells.Clear
>  Worksheets(2).Cells.Clear
>  Worksheets(3).Cells.Clear
>'貼り付け====================================
>  Workbooks(WBK2).Worksheets(5).Range("A:S").Copy Workbooks(WBK1).Worksheets(1).Range("A1")
>  Workbooks(WBK1).Worksheets(1).Cells.Value = Workbooks(WBK1).Worksheets(1).Cells.Value
>  Workbooks(WBK2).Worksheets(6).Range("A:S").Copy Workbooks(WBK1).Worksheets(2).Range("A1")
>  Workbooks(WBK1).Worksheets(2).Cells.Value = Workbooks(WBK1).Worksheets(2).Cells.Value
>  Workbooks(WBK2).Worksheets(7).Range("A:S").Copy Workbooks(WBK1).Worksheets(3).Range("A1")
>  Workbooks(WBK1).Worksheets(3).Cells.Value = Workbooks(WBK1).Worksheets(3).Cells.Value
・ツリー全体表示

【77893】Re:代入について
発言  β  - 16/1/21(木) 14:08 -

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

コードは読んでいませんが、Workbookオブジェクトのメソッドに Select はありません。

コードペインで、

Workbooks(hoge). と、ピリオド間で入力すると、インテリセンス機能が働き
Workbookオブジェクトのプロパティやメソッドがアルファベット順に表示されます。
その中に Select はありませんね。

やるなら Activateメソッドを使いましょう。

ただ、本来は、ブック.Activate や シート.Select に頼らないコーディングが
望ましいのですが。
・ツリー全体表示

【77892】代入について
質問  はる  - 16/1/21(木) 13:47 -

引用なし
パスワード
   vba初心者です。行き詰ってしまったので解決策をお願いします。。
マクロを起動するブックの"マクロセット"シートの
I4 =開くファイルのフォルダ名 L4 = ファイル名を入れています。
ファイルを開き、マクロブックのシート(5)を開いたブックのシート(1)に貼り付けて値化したいです。
Workbooks(WBK1).Select
で実行時エラー'438':オブジェクトは、このプロパティまたはメソッドをサポートしていません。
と出ます。どのように変更すれば動きますでしょうか・・・ご教授お願い致します。


'====================================

  Sheets("マクロセット").Select
  Workbooks.Open Filename:=Range("I4").Value & Range("L4").Value
  ThisWorkbook.Activate
'変数定義=============================
  Dim WBK1 As String, WBK2 As String
  WBK1 = Range("L4").Value
  WBK2 = ThisWorkbook.Name
'初期化====================================
  Workbooks(WBK1).Select
  Worksheets(1).Cells.Clear
  Worksheets(2).Cells.Clear
  Worksheets(3).Cells.Clear
'貼り付け====================================
  Workbooks(WBK2).Worksheets(5).Range("A:S").Copy Workbooks(WBK1).Worksheets(1).Range("A1")
  Workbooks(WBK1).Worksheets(1).Cells.Value = Workbooks(WBK1).Worksheets(1).Cells.Value
  Workbooks(WBK2).Worksheets(6).Range("A:S").Copy Workbooks(WBK1).Worksheets(2).Range("A1")
  Workbooks(WBK1).Worksheets(2).Cells.Value = Workbooks(WBK1).Worksheets(2).Cells.Value
  Workbooks(WBK2).Worksheets(7).Range("A:S").Copy Workbooks(WBK1).Worksheets(3).Range("A1")
  Workbooks(WBK1).Worksheets(3).Cells.Value = Workbooks(WBK1).Worksheets(3).Cells.Value
・ツリー全体表示

【77891】Re:至急お願い致します。
発言  γ  - 16/1/19(火) 0:17 -

引用なし
パスワード
   ▼とおりすがり さん:
>適当なセルに10と入れ、コピー。
>目的のセルを選択し、形式を選択してコピーで、加算。
>10を入れたセルを削除。
>
>以上をマクロの記録する。

それだと百の位が繰り上がってしまうのでは?

至急と言う言葉の意味をきちんと理解して欲しいね、
質問者さんには。
まあ、至急などと言い出す人にはトンデモな方が多いのは経験則だが。
・ツリー全体表示

【77890】Re:至急お願い致します。
回答  とおりすがり  - 16/1/18(月) 23:07 -

引用なし
パスワード
   適当なセルに10と入れ、コピー。
目的のセルを選択し、形式を選択してコピーで、加算。
10を入れたセルを削除。

以上をマクロの記録する。
・ツリー全体表示

【77889】Re:ソートとフィルタの繰り返し処理
発言  γ  - 16/1/18(月) 20:44 -

引用なし
パスワード
   ▼みか さん:
>処理のほうも、いただいたもので無事にできました。
それはそれで結構なんですが、
なぜβさんが確認のコメントを下さっているのに反応がないのですか?
コードさえ貰えば、あとは野となれ山となれですか?
マナーを守って下さいな。
・ツリー全体表示

【77888】Re:ソートとフィルタの繰り返し処理
お礼  みか  - 16/1/18(月) 8:35 -

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

返信が遅くなり大変申し訳ありません。
サンプルコードの件も、記載せず大変失礼いたしました。
以後気を付けます。

処理のほうも、いただいたもので無事にできました。
本当にありがとうございました。
取り急ぎお礼まで。
・ツリー全体表示

【77887】Re:ソートとフィルタの繰り返し処理
発言  γ  - 16/1/17(日) 20:39 -

引用なし
パスワード
   ちなみにテストデータと結果は以下のとおり。

テストデータ(Sheet1)
日付    クラス    名前    性別    得点    順位        日付    クラス    名前    性別    得点    順位
1月5日    A    c    女    95    1        1月5日    A    c    女    950    1
1月5日    A    b    男    80    2        1月5日    A    b    男    800    2
1月5日    B    d    男    60    3        1月5日    B    d    男    600    3
1月5日    A    a    女    57    4        1月5日    A    a    女    570    4
1月5日    C    e    女    57    4        1月5日    C    e    女    570    4
1月9日    A    b    男    100    1        1月9日    A    b    男    1000    1
1月9日    A    c    女    95    2        1月9日    A    c    女    950    2
1月9日    B    d    男    90    3        1月9日    A    a    女    950    2
1月9日    A    a    女    90    3        1月9日    B    d    男    900    4
1月9日    C    e    女    70    5        1月9日    A    a    女    900    4
                            1月9日    C    e    女    700    6

結果(Sheet2)============================
                    
                    
日付    クラス    名前    性別    得点    順位
1月5日    A    c    女    95    1
1月5日    A    b    男    80    2
1月5日    B    d    男    60    3
1月9日    A    b    男    100    1
1月9日    A    c    女    95    2
1月9日    B    d    男    90    3
1月9日    A    a    女    90    3
                    
日付    クラス    名前    性別    得点    順位
1月5日    A    c    女    950    1
1月5日    A    b    男    800    2
1月5日    B    d    男    600    3
1月9日    A    b    男    1000    1
1月9日    A    c    女    950    2
1月9日    A    a    女    950    2
  
・ツリー全体表示

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