ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part57
https://mevius.5ch.net/test/read.cgi/tech/1536583359/
Excel VBA 質問スレ Part58
■ このスレッドは過去ログ倉庫に格納されています
2018/11/19(月) 06:47:24.99ID:Qq88xGOU
564デフォルトの名無しさん
2019/01/19(土) 12:40:58.29ID:wkXfpZQC 厳密な定義や資格があるわけじゃないんで「プロ」を名乗るのは自由です
565デフォルトの名無しさん
2019/01/19(土) 13:14:50.16ID:fPDnzLoP566デフォルトの名無しさん
2019/01/19(土) 13:21:53.40ID:+IqL7b8U567デフォルトの名無しさん
2019/01/19(土) 13:26:53.56ID:4FsWRGgY CADなんかの専用ソフトしか動かさんとか開発機とかそういうのならわかるけど、
このスレで話題にする以上関係ないというか対象外でしょ
このスレで話題にする以上関係ないというか対象外でしょ
568デフォルトの名無しさん
2019/01/19(土) 13:35:07.44ID:Fjsb0QYM 普通はイメージで展開して、個別はライセンス認証だけっしょ一台数分
569デフォルトの名無しさん
2019/01/19(土) 14:06:33.45ID:/+FUwnIm >>558
へえ、ExcelってOSのデフォルト状態で使えるんだ?
へえ、ExcelってOSのデフォルト状態で使えるんだ?
570デフォルトの名無しさん
2019/01/19(土) 14:46:59.67ID:Qiw5pxsO WSHだろ常考
571デフォルトの名無しさん
2019/01/19(土) 15:22:25.47ID:wiNfQeeu >>523-537
例えば、クリップボードでも、Ruby から、powershell コマンドを呼ぶ。
a.rb
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
これをダブルクリックで起動したいのなら、バッチかVBS で起動する。
a.bat
ruby .\a.rb
テキスト処理は、VSCode, Rubyで十分!
例えば、クリップボードでも、Ruby から、powershell コマンドを呼ぶ。
a.rb
str = `powershell Get-Clipboard`
str.encode! Encoding::UTF_8, Encoding::CP932 # UTF_8 へ変換
これをダブルクリックで起動したいのなら、バッチかVBS で起動する。
a.bat
ruby .\a.rb
テキスト処理は、VSCode, Rubyで十分!
572デフォルトの名無しさん
2019/01/19(土) 15:49:39.46ID:BW5TF7JU >>571
VSCodeは個別にライセンスのある膨大な数のオープンソースソフトウェアの塊であり、
PowerShellを禁止しているような糞組織のPCにインストールすることは不可能
RubyもライセンスにGPLの文字を見つけた途端に情シスが卒倒するレベルで全くもって論外
VSCodeは個別にライセンスのある膨大な数のオープンソースソフトウェアの塊であり、
PowerShellを禁止しているような糞組織のPCにインストールすることは不可能
RubyもライセンスにGPLの文字を見つけた途端に情シスが卒倒するレベルで全くもって論外
573デフォルトの名無しさん
2019/01/19(土) 21:28:25.59ID:AuMD8hxP プロさんてバカしかおらんの?
574デフォルトの名無しさん
2019/01/19(土) 21:35:07.05ID:+IqL7b8U 所詮自称プロだしw
575デフォルトの名無しさん
2019/01/19(土) 21:40:37.46ID:AuMD8hxP >>574
開きなおるなバカ
開きなおるなバカ
576デフォルトの名無しさん
2019/01/19(土) 22:05:47.19ID:+IqL7b8U577デフォルトの名無しさん
2019/01/19(土) 22:06:05.61ID:ARTGttMK excelってVBAからpythonに変わるっていってなかったっけ?
>>577
いってるだけ、今のところは
いってるだけ、今のところは
579デフォルトの名無しさん
2019/01/20(日) 00:48:58.52ID:QFn18v7i dictionaryに格納してるItemを検索して、存在してればKeyを返却する方法が知りたいのだけど、ループさせてヒットしたら値を出す方法以外でfind的な一発でポンと返す記述の仕方はない?
>>579
Item 間に順序関係があればそれを利用して二分探索を適用できる、無論、記述はループチェックに比べて量が多くなる
Item 間に順序関係があればそれを利用して二分探索を適用できる、無論、記述はループチェックに比べて量が多くなる
581デフォルトの名無しさん
2019/01/20(日) 03:54:11.74ID:IAu7YphR >>579
一行で書きたいということなら、文字列ならワークシート関数Matchで検索できます。
ただ存在しなかった場合はエラーが返るので例外処理か事前に調べておく必要があります。
例)
Dim map As Dictionary
Set map = New Dictionary
map.Add "みかん", "橙"
map.Add "りんご", "赤"
map.Add "さくらんぼ", "赤"
map.Add "ぶどう", "紫"
On Error Resume Next
Debug.Print map.Keys(WorksheetFunction.Match("赤", map.Items, 0) - 1)
'りんご
Debug.Print map.Keys(WorksheetFunction.Match("白", map.Items, 0) - 1)
'エラー
On Error GoTo 0
個人的には普通に関数作った方が使いやすいと思います。
一行で書きたいということなら、文字列ならワークシート関数Matchで検索できます。
ただ存在しなかった場合はエラーが返るので例外処理か事前に調べておく必要があります。
例)
Dim map As Dictionary
Set map = New Dictionary
map.Add "みかん", "橙"
map.Add "りんご", "赤"
map.Add "さくらんぼ", "赤"
map.Add "ぶどう", "紫"
On Error Resume Next
Debug.Print map.Keys(WorksheetFunction.Match("赤", map.Items, 0) - 1)
'りんご
Debug.Print map.Keys(WorksheetFunction.Match("白", map.Items, 0) - 1)
'エラー
On Error GoTo 0
個人的には普通に関数作った方が使いやすいと思います。
582デフォルトの名無しさん
2019/01/20(日) 08:04:01.23ID:cWi8furK583デフォルトの名無しさん
2019/01/20(日) 08:25:03.17ID:KJwN8fo6 配列とかコレクションに対してSQLが使えればいいんだけどな。
matchやvlookupより速いんだけど、いちいちシートとかcsvに書き出さなきゃならん。
matchやvlookupより速いんだけど、いちいちシートとかcsvに書き出さなきゃならん。
584デフォルトの名無しさん
2019/01/20(日) 09:17:44.39ID:OfXqqqKI そこまで行くとAccessのお仕事を食っちまう
585デフォルトの名無しさん
2019/01/20(日) 09:22:18.21ID:1t0h4eLG Access VBAでやればいいじゃん
586デフォルトの名無しさん
2019/01/20(日) 09:32:11.24ID:brNktcWU >>582
おっと、回答いただけるとは。
onkeyだと、activeworkbookだろうが、thisworkbookだろうが、後定義したほうが上書き、後勝ちしません?
active側に定義されたショートカットがそれぞれ反応してくれると嬉しいのですが。
おっと、回答いただけるとは。
onkeyだと、activeworkbookだろうが、thisworkbookだろうが、後定義したほうが上書き、後勝ちしません?
active側に定義されたショートカットがそれぞれ反応してくれると嬉しいのですが。
587デフォルトの名無しさん
2019/01/20(日) 10:54:01.49ID:mVpLWWyp588デフォルトの名無しさん
2019/01/20(日) 13:02:37.66ID:QFn18v7i589デフォルトの名無しさん
2019/01/20(日) 13:13:34.11ID:k7Xn9dKz C#スクリプトってOSSで軌道に乗っちゃってるからExcelの処理系として採用されることはないと思うぞ
同じものをClosedで再発明するってのも馬鹿馬鹿しいしな
強力な言語を使いたいならその言語を主としてExcelをコントロールすればいい
それで十分だ
わざわざExcelに乗っける必要性は薄い
同じものをClosedで再発明するってのも馬鹿馬鹿しいしな
強力な言語を使いたいならその言語を主としてExcelをコントロールすればいい
それで十分だ
わざわざExcelに乗っける必要性は薄い
590デフォルトの名無しさん
2019/01/20(日) 13:31:13.08ID:mVpLWWyp 再発明とか意味わからん w
591デフォルトの名無しさん
2019/01/20(日) 16:43:57.95ID:tNp2z70l この場合の再発明と言われれば車輪の再発明を連想出来ないのはかなり緩いんだろう
592デフォルトの名無しさん
2019/01/20(日) 17:26:38.62ID:GHMQXw/N 文脈的には再発明と言うより再実装かな
593デフォルトの名無しさん
2019/01/20(日) 17:32:05.81ID:mVpLWWyp いや、車輪の再発明はいいとして何を再発明するんだよって話
C#処理系のソースライセンス見てないけどMSが自社製品に使えなくなるようなライセンスにはなってないだろうし(なってたらVisual Studioの有償版とか売れなくなる)
普通にExcelに組み入れるだけだろ
C#処理系のソースライセンス見てないけどMSが自社製品に使えなくなるようなライセンスにはなってないだろうし(なってたらVisual Studioの有償版とか売れなくなる)
普通にExcelに組み入れるだけだろ
594デフォルトの名無しさん
2019/01/20(日) 17:45:17.54ID:TQeakhfS >>593
メンテナンスのコストを甘く見すぎ
Excelに入れるなら最低でも以後10年は完全な互換性を維持し続けなきゃいけないわけ
今メインストリームのC#環境を入れるなら.NET Coreを組み込むことになるだろうけど、
.NET Coreって完全なサイドバイサイドを前提にガンガン破壊的変更をぶっ込んでいくスタイルだから、
Excelのバージョンアップのときに単純に.NET Coreのバージョンを上げるわけにはいかなくて、
Excel専用のブランチを作って継続的にメンテしていかざるを得ないの
それは実質的には新たに.NETの兄弟分を作って独立して育てていくことに他ならず、多大なメンテナンスコストを生じる上、
.NET エコシステムの分断を生むことになる
そんな馬鹿げたことをするくらいなら普通に.NET Coreを直接使わせた方が遥かにマシだろう
メンテナンスのコストを甘く見すぎ
Excelに入れるなら最低でも以後10年は完全な互換性を維持し続けなきゃいけないわけ
今メインストリームのC#環境を入れるなら.NET Coreを組み込むことになるだろうけど、
.NET Coreって完全なサイドバイサイドを前提にガンガン破壊的変更をぶっ込んでいくスタイルだから、
Excelのバージョンアップのときに単純に.NET Coreのバージョンを上げるわけにはいかなくて、
Excel専用のブランチを作って継続的にメンテしていかざるを得ないの
それは実質的には新たに.NETの兄弟分を作って独立して育てていくことに他ならず、多大なメンテナンスコストを生じる上、
.NET エコシステムの分断を生むことになる
そんな馬鹿げたことをするくらいなら普通に.NET Coreを直接使わせた方が遥かにマシだろう
595デフォルトの名無しさん
2019/01/20(日) 17:59:54.91ID:mVpLWWyp596デフォルトの名無しさん
2019/01/20(日) 18:07:02.56ID:TQeakhfS597デフォルトの名無しさん
2019/01/20(日) 18:28:52.57ID:mVpLWWyp >>596
いや破壊的かどうかは別にしてもVBAも色々機能追加とかされてるだろ
VBAの機能追加をやめてそのリソースをC# for Officeに割くだけだよ
そもそもMac版はともかくWindows版のOfficeなら.NET Coreじゃなくて.NET Framework上に構築するだろうしな
いや破壊的かどうかは別にしてもVBAも色々機能追加とかされてるだろ
VBAの機能追加をやめてそのリソースをC# for Officeに割くだけだよ
そもそもMac版はともかくWindows版のOfficeなら.NET Coreじゃなくて.NET Framework上に構築するだろうしな
598デフォルトの名無しさん
2019/01/20(日) 18:31:24.08ID:wKV5+GB/ みっともないからいいかげん止めや似非プロさんの一人語り
そもそも出鱈目やってバレバレのプロ風の話して誰に対してマウント取りたいねんw
そもそも出鱈目やってバレバレのプロ風の話して誰に対してマウント取りたいねんw
599デフォルトの名無しさん
2019/01/20(日) 18:46:13.28ID:TQeakhfS600デフォルトの名無しさん
2019/01/20(日) 20:02:31.83ID:mVpLWWyp601デフォルトの名無しさん
2019/01/20(日) 22:44:30.32ID:aU4dkoPo A4用紙に上から4件ずつ異なるデータを入力して、
印刷したいのですが、どうすればいいか教えて下さい。
データ数は日によって異なり、30件〜50件程度あります。
1ページ目に1〜4、2ページ目に5〜8・・・という感じです。
うまく説明出来なくてすいません。
4つデータを入力して印刷したら次、っていう感じの
ループ処理のコードのサンプルなどありましたら教えてください。
印刷したいのですが、どうすればいいか教えて下さい。
データ数は日によって異なり、30件〜50件程度あります。
1ページ目に1〜4、2ページ目に5〜8・・・という感じです。
うまく説明出来なくてすいません。
4つデータを入力して印刷したら次、っていう感じの
ループ処理のコードのサンプルなどありましたら教えてください。
602デフォルトの名無しさん
2019/01/20(日) 22:48:25.28ID:GTDVzsz1603デフォルトの名無しさん
2019/01/20(日) 22:55:12.40ID:aU4dkoPo >>602
ありがとうございます。
ありがとうございます。
604デフォルトの名無しさん
2019/01/21(月) 09:00:45.75ID:MgnF8xe3 このループw
他言語を推奨してる奴らには馬鹿しかいない。
ExcelVBAのスレなんだからExcelが動いてるのが大前提なんだよ。
そこへノコノコ乗り込んで来てOfficeインスト―ルとか言ってる馬鹿は滑稽。
テキスト処理とかもアホ丸出し。
Excel関係無いなら、そもそもVBAでやる必要全く無い。
そして全くのスレ違い。
他言語を推奨してる奴らには馬鹿しかいない。
ExcelVBAのスレなんだからExcelが動いてるのが大前提なんだよ。
そこへノコノコ乗り込んで来てOfficeインスト―ルとか言ってる馬鹿は滑稽。
テキスト処理とかもアホ丸出し。
Excel関係無いなら、そもそもVBAでやる必要全く無い。
そして全くのスレ違い。
605デフォルトの名無しさん
2019/01/21(月) 09:04:27.40ID:MgnF8xe3 その後のC#やPythonを組み込んでくれって話はどうでもいい。
入って来たらそれで組むだけだ。
入って来たらそれで組むだけだ。
606デフォルトの名無しさん
2019/01/21(月) 10:06:31.18ID:NbFzEAOW 終わった話にノコノコ乗り込んでくるウスノロかよww
607デフォルトの名無しさん
2019/01/21(月) 12:17:14.05ID:HulQp10o 言われてみればVBAの破壊的仕様変更ってまったく無いよな。
オブジェクトを省略してて挙動が変わったくらいならあるけど。
64bit対応くらいじゃ無いか?
オブジェクトを省略してて挙動が変わったくらいならあるけど。
64bit対応くらいじゃ無いか?
608デフォルトの名無しさん
2019/01/21(月) 16:29:48.24ID:0Hj4ohcs LongPtr型とPtrSafe宣言くらいか
609デフォルトの名無しさん
2019/01/21(月) 20:06:20.50ID:mtdQDW0I >>607
ただパッチいれたら動かなくなったことはあった
ただパッチいれたら動かなくなったことはあった
610デフォルトの名無しさん
2019/01/21(月) 20:57:18.88ID:MgnF8xe3 2007の時、グラフ周りが軒並み動かなくなったことはあったな。
611デフォルトの名無しさん
2019/01/21(月) 22:36:48.74ID:+ZXh/xZN 改ページ位置の誤検出がヒドイ。
一旦、改ページプレビューにしてから戻せば大丈夫ですとか、何だよそれ。
一旦、改ページプレビューにしてから戻せば大丈夫ですとか、何だよそれ。
612デフォルトの名無しさん
2019/01/21(月) 23:15:39.37ID:liT1rB8S 64bitはスクリプトオブジェクトがないとかは?
613デフォルトの名無しさん
2019/01/22(火) 00:07:05.98ID:TC75Tgsq よろしくお願いします。
あるシートのコピーだけを新規の別ファイルとして保存したいのですが、
1 dim fn as string
2 fn="c:\*****\集計表.csv"
3 ThisWorkbook.Worksheets("集計表").Copy
4 Application.DisplayAlerts = False
5 ActiveWorkbook.SaveAs fileName:=fn, FileFormat:=xlCSV
6 ActiveWorkbook.Close
このように書きました。普通だと問題なくいっているのですが、この処理をしている途中で、
使用者がガチャガチャとマウスをイジり、いくつも開いているうちの適当なブックをアクティブにしてしまった
りなどしてると、想定通りの動作をしなくなってしまいます。
3行目でコピーしたときに、コピー先のその新しいブック自体を名指しできれば、いいのではないかと
思うのですが、いかがでしょうか?
「ActiveWorkBook」ではなく、ちゃんと名指しする方法ってないでしょうか?
あるシートのコピーだけを新規の別ファイルとして保存したいのですが、
1 dim fn as string
2 fn="c:\*****\集計表.csv"
3 ThisWorkbook.Worksheets("集計表").Copy
4 Application.DisplayAlerts = False
5 ActiveWorkbook.SaveAs fileName:=fn, FileFormat:=xlCSV
6 ActiveWorkbook.Close
このように書きました。普通だと問題なくいっているのですが、この処理をしている途中で、
使用者がガチャガチャとマウスをイジり、いくつも開いているうちの適当なブックをアクティブにしてしまった
りなどしてると、想定通りの動作をしなくなってしまいます。
3行目でコピーしたときに、コピー先のその新しいブック自体を名指しできれば、いいのではないかと
思うのですが、いかがでしょうか?
「ActiveWorkBook」ではなく、ちゃんと名指しする方法ってないでしょうか?
いろいろな事情があって、ExcelVBA に専心することになりそうです…Excel VBA から任意の win32api を呼び出すことは可能ですか?
615デフォルトの名無しさん
2019/01/22(火) 00:44:54.38ID:KMNb7p7Q >>613
処理中いじるなと表示させたフォームをモーダルにして処理終わるまで×ボタン消しとくとかは?
処理中いじるなと表示させたフォームをモーダルにして処理終わるまで×ボタン消しとくとかは?
616デフォルトの名無しさん
2019/01/22(火) 02:38:45.16ID:WVGq8ekA activeじゃなくてもsaveできるだろ
617デフォルトの名無しさん
2019/01/22(火) 05:03:39.16ID:1xYsQegz >>613
方法1:新規ブックはWorkbooksコレクションの末尾に追加されるはずなので、Workbooks (Workbooks.Count)で参照できます。
方法2:先に新規ブックを作っておけば参照出来ます。
余計な新規シートが触られる不安があるなら削除する必要があります※
例)
With Workbooks.Add
Dim fn As String: fn = "c:\*****\集計表.csv"
Worksheets("集計表").copy Before:=.Worksheets(1)
Application.DisplayAlerts = False
Dim elem As Worksheet '※
For Each elem In .Worksheets
If elem.Name <> "集計表" Then elem.Delete
Next elem
.SaveAs Filename:=fn, FileFormat:=xlCSV
.Close
End With
方法3:集計表なので数式が入っていると思いますから、Copy時のCalculateイベントでシート自身に保存させます。
例)
Private Sub Worksheet_Calculate()
If Worksheets.Count > 1 Then Exit Sub 'Copyされた単一シートか判定
Dim fn As String: fn = "c:\*****\集計表.csv"
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=fn, FileFormat:=xlCSV
ThisWorkbook.Close
End Sub
上記を集計表シートのシートモジュールに書き込むと、Worksheets("集計表").Copy だけで自動的に保存されます。
方法1:新規ブックはWorkbooksコレクションの末尾に追加されるはずなので、Workbooks (Workbooks.Count)で参照できます。
方法2:先に新規ブックを作っておけば参照出来ます。
余計な新規シートが触られる不安があるなら削除する必要があります※
例)
With Workbooks.Add
Dim fn As String: fn = "c:\*****\集計表.csv"
Worksheets("集計表").copy Before:=.Worksheets(1)
Application.DisplayAlerts = False
Dim elem As Worksheet '※
For Each elem In .Worksheets
If elem.Name <> "集計表" Then elem.Delete
Next elem
.SaveAs Filename:=fn, FileFormat:=xlCSV
.Close
End With
方法3:集計表なので数式が入っていると思いますから、Copy時のCalculateイベントでシート自身に保存させます。
例)
Private Sub Worksheet_Calculate()
If Worksheets.Count > 1 Then Exit Sub 'Copyされた単一シートか判定
Dim fn As String: fn = "c:\*****\集計表.csv"
Application.DisplayAlerts = False
ThisWorkbook.SaveAs Filename:=fn, FileFormat:=xlCSV
ThisWorkbook.Close
End Sub
上記を集計表シートのシートモジュールに書き込むと、Worksheets("集計表").Copy だけで自動的に保存されます。
618デフォルトの名無しさん
2019/01/22(火) 05:11:20.49ID:1xYsQegz Worksheets("集計表").copy
↓修正
ThisWorkbook.Worksheets("集計表").Copy 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
↓修正
ThisWorkbook.Worksheets("集計表").Copy 👀
Rock54: Caution(BBR-MD5:1341adc37120578f18dba9451e6c8c3b)
619デフォルトの名無しさん
2019/01/22(火) 08:07:57.46ID:rTM/luD7 >>614
トリッキーな技が技があるかもだけど「任意の」となると単独では無理と思った方がいい
トリッキーな技が技があるかもだけど「任意の」となると単独では無理と思った方がいい
620デフォルトの名無しさん
2019/01/22(火) 08:14:29.14ID:J7GVb3Rk621デフォルトの名無しさん
2019/01/22(火) 12:45:48.79ID:/p6ZcYuK declareで追加するだけでしょ
ぐぐればサンプル大量に出てくるし
高度でもない
ぐぐればサンプル大量に出てくるし
高度でもない
622デフォルトの名無しさん
2019/01/22(火) 13:00:35.87ID:/wbMKv3O 厚生省の中の人がプログラムで不正するように描いてたのってExcel?
623デフォルトの名無しさん
2019/01/22(火) 14:06:11.20ID:Hs2/RF8Y あれはファイルの更新日をいじっただけだったはず(開いて上書き保存かもしれんが)
624デフォルトの名無しさん
2019/01/22(火) 16:11:53.74ID:twW7M/a9 関数間違えたって報道されてなかったっけ
625デフォルトの名無しさん
2019/01/22(火) 20:39:31.87ID:J7GVb3Rk >>621
それは静的に呼び出すということ。
動的の場合は、LoadLibraryとかGetProcAddressとかを使う話になる。
昔、調べまくってサンプル作ったことあるけど、何でも自由に動かせるものじゃなかった。
というより殆どのAPIは動かなかった記憶が。
それは静的に呼び出すということ。
動的の場合は、LoadLibraryとかGetProcAddressとかを使う話になる。
昔、調べまくってサンプル作ったことあるけど、何でも自由に動かせるものじゃなかった。
というより殆どのAPIは動かなかった記憶が。
626デフォルトの名無しさん
2019/01/22(火) 20:52:29.66ID:nExxZ55X LongPtr型とPtrSafe宣言ってそれぞれどういうときに使うんですか?
627デフォルトの名無しさん
2019/01/22(火) 20:59:55.76ID:IR20P2NM >>626
どっちも64bitでAPI呼ぶ時に使うけど、ほかの使い方は知らん
どっちも64bitでAPI呼ぶ時に使うけど、ほかの使い方は知らん
628デフォルトの名無しさん
2019/01/22(火) 22:38:47.81ID:CihaJZ6+ Excelはどのくらいポリゴン表示出来るの?
1. PS並み
2. PS2並み
3. PS3並み
4. PS4並み
1. PS並み
2. PS2並み
3. PS3並み
4. PS4並み
629デフォルトの名無しさん
2019/01/23(水) 00:32:34.72ID:glGBkXdT 5. PS5並み
630デフォルトの名無しさん
2019/01/23(水) 00:54:57.75ID:26O4EHUh 今のPCならオートシェイプで3DレンダリングしてもPS1には楽勝だろう
631デフォルトの名無しさん
2019/01/23(水) 01:22:36.39ID:xNUzgFQe >>617
ありがとうございました!
ありがとうございました!
632デフォルトの名無しさん
2019/01/23(水) 03:00:22.02ID:aTlBVQjl633デフォルトの名無しさん
2019/01/23(水) 13:19:24.15ID:dfxLcevf 闘神伝のエリスのシースルーは再現可能ということですね。
634デフォルトの名無しさん
2019/01/23(水) 13:59:08.25ID:b9b+73n9 >>625
馬鹿には無理
馬鹿には無理
635デフォルトの名無しさん
2019/01/23(水) 15:57:45.44ID:uebkOjvn もともと「任意の」APIだったのが途中から動的に呼び出す話になってる
636デフォルトの名無しさん
2019/01/23(水) 16:19:34.41ID:CpZRwgZL 回答者の連中が勝手に条件を考えて話をややこしくするのも
質問者がそれを修正しようとしないのもこのスレのお約束
質問者がそれを修正しようとしないのもこのスレのお約束
637デフォルトの名無しさん
2019/01/23(水) 17:37:28.67ID:uebkOjvn だいたいDeclareなしに呼び出さなきゃいけない要件なんてあるか?
候補となるAPIの範囲なんてどう考えても限られてるだろう。
ジグネチャ情報ごと外部からもらうのか?
候補となるAPIの範囲なんてどう考えても限られてるだろう。
ジグネチャ情報ごと外部からもらうのか?
638デフォルトの名無しさん
2019/01/23(水) 21:06:47.46ID:e5qX8jhS639デフォルトの名無しさん
2019/01/23(水) 22:47:22.53ID:9/VHRHNs VBAでは(トリッキーなことしないと)作れない引数型のAPIのこととかじゃね?
640デフォルトの名無しさん
2019/01/24(木) 09:54:58.66ID:9Yy7hd5n 初歩的かもしれない質問でお恥ずかしいのですが、知恵をお貸しいただきたいです。
1年の中で最大の数値が含まれる日付の値全てを別シートに貼り付けるというVBAプログラムを作成したいです。
また、この場合の1日とは前後1日分ではなく、その時間が含まれる1日の事です。
例えば、30分毎の売り上げ金額が入力されたexcelシートが1年分あるとします。
1年間の中で最大の売り上げ金額が、2018/2/14 12:30に存在すると仮定します。
その場合に、2018/2/14 0:00〜 2018/2/14 23:30
の値を抜き出し、別シートに貼り付けるというプログラムを作成したいです。
データの形は、
2018/2/14 0:00 300
2018/2/14 0:30 200
・
・
・
2018/2/14 23:30 500
のようになっています
自分でも一通り調べてみたのですが、どうしてもしっくり来るものが見つかりませんでした。
どうぞよろしくお願い致します。
1年の中で最大の数値が含まれる日付の値全てを別シートに貼り付けるというVBAプログラムを作成したいです。
また、この場合の1日とは前後1日分ではなく、その時間が含まれる1日の事です。
例えば、30分毎の売り上げ金額が入力されたexcelシートが1年分あるとします。
1年間の中で最大の売り上げ金額が、2018/2/14 12:30に存在すると仮定します。
その場合に、2018/2/14 0:00〜 2018/2/14 23:30
の値を抜き出し、別シートに貼り付けるというプログラムを作成したいです。
データの形は、
2018/2/14 0:00 300
2018/2/14 0:30 200
・
・
・
2018/2/14 23:30 500
のようになっています
自分でも一通り調べてみたのですが、どうしてもしっくり来るものが見つかりませんでした。
どうぞよろしくお願い致します。
641デフォルトの名無しさん
2019/01/24(木) 12:17:49.04ID:6DEMoFXg642デフォルトの名無しさん
2019/01/24(木) 12:27:34.76ID:kIY0kOtD >>640
問題を分割して考えよう
1. 最大の値を持つ行(と言うか日時)を取得する → 最大日時とする
2. 以下を最初の行から最後の行までループする
2.1 行が持つ日時と最大日時の日付部分だけ比較する
2.2 日付部分が合致してたらコピーする
で、どこがわからないの?
問題を分割して考えよう
1. 最大の値を持つ行(と言うか日時)を取得する → 最大日時とする
2. 以下を最初の行から最後の行までループする
2.1 行が持つ日時と最大日時の日付部分だけ比較する
2.2 日付部分が合致してたらコピーする
で、どこがわからないの?
643デフォルトの名無しさん
2019/01/24(木) 12:37:36.92ID:6BCdjRMd 調べるだけで頭を使っていないのだからわかるわけない
ゆとり教育世代にありがち
ゆとり教育世代にありがち
644デフォルトの名無しさん
2019/01/24(木) 12:38:49.74ID:FgOMH45t645デフォルトの名無しさん
2019/01/24(木) 12:55:51.34ID:6DEMoFXg 実にバカらしい困り方やね
646デフォルトの名無しさん
2019/01/24(木) 13:12:21.15ID:Ay2CLdQj647デフォルトの名無しさん
2019/01/24(木) 13:13:31.30ID:+O0AGYtG hoge.dll だけあるときに hoge.def を作りたいんだけどどうすればいい?
648デフォルトの名無しさん
2019/01/24(木) 13:38:55.05ID:pEQDGUsa >>646
悔しかったか、ゆとり世代
悔しかったか、ゆとり世代
649デフォルトの名無しさん
2019/01/24(木) 14:52:02.40ID:DfMDGTcZ >>642
おっしゃる通り1つずつこなしていきたいと思います。
最大値を取得する所まではなんとかなりましたが、最大値が入っているセルの左からoffsetによって値の取得をしようとしています。しかしエラーが出てしまい(91エラー)詰まっています。
おっしゃる通り1つずつこなしていきたいと思います。
最大値を取得する所まではなんとかなりましたが、最大値が入っているセルの左からoffsetによって値の取得をしようとしています。しかしエラーが出てしまい(91エラー)詰まっています。
650デフォルトの名無しさん
2019/01/24(木) 14:57:02.89ID:xR9TqB96 >>647
defファイルってビルドの時に使うもんだけど?
defファイルってビルドの時に使うもんだけど?
651デフォルトの名無しさん
2019/01/24(木) 15:26:49.03ID:ou4FYlNm652デフォルトの名無しさん
2019/01/24(木) 15:36:46.38ID:xR9TqB96 罵倒芸術?
653デフォルトの名無しさん
2019/01/24(木) 15:53:26.03ID:DfMDGTcZ654デフォルトの名無しさん
2019/01/24(木) 16:52:58.88ID:90ICJGKL655デフォルトの名無しさん
2019/01/24(木) 17:31:43.23ID:uc3iE4iQ >>642で答えを教えてもらっても理解できないような頭の悪さが問題だろう。こんな頭の悪い奴はプログラムするなと俺は思う。
656デフォルトの名無しさん
2019/01/24(木) 17:52:28.54ID:Ay2CLdQj657デフォルトの名無しさん
2019/01/24(木) 18:00:27.00ID:A3Pe4Ldy VB6で作ったADOを使ってデータベースからエクセルシート名をComboBoxに入れるソフトがあって、それをwindows10で動かすとエラーで止まるんだけど原因分かりますか?
シート名が一文字の時だけエラーが出るのは分かったけど何か理由だと思いますか?
シート名が一文字の時だけエラーが出るのは分かったけど何か理由だと思いますか?
658デフォルトの名無しさん
2019/01/24(木) 18:15:16.93ID:pEQDGUsa >>657
ここが何のスレだかわかってるか、馬鹿
ここが何のスレだかわかってるか、馬鹿
659デフォルトの名無しさん
2019/01/24(木) 18:58:14.37ID:5lzQ1hz1 >>640
その日付でアドバンスフィルタ。
検索する側の日付と、検索される側の日付は、
何型でもいいから統一する。
LeftやMidと"/"を組み合わせとか、
Format(日付, "yyyy/mm/dd")とか適当に。
その日付でアドバンスフィルタ。
検索する側の日付と、検索される側の日付は、
何型でもいいから統一する。
LeftやMidと"/"を組み合わせとか、
Format(日付, "yyyy/mm/dd")とか適当に。
660デフォルトの名無しさん
2019/01/24(木) 19:06:26.31ID:5lzQ1hz1 アドバンスフィルタが何なのかわからなかったら、
フィルタオプションの設定の使い方を覚えて、
マクロの自動記録をするといい。
ちなみに、ループより激速だから。
フィルタオプションの設定の使い方を覚えて、
マクロの自動記録をするといい。
ちなみに、ループより激速だから。
661デフォルトの名無しさん
2019/01/24(木) 19:32:10.91ID:fZR3dOZW >>640-642
Ruby で作った
# 各行は空白で区切った、3列の配列。
# 全行は各行の配列、つまり配列の配列
all_rows = File.readlines( "input.txt" ).map( &:split )
# row[ 2 ]、金額が最大数値の行を求める
p max_row = all_rows.sort_by { |row| row[ 2 ].to_i }.last
# 全行からrow[ 0 ]、同じ日付の行だけを集める
p all_rows.select { |row| row[ 0 ] == max_row[ 0 ] }
Ruby で作った
# 各行は空白で区切った、3列の配列。
# 全行は各行の配列、つまり配列の配列
all_rows = File.readlines( "input.txt" ).map( &:split )
# row[ 2 ]、金額が最大数値の行を求める
p max_row = all_rows.sort_by { |row| row[ 2 ].to_i }.last
# 全行からrow[ 0 ]、同じ日付の行だけを集める
p all_rows.select { |row| row[ 0 ] == max_row[ 0 ] }
662デフォルトの名無しさん
2019/01/24(木) 21:13:39.94ID:52bEuJTy >>661
ここが何のスレだかわかってるか、馬鹿
ここが何のスレだかわかってるか、馬鹿
663661
2019/01/24(木) 21:19:22.76ID:fZR3dOZW >>661
修正
# row[ 2 ]、金額が最大数値の行を求める
>p max_row = all_rows.sort_by { |row| row[ 2 ].to_i }.last
p max_row = all_rows.sort_by { |row| row[ 2 ].to_i * -1 }.first
last だと、最後まで配列を作ってしまう。
一方、first では最初の1つだけを求めるから、速い
修正
# row[ 2 ]、金額が最大数値の行を求める
>p max_row = all_rows.sort_by { |row| row[ 2 ].to_i }.last
p max_row = all_rows.sort_by { |row| row[ 2 ].to_i * -1 }.first
last だと、最後まで配列を作ってしまう。
一方、first では最初の1つだけを求めるから、速い
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化 過去10年間に使用のメールアドレスや電話番号等も [Hitzeschleier★]
- 【中国外務省】日本への渡航自粛を再度呼びかけ 今度は「地震発生」を理由に [ぐれ★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性に共通点が★3 [Hitzeschleier★]
- 【おこめ】「有能だったんじゃ」おこめ券で批判殺到の鈴木農水大臣…ネットでは前任の“進次郎再評価” [ぐれ★]
- 【芸能】デパートで見つけたランドセルが衝撃価格! つまみ枝豆「どこかで規制しないと」に共感の声殺到 「全て同感」「高すぎます」★2 [冬月記者★]
- 【速報】年収の壁の自民案判明、26年は168万円 [蚤の市★]
- 日本人、世界で最もブランドに興味なし🇯🇵 [462275543]
- なぜ、ネトウヨはアメリカ含む西側とイスラエルを倒した朕に逆らってくるのじゃ? [805596214]
- 【悲報】鈴木農水大臣、国民から「こいつひょっとしてアホなんじゃね?」と思われ始めてしまうwww [793117252]
- 【高市速報】 防衛省公式X、このタイミングで日本の防衛兵器や攻撃ミサイルを動画で宣伝wwww [197015205]
- 【悲報】たぬかなが渡邊渚を壮絶バッシング 「グラビア出したあたりから臭いな~と思ってたが激臭になってたわ。中居は悪くない」 [455031798]
- 自閉症児の父親「中絶しておけば良かった。 家族が欲しかったのに、手に入れたのは人間たまごっち」 [777114754]
