Excel VBA質問箱 IV

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

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


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

【80168】Re:ソルバーにてエラー”1004”が出て困...
発言  初心者  - 18/10/4(木) 8:23 -

引用なし
パスワード
   ▼γ さん:
すみません、説明不足でした。
画像変換ソフトを用いて、エクセルにデータ化したのをエクセルにてセル数:20×100以上の画像処理を行う過程でそれぞれの平均と偏差を求め、そこからそれぞれの平均と偏差の平均を求めます。
次に2つの画像が同じ対象物を写しているのですが異なる画像の為、それぞれ赤色抽出のデータ値が違います。
そこで、求めた2つの画像の平均と偏差の平均をそれぞれ指定値にして2つの画像データの最適値を出し2つの画像の濃度を均一にするためにソルバーを用います。(目的セルは求めた1ブロックの平均or偏差のセル、変更セルはそれぞれの画像の1ブロックごとにしています。)
尚、1つの画像データが20×100以上で大きくソルバーが使えないため、平均と偏差を求めるところから10×20(データ数200)の1ブロックずつに分けて求めています。
また、制約条件は設定しておりません。

プログラム内のセルや指定値を変えたり、プログラムを増減したりすれば他のデータでも使えるようになっているつもりです。

>  SolverOk SetCell:="$A$102", MaxMinVal:=3, ValueOf:=93.6925, ByChange:= _
>    "$A$1:$T$10", Engine:=1, EngineDesc:="GRG Nonlinear"
>  SolverOk SetCell:="$B$102", MaxMinVal:=3, ValueOf:=93.6925, ByChange:= _
>    "$A$51:$T$60", Engine:=1, EngineDesc:="GRG Nonlinear"
>  SolverSolve
・ツリー全体表示

【80167】Re:ソルバーにてエラー”1004”が出て困...
発言  γ  - 18/10/3(水) 21:04 -

引用なし
パスワード
   最初の3行に限定してで結構なので、ソルバーの内容を説明してください。
制約条件とか、何を求めようとしているのか、ということです。
そうした説明がまずもって必要ではないですか?

  SolverOk SetCell:="$A$102", MaxMinVal:=3, ValueOf:=93.6925, ByChange:= _
    "$A$1:$T$10", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverOk SetCell:="$B$102", MaxMinVal:=3, ValueOf:=93.6925, ByChange:= _
    "$A$51:$T$60", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverSolve
・ツリー全体表示

【80166】Re:SAP汎用モジュールのEXPORTパラメータ...
回答  吉田  - 18/10/3(水) 16:40 -

引用なし
パスワード
   Rows.Add
行番号を指定して、値を入れる


Set oFunction = oRFC.Add("BAPI_USER_ACTGROUPS_ASSIGN")


' Functionにパラメータを渡す
' -- パラメータ名
oFunction.exports("USERNAME") = Cells(11 , user_column)

 ' パラメータの代入
  oFunction.tables("ACTIVITYGROUPS").Rows.Add
  oFunction.tables("ACTIVITYGROUPS").Value(1, "AGR_NAME") = Cells(11 , role_01_column)

 If IsEmpty(Cells(11 , role_02_column)) = False Then
  ' パラメータの代入
  oFunction.tables("ACTIVITYGROUPS").Rows.Add
  oFunction.tables("ACTIVITYGROUPS").Value(2, "AGR_NAME") = Cells(11 , role_02_column)
 End If


oFunction.Call
・ツリー全体表示

【80165】ソルバーにてエラー”1004”が出て困って...
質問  初心者  - 18/10/3(水) 15:42 -

引用なし
パスワード
   初めての投稿です。

マクロの記録にてソルバーを記録させ、他のデータに使えるように以下のように編集したところエラーコード"1004"が出てきてしまいソルバーを実行することができません。

尚、デバッグを押したところSolverSolveが黄色くマーキングされ、そこを削除しても次のSolverSolveがマーキングされる現状です。

ネットで対処法を検索し、マクロのツールから参照設定内のSolverにチェックを入れても“1004”が出てきてしまって、実行できません。

無知の初心者なもので解決策が見出せません。
申し訳ございませんが、皆さんご教授お願いします。

------以下、プログラムです。-------
Sub ソルバー2()
'
' ソルバー2 Macro

 
'1-1
'

  SolverOk SetCell:="$A$102", MaxMinVal:=3, ValueOf:=93.6925, ByChange:= _
    "$A$1:$T$10", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverOk SetCell:="$B$102", MaxMinVal:=3, ValueOf:=93.6925, ByChange:= _
    "$A$51:$T$60", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverSolve
  SolverOk SetCell:="$A$103", MaxMinVal:=3, ValueOf:=24.61834, ByChange:= _
    "$A$1:$T$10", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverOk SetCell:="$B$103", MaxMinVal:=3, ValueOf:=24.6834, ByChange:= _
    "$A$51:$T$60", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverSolve
'1-2

  SolverOk SetCell:="$A$105", MaxMinVal:=3, ValueOf:=101.8, ByChange:= _
    "$A$11:$T$20", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverOk SetCell:="$B$105", MaxMinVal:=3, ValueOf:=101.8, ByChange:= _
    "$A$61:$T$70", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverSolve
  SolverOk SetCell:="$A$106", MaxMinVal:=3, ValueOf:=26.23977, ByChange:= _
    "$A$11:$T$20", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverOk SetCell:="$B$106", MaxMinVal:=3, ValueOf:=26.23977, ByChange:= _
    "$A$61:$T$70", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverSolve
         
        ・
        ・
        中略
        ・
        ・

'4-3

  SolverOk SetCell:="$BI$108", MaxMinVal:=3, ValueOf:=119.4167, ByChange:= _
    "$BI$21:$CB$30", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverOk SetCell:="$BJ$108", MaxMinVal:=3, ValueOf:=119.4167, ByChange:= _
    "$BI$71:$CB$80", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverSolve
  SolverOk SetCell:="$BI$109", MaxMinVal:=3, ValueOf:=3.021422, ByChange:= _
    "$BI$21:$CB$30", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverOk SetCell:="$BJ$109", MaxMinVal:=3, ValueOf:=3.021422, ByChange:= _
    "$BI$71:$CB$80", Engine:=1, EngineDesc:="GRG Nonlinear"
  SolverSolve


End Sub
・ツリー全体表示

【80164】Re:VBA Do Loop Untilでエラー
発言  γ  - 18/10/2(火) 20:55 -

引用なし
パスワード
   再現するワンセットのコードを提示してはどうですか?
なにかしらエラーが関係しているのに、
具体性が無いと解決は難しいですよ。
・ツリー全体表示

【80163】VBA Do Loop Untilでエラー
質問  まよい人  - 18/10/2(火) 15:16 -

引用なし
パスワード
   Do
Loop Until 判定式
とすると
Loop Until 判定式 で、On Error GoToに飛びます。

一方、Until 判定式 を
Do Until 判定式
Loop
とDoの後に移動すると問題なく実行できます。

Loop Until 判定式 のところでブレークをかけ、
ウォッチ式で判定式の値を確認してみると(意図したとおりの)falseです。

なぜ、Doの後ではOKでLoopの後だとエラーになるのでしょうか?

尚、SubからFunctionをCallしており、Do LoopはFunctionに
On Error GoToはSubにあります。
・ツリー全体表示

【80162】Re:指定のフォルダからテキストの中身を...
回答    - 18/9/20(木) 22:01 -

引用なし
パスワード
   ▼γ さん:
>実行の仕方に何か誤解があるのでしょう。
>断らない限り、私は、正常に動作することを確認してから
>投稿しています。
>ステップ実行して動作を確認してみては?

承知しました。
もう一度確認してみます。
・ツリー全体表示

【80161】Re:指定のフォルダからテキストの中身を...
発言  γ  - 18/9/20(木) 12:25 -

引用なし
パスワード
   実行の仕方に何か誤解があるのでしょう。
断らない限り、私は、正常に動作することを確認してから
投稿しています。
ステップ実行して動作を確認してみては?
・ツリー全体表示

【80160】ディスプレイ設定のスケールサイズ変更方...
質問  ゼンゼン  - 18/9/20(木) 9:32 -

引用なし
パスワード
   ゼンゼンと申します。

VBAから ディスプレイ設定で調整することができる、スケールサイズの変更を行いたいのですが、可能でしょうか?

APIを使えばできそうな気もするのですが、調べたところ、あまり具体的な方法を見つけだせない状況です。
よろしくお願いいたします。
・ツリー全体表示

【80159】Re:指定のフォルダからテキストの中身を...
発言    - 18/9/19(水) 20:20 -

引用なし
パスワード
   ▼猿 さん:
>▼γ さん:
>>Sub test()
>>  Dim FSO As Object
>>  Dim TextFile As Object
>>  Dim buf As String
>>  Dim f As Object
>>  Dim r As Long
>>
>>  Set FSO = CreateObject("Scripting.FileSystemObject")
>>
>>  r = 4  '最初の書込先の行番号
>>
>>  'フォルダの中のファイルをシートのB列に読み込む
>>  For Each f In FSO.GetFolder("C:\Work").Files
>>    Set TextFile = FSO.OpenTextFile(f.Path)
>>    buf = TextFile.ReadAll
>>    Cells(r, 2).Value = Application.Clean(buf)
>>    r = r + 1
>>  Next
>>  Set FSO = Nothing
>>End Sub
>>
>>私も素人です。
>>追加依頼は受けかねます。
>>
>># ご本人に本当に益するのか、丸投げに回答するにも逡巡がありました。
>># 少しでもトライの跡を見せていただいたほうが回答はし易いですね。
>># 全く習い始めたということなら教科書を学習したほうがよいと思う。
>
>
>γ さま
>
> ご回答ありがとうございました。感謝いたします。
>これから勉強してみます。
γさま

ちなみにですが、教えて頂いたコードでは、だめでした。
テキストの書き込みすらできませんでした。
・ツリー全体表示

【80158】Re:指定のフォルダからテキストの中身を...
回答    - 18/9/19(水) 20:17 -

引用なし
パスワード
   ▼マナ さん:
>▼猿 さん:
>
>他にも参考になるものがないか
>きっと探せば見つかると思います
>
>ht tp://excelmemo.com/vba_7/7_14/
>ht tps://www.239-programing.com/excel-vba/fso/fso028.html
>ht tps://excelwork.info/excel/fsoopenastextstream/
マナさま

ありがとうございます。
見させていただきましたが、要望とおりのコード
は得られませんでした。
できれば、コードを直接教えてもらえないでしょうか。
・ツリー全体表示

【80157】Re:指定のフォルダからテキストの中身を...
お礼    - 18/9/17(月) 9:54 -

引用なし
パスワード
   ▼γ さん:
>Sub test()
>  Dim FSO As Object
>  Dim TextFile As Object
>  Dim buf As String
>  Dim f As Object
>  Dim r As Long
>
>  Set FSO = CreateObject("Scripting.FileSystemObject")
>
>  r = 4  '最初の書込先の行番号
>
>  'フォルダの中のファイルをシートのB列に読み込む
>  For Each f In FSO.GetFolder("C:\Work").Files
>    Set TextFile = FSO.OpenTextFile(f.Path)
>    buf = TextFile.ReadAll
>    Cells(r, 2).Value = Application.Clean(buf)
>    r = r + 1
>  Next
>  Set FSO = Nothing
>End Sub
>
>私も素人です。
>追加依頼は受けかねます。
>
># ご本人に本当に益するのか、丸投げに回答するにも逡巡がありました。
># 少しでもトライの跡を見せていただいたほうが回答はし易いですね。
># 全く習い始めたということなら教科書を学習したほうがよいと思う。


γ さま

 ご回答ありがとうございました。感謝いたします。
これから勉強してみます。
・ツリー全体表示

【80156】Re:指定のフォルダからテキストの中身を...
発言  γ  - 18/9/17(月) 9:04 -

引用なし
パスワード
   Sub test()
  Dim FSO As Object
  Dim TextFile As Object
  Dim buf As String
  Dim f As Object
  Dim r As Long

  Set FSO = CreateObject("Scripting.FileSystemObject")

  r = 4  '最初の書込先の行番号

  'フォルダの中のファイルをシートのB列に読み込む
  For Each f In FSO.GetFolder("C:\Work").Files
    Set TextFile = FSO.OpenTextFile(f.Path)
    buf = TextFile.ReadAll
    Cells(r, 2).Value = Application.Clean(buf)
    r = r + 1
  Next
  Set FSO = Nothing
End Sub

私も素人です。
追加依頼は受けかねます。

# ご本人に本当に益するのか、丸投げに回答するにも逡巡がありました。
# 少しでもトライの跡を見せていただいたほうが回答はし易いですね。
# 全く習い始めたということなら教科書を学習したほうがよいと思う。
・ツリー全体表示

【80155】Re:指定のフォルダからテキストの中身を...
回答    - 18/9/16(日) 21:08 -

引用なし
パスワード
   ▼γ さん:
>確認です。
>1.ファイルには1行だけ入っているんですか?
>2.書き込み先のB列には空欄がランダムにあるんですか?
>それとも上から順次書き込んでいけばいいんですか?
>3.詰まっているのはどこですか?
>  読み込みはできているんですか?
>  いったん読み込んでから、適切な位置に
>  コピーしても良いし、
>  テキストファイルの読み込みメニューを使えば
>  指定した位置に読むことができます。

γ さま
 お返事、ご質問ありがとうございます。ご回答いたします。
>1.ファイルには1行だけ入っているんですか?
 →はい、1行です。ただし、かなり長い(100文字以上はあります)です。

>2.書き込み先のB列には空欄がランダムにあるんですか?
>それとも上から順次書き込んでいけばいいんですか?

 →上から順次書き込んでい行く感じです。
  歯抜け的な空欄はありません。

>3.詰まっているのはどこですか?
>  読み込みはできているんですか?
>  いったん読み込んでから、適切な位置に
>  コピーしても良いし、
>  テキストファイルの読み込みメニューを使えば
>  指定した位置に読むことができます。
 →お恥ずかしい話、当方素人でありまして、まったくマクロのコードが書
  けません。できれば、VBAのコードをご教授いただければ幸いです。
・ツリー全体表示

【80154】Re:指定のフォルダからテキストの中身を...
発言  γ  - 18/9/16(日) 18:14 -

引用なし
パスワード
   確認です。
1.ファイルには1行だけ入っているんですか?
2.書き込み先のB列には空欄がランダムにあるんですか?
それとも上から順次書き込んでいけばいいんですか?
3.詰まっているのはどこですか?
  読み込みはできているんですか?
  いったん読み込んでから、適切な位置に
  コピーしても良いし、
  テキストファイルの読み込みメニューを使えば
  指定した位置に読むことができます。
・ツリー全体表示

【80153】Re:指定のフォルダからテキストの中身を...
発言  マナ  - 18/9/14(金) 21:20 -

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

他にも参考になるものがないか
きっと探せば見つかると思います

ht tp://excelmemo.com/vba_7/7_14/
ht tps://www.239-programing.com/excel-vba/fso/fso028.html
ht tps://excelwork.info/excel/fsoopenastextstream/
・ツリー全体表示

【80152】Re:指定のフォルダからテキストの中身を...
お礼    - 18/9/14(金) 20:56 -

引用なし
パスワード
   ▼マナ さん:
>▼猿 さん:
>
>
>例えば FileSystemObject が使えるかもしれません。
>使用例はネットで検索してみてください。
>
>ht tp://officetanaka.net/excel/vba/filesystemobject/index.

マナさま

ありがとうございます。見てみたのですが、さっぱりわかりませんでした。
・ツリー全体表示

【80151】Re:指定のフォルダからテキストの中身を...
発言  マナ  - 18/9/13(木) 21:45 -

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


例えば FileSystemObject が使えるかもしれません。
使用例はネットで検索してみてください。

ht tp://officetanaka.net/excel/vba/filesystemobject/index.htm
・ツリー全体表示

【80150】指定のフォルダからテキストの中身を取込...
質問    - 18/9/12(水) 20:59 -

引用なし
パスワード
   いつもお世話になっております。

エクセルVBAについて,助けていただきたくご質問します。

【やりたいこと】
 指定のフォルダ(D:\text)にある複数のテキストファイル
の中身を,セルB2からB列の最後の行において空欄セルを見
つけた場合に,順次読み込んでいく。


【例】

D:\text・・・・001.text(ABCD)
        002.text(EFGH)
        003.text(IJKL)
※()はテキストファイルの中に入力されているデータ


マクロ実行!
<エクセル結果>
  B列
2 zzzz
3 zzzz
4 ABCD
5 EFGH
6 IJKL

のような感じです。是非ともよろしくお願いいたします。
・ツリー全体表示

【80149】Re:別のシートから別のシートへ
お礼  まくろ  - 18/9/12(水) 11:26 -

引用なし
パスワード
   ▼γ さん:
>ステップ実行して確認することをお勧めする。
>わたしも実行してみたが問題なかった。
>データの関係かと思います。
>自分で確認するより他に道はないです。

ステップ実行して解決致しました!
ありがとうございました
・ツリー全体表示

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