探検
Excel VBA 質問スレ Part65
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 3bda-drwQ)
2020/03/17(火) 16:27:20.88ID:hh8LiIgR0ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part64
https://mevius.5ch.net/test/read.cgi/tech/1575297834/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
315デフォルトの名無しさん (ワッチョイ e2b5-G6fV)
2020/04/14(火) 23:44:19.27ID:Ua5gdcz00 Sub データ数の確認()
Dim FoPath As String
Dim Fname As String
Dim Fnum As Long
Dim SetPath As String FoPath = "C:\Users\user\Desktop\測定機"
'フォルダのパスを指定する
Fname = "*.txt" 'ファイル名と拡張子指定 Fnum = 0
'ファイル数を一度0にする
'指定したフォルダパスとファイル名をセット
SetPath = Dir(FoPath & "\" & Fname)
Do While SetPath <> ""
'ファイル名が取得出来なくなるまでループ Fnum = Fnum + 1
SetPath = Dir()
Loop
MsgBox Fnum & "つデータが入っています。"
End Sub
見様見真似というかネットからパクってユーザーフォームのボタンに追加できました。
このスレの人たち凄いです
Dim FoPath As String
Dim Fname As String
Dim Fnum As Long
Dim SetPath As String FoPath = "C:\Users\user\Desktop\測定機"
'フォルダのパスを指定する
Fname = "*.txt" 'ファイル名と拡張子指定 Fnum = 0
'ファイル数を一度0にする
'指定したフォルダパスとファイル名をセット
SetPath = Dir(FoPath & "\" & Fname)
Do While SetPath <> ""
'ファイル名が取得出来なくなるまでループ Fnum = Fnum + 1
SetPath = Dir()
Loop
MsgBox Fnum & "つデータが入っています。"
End Sub
見様見真似というかネットからパクってユーザーフォームのボタンに追加できました。
このスレの人たち凄いです
316デフォルトの名無しさん (ワッチョイ 068e-f9/D)
2020/04/14(火) 23:55:34.54ID:ps8T64zC0 いい加減に馬鹿は消えろ
317デフォルトの名無しさん (ラクッペペ MM8f-AKYr)
2020/04/15(水) 00:06:27.34ID:IBkk3oxvM318デフォルトの名無しさん (ワッチョイ ffda-Ho7r)
2020/04/15(水) 01:14:25.80ID:vPyadW120 ナウい変数名を考えようと思って色々試したら、結構いけるじゃん。
Dim ヽ, 卍, ¶, , f, , , ≒, ♪
♪ = 1
Debug.Print ♪
Dim ヽ, 卍, ¶, , f, , , ≒, ♪
♪ = 1
Debug.Print ♪
319デフォルトの名無しさん (ワッチョイ ffda-Ho7r)
2020/04/15(水) 01:17:01.85ID:vPyadW120 あ、普通にこれでいいか。
Dim 骸骨剣士, 死霊の騎士, 幽霊, 死神
Dim 骸骨剣士, 死霊の騎士, 幽霊, 死神
320デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/15(水) 01:24:08.40ID:Ikiffowr0 For 愛 = 1 To 10
321デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/15(水) 01:34:17.76ID:Ikiffowr0322デフォルトの名無しさん (ワッチョイ 57ad-LzhE)
2020/04/15(水) 02:43:11.14ID:zLal5e060 >>311
初心者なら具体的な処理を抽象化していく
ボトムアップのやり方が分かりやすいと思う
たとえばかけ算の九九を求める関数に
引数でXを渡してXxX(12×12など)を
求める関数に抽象化すると使い道が広がる
あるいは5行6列目のセルを処理する関数を
X行Y列目を処理するように拡張するだとか
関数の引数は数学の変数のように考える
そして関数(やクラス)を自作する時のポイントは
なるべく関数を小分けにして組み合わせて使うこと
関数が大きくなると理解するのも難しくなるから
印刷やシートのコピーとか別の処理を
ひとつの関数で全部やろうとしないで
別々の関数に書いておく
それで呼び出し元の関数から
実行する関数をIF文で切り替えたりする
Excel VBAに限らずプログラミングの定石
初心者なら具体的な処理を抽象化していく
ボトムアップのやり方が分かりやすいと思う
たとえばかけ算の九九を求める関数に
引数でXを渡してXxX(12×12など)を
求める関数に抽象化すると使い道が広がる
あるいは5行6列目のセルを処理する関数を
X行Y列目を処理するように拡張するだとか
関数の引数は数学の変数のように考える
そして関数(やクラス)を自作する時のポイントは
なるべく関数を小分けにして組み合わせて使うこと
関数が大きくなると理解するのも難しくなるから
印刷やシートのコピーとか別の処理を
ひとつの関数で全部やろうとしないで
別々の関数に書いておく
それで呼び出し元の関数から
実行する関数をIF文で切り替えたりする
Excel VBAに限らずプログラミングの定石
323デフォルトの名無しさん (ワッチョイ ffcc-Ho7r)
2020/04/15(水) 08:51:03.63ID:7yJWhPoQ0 個人的な意見だけど
変数を日本語にする事の欠点は、目立ちすぎて、他が見にくくなる事だと思う
ループカウンタの様な頻出する変数には、制御構造が見にくくなるので避けるべき
ルーチンの目的的なものとか、あまり使わないような変数については、場合によっては推奨
変数を日本語にする事の欠点は、目立ちすぎて、他が見にくくなる事だと思う
ループカウンタの様な頻出する変数には、制御構造が見にくくなるので避けるべき
ルーチンの目的的なものとか、あまり使わないような変数については、場合によっては推奨
324デフォルトの名無しさん (ワッチョイ d7ac-DNPS)
2020/04/15(水) 10:07:54.93ID:fYr2Vm730 いいたいことはわかる
なでしこみたいに構造もそうなってれば、比較して自然に見えるしね
まあでも英語で慣れちゃってると、気になっちゃうから可読性低いと評価してしまうわ
なでしこみたいに構造もそうなってれば、比較して自然に見えるしね
まあでも英語で慣れちゃってると、気になっちゃうから可読性低いと評価してしまうわ
325デフォルトの名無しさん (ワッチョイ 1791-N0vN)
2020/04/15(水) 11:57:43.10ID:qO0uVKDC0 >>303
絶対に止めた方が良い。
今、他人のそういうコードで四苦八苦してる。
しかもプロシージャも日本語だから
If 測定結果 Then
などとあって、"測定結果"が変数なのかBooleanを返すプロシージャなのかすら直ぐには分からない。
絶対に止めた方が良い。
今、他人のそういうコードで四苦八苦してる。
しかもプロシージャも日本語だから
If 測定結果 Then
などとあって、"測定結果"が変数なのかBooleanを返すプロシージャなのかすら直ぐには分からない。
326デフォルトの名無しさん (ラクッペペ MM8f-AKYr)
2020/04/15(水) 12:04:59.54ID:tJWgJTOGM それはエーゴでもかわらなくなくね?
327デフォルトの名無しさん (オッペケ Sr8b-HcDg)
2020/04/15(水) 12:43:22.36ID:9r3ObWq4r >>32
「定義」ですぐわかる
「定義」ですぐわかる
328デフォルトの名無しさん (オッペケ Sr8b-HcDg)
2020/04/15(水) 12:47:51.20ID:9r3ObWq4r 325の間違い
329デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/15(水) 13:14:16.12ID:Ikiffowr0 がっつり英語だと、こんどは辞書を引く作業が待ってることもある
発音がわからないと会話で困るし
発音がわからないと会話で困るし
330デフォルトの名無しさん (ワッチョイ 778f-Eg7/)
2020/04/15(水) 13:39:00.87ID:zDLD/Qb60 特定のURLのソースに任意の文字列が記載されているかどうかを判断したい。
https://auctions.yahoo.co.jp/seller/abcdfgh
https://auctions.yahoo.co.jp/seller/zakattas
https://auctions.yahoo.co.jp/seller/zafect789
というページのリストがあったとして、ソースに"停止中"もしくは"無効"の文字列が
あるURLにはB列に"NG"と吐き出す、ということをやりたいです。
https://okwave.jp/qa/q6120067.html
が近いんですが「2)一般的な文字列の場合」はエラーが出て動きませんでした。
VBAに詳しい人、よろしくお願いします。
https://auctions.yahoo.co.jp/seller/abcdfgh
https://auctions.yahoo.co.jp/seller/zakattas
https://auctions.yahoo.co.jp/seller/zafect789
というページのリストがあったとして、ソースに"停止中"もしくは"無効"の文字列が
あるURLにはB列に"NG"と吐き出す、ということをやりたいです。
https://okwave.jp/qa/q6120067.html
が近いんですが「2)一般的な文字列の場合」はエラーが出て動きませんでした。
VBAに詳しい人、よろしくお願いします。
331デフォルトの名無しさん (アウアウエー Sadf-Ho7r)
2020/04/15(水) 13:51:28.81ID:5mkkxmmPa grep なら一行でできるのに VBA でやらないといけないのか
332デフォルトの名無しさん (ワッチョイ bff7-pwY/)
2020/04/15(水) 13:53:51.50ID:VtNtlccy0 人に送ったら日本語フォントない海外PCで全く動かなくなったりしたな
333デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/15(水) 14:13:32.74ID:Ikiffowr0 >>330
参考リンク先のどのプログラムを試して、どの行でどんなエラーが出たか書いて
エラーが出たままでCtrl+Cを押せば、エラーメッセージがクリップボードに入るから、それをコピペして
あと、目的のWEBサイトの文字コードはちゃんと確認した?
参考リンク先のどのプログラムを試して、どの行でどんなエラーが出たか書いて
エラーが出たままでCtrl+Cを押せば、エラーメッセージがクリップボードに入るから、それをコピペして
あと、目的のWEBサイトの文字コードはちゃんと確認した?
334デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/15(水) 14:16:13.29ID:Ikiffowr0 >>331
まあ wget | nkf | grep のが簡単かもね
まあ wget | nkf | grep のが簡単かもね
335330 (ワッチョイ 778f-o1R8)
2020/04/15(水) 14:42:43.03ID:zDLD/Qb60 >>333
すいません。
コピペ繰り返してたらなんとか行けました。
Sub YouTube_Search()
Dim objIE As Object
Dim i As Long
Dim j As Long
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
For i = 1 To Range("A1").End(xlDown).Row
.navigate Cells(i, 1).Value
While .Busy Or .ReadyState <> 4: DoEvents: Wend
For j = 1 To .document.all.Length
If InStr(.document.all(j - 1).outerText, "Yahoo! JAPAN IDが無効です") > 0 Then
Cells(i, 2).Value = "*"
Exit For
End If
Next
Next
End With
objIE.Quit
Set objIE = Nothing
End Sub
すいません。
コピペ繰り返してたらなんとか行けました。
Sub YouTube_Search()
Dim objIE As Object
Dim i As Long
Dim j As Long
Set objIE = CreateObject("InternetExplorer.Application")
With objIE
For i = 1 To Range("A1").End(xlDown).Row
.navigate Cells(i, 1).Value
While .Busy Or .ReadyState <> 4: DoEvents: Wend
For j = 1 To .document.all.Length
If InStr(.document.all(j - 1).outerText, "Yahoo! JAPAN IDが無効です") > 0 Then
Cells(i, 2).Value = "*"
Exit For
End If
Next
Next
End With
objIE.Quit
Set objIE = Nothing
End Sub
336デフォルトの名無しさん (スップ Sdbf-N0vN)
2020/04/15(水) 14:43:10.74ID:dyZQaRRHd337デフォルトの名無しさん (アウアウウー Sa1b-4fgg)
2020/04/15(水) 15:14:20.64ID:4idtb0t/a かわらなくね?かわらなくなくね?
338デフォルトの名無しさん (ドコグロ MMbf-A2g6)
2020/04/15(水) 19:27:28.55ID:DRi90/CyM339デフォルトの名無しさん (ワッチョイ 9f42-thIy)
2020/04/15(水) 21:47:05.33ID:vXo73Hp80 辞書で調べても馴染みのない単語でかえってわかりにくくて結局日本語にしてみたりね
340デフォルトの名無しさん (ワッチョイ 5709-xa8R)
2020/04/15(水) 22:13:27.05ID:qXjFLib20 311です。
>>314,317,322
私がやろうとしていたことが、まず効率の悪いことだったんですね・・・
細かく分けて関数作って、それを組み合わせて作る方法を取りたいと思います。
(ただ、どこまで細かく分ければいいのか、まだ要領を掴んでおりませんが)
ありがとうございました。
>>314,317,322
私がやろうとしていたことが、まず効率の悪いことだったんですね・・・
細かく分けて関数作って、それを組み合わせて作る方法を取りたいと思います。
(ただ、どこまで細かく分ければいいのか、まだ要領を掴んでおりませんが)
ありがとうございました。
341デフォルトの名無しさん (ブーイモ MMcf-IW4T)
2020/04/15(水) 22:29:20.66ID:bRq9+Y6qM 初心者ですがご教授下さい
サンプルの工程能力で1個につき6項目の測定値をソフトがエクセルにデータ出力してくれるけど、日によっては23個だったり25個だったりしか測定できず
残りの記入方法は人によって様々で
ある人は測定値のバラつきに近い値をテンキーで手打ち
ある人はエクセルのrandbetween関数で
各項目の測定値のMAXとMINで乱数だしてそれをコピぺ
サンプル1 サンプル2 〜サンプル30
項目1
項目2
項目3
項目4
項目5
項目6
こんな並びで全項目測定後に出力されるから項目の途中で止まることはないです
「サンプル1〜30の間の項目1の行に空白があった場合、それより前(左)にある全ての測定値を参考に乱数でサンプル30の項目6まで埋める」
これは難易度かなり高いですか?
サンプルの工程能力で1個につき6項目の測定値をソフトがエクセルにデータ出力してくれるけど、日によっては23個だったり25個だったりしか測定できず
残りの記入方法は人によって様々で
ある人は測定値のバラつきに近い値をテンキーで手打ち
ある人はエクセルのrandbetween関数で
各項目の測定値のMAXとMINで乱数だしてそれをコピぺ
サンプル1 サンプル2 〜サンプル30
項目1
項目2
項目3
項目4
項目5
項目6
こんな並びで全項目測定後に出力されるから項目の途中で止まることはないです
「サンプル1〜30の間の項目1の行に空白があった場合、それより前(左)にある全ての測定値を参考に乱数でサンプル30の項目6まで埋める」
これは難易度かなり高いですか?
342デフォルトの名無しさん (ブーイモ MMcf-IW4T)
2020/04/15(水) 22:33:03.58ID:bRq9+Y6qM 誤記というか間違えました
「サンプル1〜30の間の項目1の列、又はセルに空白があった場合、それより前(左)にある全ての測定値を参考に乱数でサンプル30の項目6まで埋める」
です
すみませんがどういったアプローチがあるのか
そもそもできるのかご教授下さい
「サンプル1〜30の間の項目1の列、又はセルに空白があった場合、それより前(左)にある全ての測定値を参考に乱数でサンプル30の項目6まで埋める」
です
すみませんがどういったアプローチがあるのか
そもそもできるのかご教授下さい
343デフォルトの名無しさん (アウアウエー Sadf-fVbL)
2020/04/15(水) 22:49:03.78ID:xz8oNroja344322 (ワッチョイ 57ad-LzhE)
2020/04/15(水) 23:00:46.12ID:zLal5e060 >>340
>どこまで細かく分ければいいのか
基本的に処理は関数名に沿って分ける
関数名から逸脱した処理があれば
別の関数に分けて整理していく
だから関数や変数の
適切な命名が重要になってくる
面倒でも名前と処理を対応させた方が
後でメンテナンスしやすくなる
>どこまで細かく分ければいいのか
基本的に処理は関数名に沿って分ける
関数名から逸脱した処理があれば
別の関数に分けて整理していく
だから関数や変数の
適切な命名が重要になってくる
面倒でも名前と処理を対応させた方が
後でメンテナンスしやすくなる
345デフォルトの名無しさん (ブーイモ MMcf-IW4T)
2020/04/15(水) 23:19:56.30ID:bRq9+Y6qM >>343
いや、俺の説明力がなくて、、
というか行列が逆でした
再度説明させてください
https://i.imgur.com/D4MOqky.jpg
こんな感じで機械がエクセルに出力してくれるけど
残りのサンプルの数字は上の測定値を見てみんなそれぞれランダムにテンキーで入力したりと、いわゆる数値を適当にバラして打ち込んでます。(偽装というほど重要ではないので)
日によって測定できるサンプルが数が違います。
参考になるか程度のスクショになりますが
「サンプル1から30までで空白の行列があったらそれまで測った上のサンプルの測定値を元に乱数でサンプル30の項目6までVBAが全て記入してくれないかなと、
こんな感じです
いや、俺の説明力がなくて、、
というか行列が逆でした
再度説明させてください
https://i.imgur.com/D4MOqky.jpg
こんな感じで機械がエクセルに出力してくれるけど
残りのサンプルの数字は上の測定値を見てみんなそれぞれランダムにテンキーで入力したりと、いわゆる数値を適当にバラして打ち込んでます。(偽装というほど重要ではないので)
日によって測定できるサンプルが数が違います。
参考になるか程度のスクショになりますが
「サンプル1から30までで空白の行列があったらそれまで測った上のサンプルの測定値を元に乱数でサンプル30の項目6までVBAが全て記入してくれないかなと、
こんな感じです
346デフォルトの名無しさん (アウアウエー Sadf-fVbL)
2020/04/15(水) 23:34:48.80ID:xz8oNroja 「列、又はセルに空白があった場合、それより前(左)にある全ての測定値を参考に」というのは?
その例でいうと、
・項目1のサンプル8、9、10が空欄なので、1から7の数値を元にして適当な数値で埋める。
・残りの項目についても同様
ということですか?つまり上の数値を元にしてるけど。
処理自体は難しくないとは思います。
その例でいうと、
・項目1のサンプル8、9、10が空欄なので、1から7の数値を元にして適当な数値で埋める。
・残りの項目についても同様
ということですか?つまり上の数値を元にしてるけど。
処理自体は難しくないとは思います。
347デフォルトの名無しさん (ブーイモ MMcf-IW4T)
2020/04/15(水) 23:57:01.64ID:bRq9+Y6qM >>346
その例でいうと、というか今の職場の手間になってる仕事がまさにその通りです
上の数値を元に残りの項目を誰かが埋めてます
どんなアプローチで行ったらよさそうかアドバイスいただませんか
Rnd関数Int関数、Loop、Offset
調べてもなかなかわからずです‥
その例でいうと、というか今の職場の手間になってる仕事がまさにその通りです
上の数値を元に残りの項目を誰かが埋めてます
どんなアプローチで行ったらよさそうかアドバイスいただませんか
Rnd関数Int関数、Loop、Offset
調べてもなかなかわからずです‥
348デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/15(水) 23:58:14.63ID:Ikiffowr0 >>345
数字を偽装するルールが人によって違うのはわかったけど、あなたはどういうルールでやりたいのか、もうちょっと厳密に書いて
「それまでの数値を参考に」という表現では曖昧すぎてプログラミングできない
例として、サンプルが7個しかなかった場合は、その7個の数字をどう使って30個に増やすのか?
数字を偽装するルールが人によって違うのはわかったけど、あなたはどういうルールでやりたいのか、もうちょっと厳密に書いて
「それまでの数値を参考に」という表現では曖昧すぎてプログラミングできない
例として、サンプルが7個しかなかった場合は、その7個の数字をどう使って30個に増やすのか?
349デフォルトの名無しさん (ブーイモ MMcf-IW4T)
2020/04/16(木) 00:23:27.26ID:WB3hiXkKM >>348
数式と一覧を削りましたが普段はここの赤矢印に測定したデータのMax値とMin値を入れて
EXCELの関数でこのような数式で乱数を
出しています
数年前に自力で作ったけどもはや覚えていないレベルです
https://i.imgur.com/eglO3Ph.jpg
数式と一覧を削りましたが普段はここの赤矢印に測定したデータのMax値とMin値を入れて
EXCELの関数でこのような数式で乱数を
出しています
数年前に自力で作ったけどもはや覚えていないレベルです
https://i.imgur.com/eglO3Ph.jpg
350デフォルトの名無しさん (ブーイモ MMcf-IW4T)
2020/04/16(木) 00:25:05.62ID:WB3hiXkKM あとスクショ取りたいが故に行数の抜けやズレが、、、すみません
351デフォルトの名無しさん (ワッチョイ 9f85-i57j)
2020/04/16(木) 00:30:19.56ID:eKixqxFQ0 最低値+rnd×最大最低の差で乱数になるよ
352デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/16(木) 00:35:38.28ID:YY8HOOMA0 とりあえず行と列の位置は>>345の画像に合わせて作ったから、あとは適当に修正して
Sub Macro1()
For 項目 = 1 To 6
列 = 項目 + 2
最小 = Application.WorksheetFunction.Min(Cells(6, 列).Resize(30)) * 1000
最大 = Application.WorksheetFunction.Max(Cells(6, 列).Resize(30)) * 1000
For サンプル = 1 To 30
行 = サンプル + 5
If Cells(行, 列) = "" Then
Cells(行, 列).NumberFormatLocal = "0.000"
Cells(行, 列) = Application.WorksheetFunction.RandBetween(最小, 最大) / 1000
End If
Next
Next
End Sub
Sub Macro1()
For 項目 = 1 To 6
列 = 項目 + 2
最小 = Application.WorksheetFunction.Min(Cells(6, 列).Resize(30)) * 1000
最大 = Application.WorksheetFunction.Max(Cells(6, 列).Resize(30)) * 1000
For サンプル = 1 To 30
行 = サンプル + 5
If Cells(行, 列) = "" Then
Cells(行, 列).NumberFormatLocal = "0.000"
Cells(行, 列) = Application.WorksheetFunction.RandBetween(最小, 最大) / 1000
End If
Next
Next
End Sub
353デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/16(木) 00:52:18.67ID:YY8HOOMA0 >>351の方法を取り入れてみた
Sub Macro1()
For 項目 = 1 To 6
列 = 項目 + 2
最小 = WorksheetFunction.Min(Cells(6, 列).Resize(30))
最大 = WorksheetFunction.Max(Cells(6, 列).Resize(30))
幅 = 最大 - 最小
For サンプル = 1 To 30
行 = サンプル + 5
If Cells(行, 列) = "" Then
Cells(行, 列).NumberFormatLocal = "0.000"
Cells(行, 列) = Rnd() * 幅 + 最小
End If
Next
Next
End Sub
Sub Macro1()
For 項目 = 1 To 6
列 = 項目 + 2
最小 = WorksheetFunction.Min(Cells(6, 列).Resize(30))
最大 = WorksheetFunction.Max(Cells(6, 列).Resize(30))
幅 = 最大 - 最小
For サンプル = 1 To 30
行 = サンプル + 5
If Cells(行, 列) = "" Then
Cells(行, 列).NumberFormatLocal = "0.000"
Cells(行, 列) = Rnd() * 幅 + 最小
End If
Next
Next
End Sub
354デフォルトの名無しさん (ブーイモ MMcf-IW4T)
2020/04/16(木) 01:25:57.84ID:ltLJf2qHM >>353
神様過ぎびっくりです。
セルをクリックすると.0754322457888とか小数点が残ってるのですがこれを
EXCELのROUND関数みたいに四捨五入した状態でここに出力するようにできますか?
四捨五入で0.000の桁で出力できたらもう
職場の2人が失職してしまうレベルです
神様過ぎびっくりです。
セルをクリックすると.0754322457888とか小数点が残ってるのですがこれを
EXCELのROUND関数みたいに四捨五入した状態でここに出力するようにできますか?
四捨五入で0.000の桁で出力できたらもう
職場の2人が失職してしまうレベルです
355デフォルトの名無しさん (ワッチョイ d7ac-DNPS)
2020/04/16(木) 01:33:01.52ID:5emHbHZx0 それくらい調べたんかな
356デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/16(木) 01:41:31.92ID:YY8HOOMA0 >>354
Cells(行, 列) = Round(Rnd() * 幅 + 最小, 3)
実際、ごく簡単なマクロで仕事を効率化したおかげで毎年たくさんの失業者が出てるからほどほどにな
経営側でなければ、サビ残がなくなるぐらいのところでやめとけよ
Cells(行, 列) = Round(Rnd() * 幅 + 最小, 3)
実際、ごく簡単なマクロで仕事を効率化したおかげで毎年たくさんの失業者が出てるからほどほどにな
経営側でなければ、サビ残がなくなるぐらいのところでやめとけよ
357デフォルトの名無しさん (ブーイモ MMcf-IW4T)
2020/04/16(木) 01:59:01.29ID:dFCopLc9M >>356
神様ありがとう。涙出てきました。
神様ありがとう。涙出てきました。
358デフォルトの名無しさん (ワッチョイ ff8e-eUuY)
2020/04/16(木) 02:43:35.11ID:Kf4avcM70 >>357
またこの間の馬鹿か
またこの間の馬鹿か
359デフォルトの名無しさん (スフッ Sdbf-csEB)
2020/04/16(木) 03:23:43.55ID:KenjGRyod 無意味なデータ入力に数百万の人件費を払う会社か
すげーな
マクロで解決するより、その作業をなくす方法を真剣に考えた方がいいんじゃないか?
すげーな
マクロで解決するより、その作業をなくす方法を真剣に考えた方がいいんじゃないか?
360デフォルトの名無しさん (オッペケ Sr8b-DNPS)
2020/04/16(木) 08:08:02.24ID:IIRVmVIhr コード教えて君もいるし、PC博士気取れるから教えちゃうやつもいる
361デフォルトの名無しさん (ワッチョイ b733-rm8A)
2020/04/16(木) 08:16:07.12ID:Br0d9N6Q0 一時しのぎにはなっても長い目で見れば迷惑にしかならない
362デフォルトの名無しさん (アウアウウー Sa1b-4fgg)
2020/04/16(木) 10:34:35.59ID:HIOPYfc5a 自力でマクロも書けんやつが作ったマクロで会社の経理やるなんてブラック企業しかない
363デフォルトの名無しさん (スフッ Sdbf-xa8R)
2020/04/16(木) 11:54:49.56ID:wE+PDO4Yd 4月は零細の新入社員が単純作業をマクロでどうにかしようとがんばる時期
364デフォルトの名無しさん (ワッチョイ 7749-DNPS)
2020/04/16(木) 11:56:31.62ID:RK65w6zF0 そして保守できずに五月病で辞める
365デフォルトの名無しさん (ブーイモ MMcf-ewZr)
2020/04/16(木) 12:13:47.85ID:6vJJDJtDM >>363
もともと99%はブラックだし
会社の規模とか無関係に
もともと99%はブラックだし
会社の規模とか無関係に
366デフォルトの名無しさん (オッペケ Sr8b-LtOn)
2020/04/16(木) 12:29:59.97ID:mPB4Kayur 初歩的な質問なんですけど、ロック付きのブックを編集してSaveAsやcloseで保存したときにロックなしのブックにしたいんですが、どうやればできますか?
368デフォルトの名無しさん (アウアウウー Sa1b-4fgg)
2020/04/16(木) 13:43:07.44ID:pZjivNa8a ロックかけた人に外してもらう
369デフォルトの名無しさん (アウアウウー Sa1b-4fgg)
2020/04/16(木) 13:47:25.66ID:pZjivNa8a 俺に会社の経理やらせてくれたら自分の口座に自動で入金する処理入れるよ
370デフォルトの名無しさん (アウアウウー Sa1b-o3Ob)
2020/04/16(木) 14:50:28.74ID:xWZcVh5Wa 画像フォルダのファイル名を取得→ファイル名と同じ文字列の入ったセルに画像を挿入→画像をセルのサイズに合わせるというサンプルコードを見つけたのですが
画像フォルダ内にファイル1〜5まであり、エクセル内にファイル1の文字列がない場合、「オブジェクト変数またはwithブロック変数が設定されていません。」のエラーが出ます
おそらくIFでその場合の処理を設定すればよいのではと思うのですが、変数の設定の仕方が分からないです
昨日今日始めたネット聞きかじりの知識で申し訳ございませんがアドバイス頂けないでしょうか
画像フォルダ内にファイル1〜5まであり、エクセル内にファイル1の文字列がない場合、「オブジェクト変数またはwithブロック変数が設定されていません。」のエラーが出ます
おそらくIFでその場合の処理を設定すればよいのではと思うのですが、変数の設定の仕方が分からないです
昨日今日始めたネット聞きかじりの知識で申し訳ございませんがアドバイス頂けないでしょうか
371デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/16(木) 15:01:25.35ID:YY8HOOMA0 >>370
まずはうまく動かないコードをここに書いて
まずはうまく動かないコードをここに書いて
372デフォルトの名無しさん (ワッチョイ 7749-DNPS)
2020/04/16(木) 15:08:48.79ID:RK65w6zF0 こらはまたコード出してくれるの待ってるクレクレ君
373デフォルトの名無しさん (アウアウウー Sa1b-o3Ob)
2020/04/16(木) 15:11:15.02ID:xWZcVh5Wa >>371
ネット丸パクリのコードだけど
Sub sample04()
Dim objShape As Object
Dim strPath As String, strFileName As String
Dim strImgName As String
strPath = "c:¥temp¥"
strFileName = Dir(strPath & "*.jpg")
Do Until Len(strFileName) = 0
strImgName = Left(strFileName, Len(strFileName) - 4)
Cells.Find(What:=strImgName).Activate
ActiveCell.Offset(0, 1).Activate
Set objShape = ActiveSheet.Shapes.AddPicture( _
Filename:=strPath & strFileName, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=ActiveCell.Left, _
Top:=ActiveCell.Top, _
Width:=ActiveCell.Width, _
Height:=ActiveCell.Height)
strFileName = Dir()
Loop
End Sub
ネット丸パクリのコードだけど
Sub sample04()
Dim objShape As Object
Dim strPath As String, strFileName As String
Dim strImgName As String
strPath = "c:¥temp¥"
strFileName = Dir(strPath & "*.jpg")
Do Until Len(strFileName) = 0
strImgName = Left(strFileName, Len(strFileName) - 4)
Cells.Find(What:=strImgName).Activate
ActiveCell.Offset(0, 1).Activate
Set objShape = ActiveSheet.Shapes.AddPicture( _
Filename:=strPath & strFileName, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=ActiveCell.Left, _
Top:=ActiveCell.Top, _
Width:=ActiveCell.Width, _
Height:=ActiveCell.Height)
strFileName = Dir()
Loop
End Sub
374デフォルトの名無しさん (アウアウウー Sa1b-o3Ob)
2020/04/16(木) 15:12:43.83ID:xWZcVh5Wa 最終的には画像1-4はシート1、5はシート2みたいな感じに貼りたいんだがとりあえず画像1の文字列ないとエラー起こすのを直したいです
375デフォルトの名無しさん (ワッチョイ ffcc-Ho7r)
2020/04/16(木) 16:37:22.10ID:V7jYJHWg0 どこでエラーが起きてると思う?
検索して見つからなかったセルに対して何かをしようとしたから、何に対してやるんだよーってエラーが起きたんだよ
コードを見ると、Findメソッドの戻り値に対して直接Activateしてるから、そこをばらす必要があるので、一旦戻り値を変数に受けるといい
セルはRangeオブジェクトで、 Findメソッドは通常、Rangeオブジェクトを返す
オブジェクトを変数に代入する場合は、 Set をつける
見つからなかった場合はFindメソッドはNothing を返す
オブジェクトの比較には、Is を使う 例: If Not(r is Nothing) Then 〜
あとはがんばれ
検索して見つからなかったセルに対して何かをしようとしたから、何に対してやるんだよーってエラーが起きたんだよ
コードを見ると、Findメソッドの戻り値に対して直接Activateしてるから、そこをばらす必要があるので、一旦戻り値を変数に受けるといい
セルはRangeオブジェクトで、 Findメソッドは通常、Rangeオブジェクトを返す
オブジェクトを変数に代入する場合は、 Set をつける
見つからなかった場合はFindメソッドはNothing を返す
オブジェクトの比較には、Is を使う 例: If Not(r is Nothing) Then 〜
あとはがんばれ
376デフォルトの名無しさん (ワッチョイ ff8e-eUuY)
2020/04/16(木) 17:37:30.19ID:Kf4avcM70 馬鹿がコピペで作ったものは使い物にならない
377デフォルトの名無しさん (オッペケ Sr8b-LtOn)
2020/04/16(木) 18:14:58.11ID:mPB4Kayur >>367
ありがとうございます。やってみます
ありがとうございます。やってみます
378デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/16(木) 18:19:31.46ID:YY8HOOMA0 Sub sample04()
Dim objShape As Object
Dim strPath As String
Dim strFileName As String
Dim strImgName As String
Dim rngStatus As Object
strPath = "c:\temp\"
strFileName = Dir(strPath & "*.jpg")
Do Until strFileName = ""
strImgName = Left(strFileName, Len(strFileName) - 4)
Set rngStatus = Cells.Find(What:=strImgName)
If Not (rngStatus Is Nothing) Then
rngStatus.Offset(0, 1).Activate
Set objShape = ActiveSheet.Shapes.AddPicture( _
Filename:=strPath & strFileName, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=ActiveCell.Left, _
Top:=ActiveCell.Top, _
Width:=ActiveCell.Width, _
Height:=ActiveCell.Height)
End If
strFileName = Dir()
Loop
End Sub
Dim objShape As Object
Dim strPath As String
Dim strFileName As String
Dim strImgName As String
Dim rngStatus As Object
strPath = "c:\temp\"
strFileName = Dir(strPath & "*.jpg")
Do Until strFileName = ""
strImgName = Left(strFileName, Len(strFileName) - 4)
Set rngStatus = Cells.Find(What:=strImgName)
If Not (rngStatus Is Nothing) Then
rngStatus.Offset(0, 1).Activate
Set objShape = ActiveSheet.Shapes.AddPicture( _
Filename:=strPath & strFileName, _
LinkToFile:=False, _
SaveWithDocument:=True, _
Left:=ActiveCell.Left, _
Top:=ActiveCell.Top, _
Width:=ActiveCell.Width, _
Height:=ActiveCell.Height)
End If
strFileName = Dir()
Loop
End Sub
379デフォルトの名無しさん (ワッチョイ 57ad-LzhE)
2020/04/16(木) 18:52:45.98ID:Cbge2SK50 >>369
自動なのにトロイ処理とはこれいかに!
自動なのにトロイ処理とはこれいかに!
380デフォルトの名無しさん (ワッチョイ ff8f-Ho7r)
2020/04/16(木) 19:18:26.95ID:np7lPiVv0 >>342
「それより前(左)にある全ての測定値を参考に」が仕様としては曖昧模糊としてる気がする。
「それより前(左)にある全ての測定値を参考に」が仕様としては曖昧模糊としてる気がする。
381デフォルトの名無しさん (ワッチョイ 77da-o3Ob)
2020/04/16(木) 19:21:15.56ID:XXRRqnVg0382デフォルトの名無しさん (スップ Sd3f-N0vN)
2020/04/16(木) 20:15:43.63ID:/BsiXYGwd383デフォルトの名無しさん (ワッチョイ 9f01-h94e)
2020/04/16(木) 21:03:51.84ID:l2cOjNdn0 指摘されたら他社とか言い出してて笑うわ
384デフォルトの名無しさん (ワッチョイ d7ae-84Hj)
2020/04/16(木) 21:21:39.75ID:Gr+82O4W0 >>381
理解もできない代物を知らない誰かの作ったコードで動かそうという馬鹿
理解もできない代物を知らない誰かの作ったコードで動かそうという馬鹿
385デフォルトの名無しさん (ワッチョイ 77da-Ho7r)
2020/04/16(木) 22:03:58.10ID:5vefqm3N0 理解してないコードを使う無能に仕事やらせるとかやっぱブラックだったか
386デフォルトの名無しさん (ワッチョイ ffe6-ycCE)
2020/04/16(木) 23:38:37.29ID:NQ0wsZwj0 そもそもexcelVBAって素人が頑張って自動化してみましたってのが99%なんだから
そういうのをメンテしなきゃならない羽目になったって話だろ
プログラム板の中では異質なスレなんだと思う
コードレビューとか言ってるやつは確実にアスペ、そういう事情が想像出来る脳みそが生まれつき備わってない
相手するだけ無駄
そういうのをメンテしなきゃならない羽目になったって話だろ
プログラム板の中では異質なスレなんだと思う
コードレビューとか言ってるやつは確実にアスペ、そういう事情が想像出来る脳みそが生まれつき備わってない
相手するだけ無駄
387デフォルトの名無しさん (ワッチョイ d7ac-DNPS)
2020/04/17(金) 00:46:06.16ID:TM3fWeSx0 他の誰かがってのは全部言い訳
仕事してメンテするなら自分自身が目の前の有りものを完全理解しないといけない
事情は関係ない
仕事としてやる以上自分の責任として取り組むべき
それを怠って開き直るのは無責任であり無能でありいつまでも何も成せない
趣味ならしらん
仕事してメンテするなら自分自身が目の前の有りものを完全理解しないといけない
事情は関係ない
仕事としてやる以上自分の責任として取り組むべき
それを怠って開き直るのは無責任であり無能でありいつまでも何も成せない
趣味ならしらん
388デフォルトの名無しさん (ワッチョイ 77da-Uqc8)
2020/04/17(金) 01:58:25.17ID:d5pl8NtJ0 >>386
素人がつくろうが会社で使うんだろう
素人がつくろうが会社で使うんだろう
389デフォルトの名無しさん (ドコグロ MMdf-h94e)
2020/04/17(金) 05:06:04.15ID:K8Kq74SuM390デフォルトの名無しさん (ワッチョイ 9fb5-5bTb)
2020/04/17(金) 17:04:26.22ID:hqq8FpSv0 散々ここで聞きまくって不快な思いをさせた物ですが完全に職場での運用に成功しました。
本当にみなさんのおかげというか頭良すぎですねここの人は…
フォルダ内にあるtxt全ての任意の列行を片っ端からエクセルにコピーする
空白の部分は乱数で処理
この辺は無知にとってはえげつないです。
提案で出そうと思ったらもっと大きな発表テーマで使うぞと言われました。
100のワークの測定データを作るのに2日かかってたのが5分でテンプレートに出力完了…
本当にみなさんのおかげというか頭良すぎですねここの人は…
フォルダ内にあるtxt全ての任意の列行を片っ端からエクセルにコピーする
空白の部分は乱数で処理
この辺は無知にとってはえげつないです。
提案で出そうと思ったらもっと大きな発表テーマで使うぞと言われました。
100のワークの測定データを作るのに2日かかってたのが5分でテンプレートに出力完了…
391デフォルトの名無しさん (ワントンキン MM7f-tZ20)
2020/04/17(金) 18:42:59.04ID:35vznKDBM >>390
馬鹿は死ねよ
馬鹿は死ねよ
392デフォルトの名無しさん (ワッチョイ b7e6-R0o5)
2020/04/17(金) 18:48:40.08ID:M4VM/pj30 せっかくtxtという利用しやすいデータ形式なのに
わざわざxlsなんかにしちゃって
トドメとばかりにゴミデータをインプラント
面白い人だな
わざわざxlsなんかにしちゃって
トドメとばかりにゴミデータをインプラント
面白い人だな
393デフォルトの名無しさん (スプッッ Sdbf-N0vN)
2020/04/17(金) 19:49:43.28ID:d0l4uzMSd >>383
実際そうだし、というか、そんなの多いぞ。
実際そうだし、というか、そんなの多いぞ。
394デフォルトの名無しさん (スプッッ Sdbf-N0vN)
2020/04/17(金) 19:52:36.64ID:d0l4uzMSd395デフォルトの名無しさん (スプッッ Sdbf-N0vN)
2020/04/17(金) 19:58:42.41ID:d0l4uzMSd >>389
あのね、客の要望は有るんだよ。
要望に答えるためには、今動いてるものも解析しないと答えられるわけが無い。
そのコ一ドが何やってるかわからずに機能追加なんてできるわけが無い。
というか、こんなのVBAに限らず開発やってる会社なら何処でもある話だけどな。
ここには開発専門で仕事したことのある奴が少ないということか。
あのね、客の要望は有るんだよ。
要望に答えるためには、今動いてるものも解析しないと答えられるわけが無い。
そのコ一ドが何やってるかわからずに機能追加なんてできるわけが無い。
というか、こんなのVBAに限らず開発やってる会社なら何処でもある話だけどな。
ここには開発専門で仕事したことのある奴が少ないということか。
396デフォルトの名無しさん (ドコグロ MMdf-h94e)
2020/04/17(金) 20:10:16.78ID:SpmVGRc5M 他社が作ったコードを客の要望で機能追加
しかもVBA
そんなズタボロの状態で開発専門とか大丈夫かよw
しかもVBA
そんなズタボロの状態で開発専門とか大丈夫かよw
397デフォルトの名無しさん (ワッチョイ 77da-Ho7r)
2020/04/17(金) 20:49:15.97ID:d5pl8NtJ0398デフォルトの名無しさん (ワッチョイ d7e5-sLxe)
2020/04/17(金) 21:12:50.72ID:zPgoaBKN0 自分で書いたコードでも嫌です
399デフォルトの名無しさん (スプッッ Sdbf-N0vN)
2020/04/17(金) 21:26:37.34ID:d0l4uzMSd >>396
今まで幾つかの開発会社で働いたが、どこでもある話。
VBAにも限らない。
まあ、日本語変数とか日本語関数はVBA以外では聞いたこと無いけどな。
前のコードが酷いので、書き直したらもっと酷くなったなんて、某SE本にも書いてあった。
今まで幾つかの開発会社で働いたが、どこでもある話。
VBAにも限らない。
まあ、日本語変数とか日本語関数はVBA以外では聞いたこと無いけどな。
前のコードが酷いので、書き直したらもっと酷くなったなんて、某SE本にも書いてあった。
400デフォルトの名無しさん (スプッッ Sdbf-N0vN)
2020/04/17(金) 21:28:25.17ID:d0l4uzMSd401デフォルトの名無しさん (スプッッ Sdbf-N0vN)
2020/04/17(金) 21:30:17.79ID:d0l4uzMSd402デフォルトの名無しさん (ドコグロ MMeb-h94e)
2020/04/17(金) 21:52:47.98ID:z6C6Zgo5M403デフォルトの名無しさん (ワッチョイ ff8f-Ho7r)
2020/04/17(金) 22:02:00.02ID:yYE4gKbd0 いい加減、他人の宿題とか仕事とかに安易に回答与えるのやめたほうが
いいんじゃないかと。
いいんじゃないかと。
404デフォルトの名無しさん (ワッチョイ 77ce-Ho7r)
2020/04/17(金) 22:44:22.88ID:j6CUwBsl0 大手から零細まで、色々なところで仕事してきたけど、会社によっては日本語の関数とか変数は別に珍しくなかったな
405デフォルトの名無しさん (アウアウエー Sadf-Ho7r)
2020/04/17(金) 23:04:41.99ID:tPgd0P7Wa 現実問題として、VBAで複雑なマクロを書くと重くて動かないと思うんだけどな
それでも我慢して使っているのかな?
それでも我慢して使っているのかな?
406デフォルトの名無しさん (ワッチョイ ffda-Ho7r)
2020/04/18(土) 08:44:33.63ID:FzSpO5p/0 Excelでポリゴンゲー作るとか、
相当極端なことをしない限り大丈夫。
相当極端なことをしない限り大丈夫。
407デフォルトの名無しさん (ワッチョイ 77f8-i57j)
2020/04/18(土) 09:44:05.01ID:QhOAvRvA0 複雑な処理だからって重くなることはないだろ
重い処理をするから重くなるのであって
重い処理をするから重くなるのであって
408デフォルトの名無しさん (ワッチョイ 1791-N0vN)
2020/04/18(土) 12:59:54.88ID:DE4BsnuO0409デフォルトの名無しさん (ワッチョイ 1791-N0vN)
2020/04/18(土) 13:06:18.62ID:DE4BsnuO0 >>405
スキルの低い奴はそうなる。
もちろんVBAは遅いけど、VBAで実施するようなことで、どうしても遅くなると想定されるような処理は殆ど無い。
VBAで実施するようなことじゃなければ別だが、そういう話はあまりない。
スキルの低い奴はそうなる。
もちろんVBAは遅いけど、VBAで実施するようなことで、どうしても遅くなると想定されるような処理は殆ど無い。
VBAで実施するようなことじゃなければ別だが、そういう話はあまりない。
410デフォルトの名無しさん (ワッチョイ 1791-N0vN)
2020/04/18(土) 13:08:05.25ID:DE4BsnuO0 >>404
話には聞いたことがあるが、自分が目の当たりにしたのは今回が初めてだ。
話には聞いたことがあるが、自分が目の当たりにしたのは今回が初めてだ。
411デフォルトの名無しさん (スフッ Sdbf-Gzel)
2020/04/18(土) 13:16:31.33ID:XwSVwu50d 関数名だけ日本語ってルールにしてるところは見たことがある
意外と見づらくなかった
意外と見づらくなかった
412デフォルトの名無しさん (ドコグロ MMbf-h94e)
2020/04/18(土) 13:29:04.29ID:bylan2xBM413デフォルトの名無しさん (ドコグロ MMdf-h94e)
2020/04/18(土) 13:33:12.64ID:jvR0dANmM414デフォルトの名無しさん (ワッチョイ 1791-N0vN)
2020/04/18(土) 13:38:19.65ID:DE4BsnuO0 >>412
???
日本語が理解出来ない人?
客が依頼していた開発会社を変えただけのことだろ。
10年前依頼されてた開発会社のコメントがソースにあったが、プログラムは客のもんだ。
今、依頼されてるうちの会社がどうして10年前に依頼されてた会社の了解を取る必要がある?
???
日本語が理解出来ない人?
客が依頼していた開発会社を変えただけのことだろ。
10年前依頼されてた開発会社のコメントがソースにあったが、プログラムは客のもんだ。
今、依頼されてるうちの会社がどうして10年前に依頼されてた会社の了解を取る必要がある?
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 「中国人の訪日熱は冷めた」 人気旅行先から日本外れる 14日で自粛呼びかけ1カ月 ★3 [蚤の市★]
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★8 [蚤の市★]
- 「1800万円の売り上げゼロに…」中国インバウンドに特化の宿の今 ★3 [蚤の市★]
- たけし、ダウンタウン、明石家さんまを超えた! 全世代を超えて愛されるお笑い芸人ランキング! 1位決まる [牛丼★]
- 【26年度予算案】防衛費、過去最大の9兆円規模に、政府調整 [蚤の市★]
- 最新版Z級クソ映画ランキングが決定! [牛丼★]
- バイクのエンジンがかからないの…
- ドラえもんのいなかったのび太。それが俺とこのスレ見てるお前だよ [769050516]
- 【悲報】30代独身女性「結婚や成功してる友達との差は開く一方、このまま1人で生きて淘汰される人生だと気づいて絶望してる…406万いいね [483447288]
- 女の部下が俺の家に来たいって言ってくるんだが、、、
- 【画像】ドw童貞はw絶ッッッ対"1"を選ぶ卓球 J Kのお食事会の写真見つけちゃいましたwwwwwwwwwww [904880432]
- 日本(政治、司法、警察、資本腐ってます)←こいつがここから立て直す方法www
