[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 12/05 07:16 / Filesize : 254 KB / Number-of Response : 1006
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part69



1 名前:デフォルトの名無しさん mailto:sage [2020/12/13(日) 00:22:23.67 ID:Fd224klc0.net]
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける

ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK

※前スレ
Excel VBA 質問スレ Part68
https://mevius.5ch.net/test/read.cgi/tech/1598756127/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

855 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 11:59:04.12 ID:ub+dBY/l0.net]
>>848
何でセーブする前にEXCELのアプリケーション閉じようとしてるの?

856 名前:848 mailto:sage [2021/03/08(月) 12:04:00.24 ID:TrYviUKj0.net]
>>851
>>852

ダメでした。
ほかのファイルでは問題なくExcelが終了するのですが
Private Sub Workbook_BeforeClose(Cancel As Boolean)
を使うマクロのときだけ、閉じなくなるような気がします。関係ありますかね?

857 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 12:23:48.80 ID:Qtlmv4rK0.net]
>>853

858 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 12:30:21.22 ID:ub+dBY/l0.net]
わざわざセーブメッセージ叩き潰して
ブック捕まえたまんまにして
アプリケーション閉じようとしてるんだから
わざと閉じられないようにしているようにしか見えない

859 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 12:44:18.76 ID:Qtlmv4rK0.net]
savechangesでも無限ループしてそう

860 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 12:56:18.62 ID:vFSNvomr0.net]
>>854
BeforeCloseにApplication.Quit記述してイミディエイトからThisWorkbook.Closeを実行してみたけど問題なく閉じたから何か別の物が干渉してる可能性があるかなぁ

861 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 13:04:41.43 ID:9xs5g46P0.net]
めっちゃ古いバージョンとかじゃないだろうな

862 名前:848 mailto:sage [2021/03/08(月) 13:32:58.59 ID:TrYviUKj0.net]
>>855
当初はこれでしたが、ググったら、Application.Quitを上に書くらしいです

ThisWorkbook.Close savechanges:=True
Application.Quit

>>856
Application.Quit
ThisWorkbook.Close savechanges:=True
だけでも同じでした

>>857
他に保存する方法を教えてください

>>858
自分でも試してみましたが、確かにちゃんと閉じますね。他の干渉を疑ってみます。

>>859
2019です

863 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 13:49:36.30 ID:9xs5g46P0.net]
Application.EnableEvents = true
を頭に付けてみるとか



864 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 18:00:51.59 ID:+0kCYoNG0.net]
そこでやるべきことは ThisWorkbook.Save だけだと思うんだが

865 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 18:30:55.70 ID:bSh0ioyn0.net]
コマンドプロンプトでtaskkill /f /im excel.exe

866 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 19:53:15.72 ID:Awv++sSE0.net]
Quitは最後では
変なExcelプロセスが残ってないか確認した方がいいのでは

867 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 21:03:57.98 ID:53ng3r6C0.net]
VBEでVBAを使って出来たものがマクロであってる?
本屋にVBAの本とマクロの本があるけど同じことと思っておk?

868 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 21:12:54.65 ID:ub+dBY/l0.net]
>>865
半分正解

869 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 21:17:42.97 ID:ub+dBY/l0.net]
「VBEで作ったものはマクロ」
これは合ってる
「VBAとマクロは同じことを言っている」
マクロにはVBAtで作られたもの以外に
4.0マクロと言うものが有ってだな・・・
まぁ、あまり気にしなくても良いかもしんないけど

870 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 21:34:20.02 ID:B96zl28N0.net]
マクロ
スクリプト
関数
これらはプログラムのひとかたまり
厳密に区別しずらいけどそれぞれ
ニュアンスの違いはある

871 名前:デフォルトの名無しさん [2021/03/08(月) 21:58:36.85 ID:U/cFdqiVM.net]
>>865
VBEはエディタ。Excelの場合はVBAとマクロは同じ意味で使われる。ExcelマクロがExcel VBAのコードで表現されるため。

872 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 22:10:13.99 ID:Awv++sSE0.net]
>>867
なんかいろいろ違うぞ

873 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 22:16:46.29 ID:Dj6nESKZ0.net]
関数は全然違うだろwww



874 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 22:42:26.89 ID:53ng3r6C0.net]
>>866
まだ表紙なのに理解半分かw

>>867
4.0マクロネットで見て使ったこと1回だけあるけど関数みたいなやつだった記憶。

>>868
スクリプトも便利そうですよね。
デスクトップかっこ良くするフリーソフトに自由にスクリプト使えますって書いてあって挫折した。。

>>869
出来たもんがマクロでVBAが設計図でVBEが紙と鉛筆か。

みんなありがと、ネットにも解説サイトあるけど違うとこ見ちゃうから本買ってくるわ。ノシ

875 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 23:14:12.98 ID:u4CRr3CF0.net]
そういえばvbaをjsで書ける世界まだなんだっけ?
gasみたいな感じで書けないかな

876 名前:デフォルトの名無しさん mailto:sage [2021/03/08(月) 23:18:26.32 ID:hUWITx/G0.net]
WScriptのJScriptでExcel使えるだろ

877 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 00:19:47.43 ID:fLnH8jKyM.net]
>>873
>>834

878 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 02:53:50.15 ID:uNAjD4zcH.net]
微妙に違う気がするなあ
VBAはプログラミング言語の名前(の略称)。単語と文法が書いてあるだけの辞書みたいなもん
その言語で書かれた物がマクロで、むしろ設計図はこっちが近い
VBEはマクロの作成を手助けするツール、紙と鉛筆って考え方はだいたい合ってる
で、マクロの中でも結果を一組だけ呼び出し元に返すように作られてるのが関数

879 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 05:15:21.29 ID:suvlK62N0.net]
機能とワークシート関数とか全くわからん
操作なんてVBAで良いじゃん
周りでもそういった人いるしさ

880 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 08:22:35.06 ID:zXQo4RJq0.net]
本来、Excelの操作の自動化を目的にしたVBAマクロなのに元の機能そのものが全く分からんとか本末転倒にも程がある

881 名前:デフォルトの名無しさん [2021/03/09(火) 10:45:46.13 ID:pnwu5thka.net]
作成依頼です

一定範囲内において、選択されたセルすべてに、書式設定で取り消し線を付けたいです

たとえば、D5からD20の範囲内で、そこ以外の範囲が選択されていた場合はエラーを返す
範囲内なら、選択されたセル(単一、複数、飛び石あり)すべてに、一括で取り消し線を追加
というような感じです

飛び石状態で複数が選択された場合に、上手く処理できなくて相談させていただきました
よろしくお願い致します

882 名前:デフォルトの名無しさん [2021/03/09(火) 11:04:35.36 ID:oV9GYLDS0.net]
>>879
そんな仕様のものを作ってはいけない

883 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 11:21:48.31 ID:Nc9tdWjH0.net]
>>879
選択範囲をまとめて見るんじゃなくて、選択されたセル一つ一つについて既定の範囲内にあるか条件判断をし、エラーかそうでないか
エラーでなく全てのセルが範囲内なら一つ一つのセルに取り消し線を追加
とすれば普通にできるでしょ
横着しようとしてるからいけないんじゃないの



884 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 11:25:30.81 ID:uNAjD4zcH.net]
VBEは赤ペン先生?全部じゃないけど間違いをすぐ教えてくれる

885 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 11:58:31.47 ID:zYh1VL3E0.net]
>>879
お金ください

886 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 12:03:56.11 ID:uNAjD4zcH.net]
>>879
For Eachでセルを1個ずつ処理するんだよ

For Each、セルアドレスチェック、1つでもD5-D20じゃなかったらエラー
エラーがなかったらもう一度For Each、各セルに取り消し線

みたいな流れ

887 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 12:09:52.12 ID:4S2gbixUa.net]
ピボットグラフのスライサー内の選択を変えた時にマクロが動くようにしたいです
イメージ的にはワークシートイベントです
例︰スライサーの日付を変更時にグラフの色を塗る

選択変更の検知方法を教えてください
よろしくお願いします

888 名前:デフォルトの名無しさん [2021/03/09(火) 12:25:42.94 ID:t7O7P6i9M.net]
外枠なら面倒だけど取り消し線なら簡単だ

889 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 12:38:26.95 ID:uNAjD4zcH.net]
外枠でも大差ないと思う
Selectionの上下左右に罫線を引くだけ

890 名前:デフォルトの名無しさん [2021/03/09(火) 12:43:13.10 ID:pnwu5thka.net]
>>881
>>884
なるほど、これなら自分でできそうです
ありがとうございました

891 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 13:03:57.82 ID:C5e26MY+0.net]
いえいえ、自分でもっと勉強してくださいね

892 名前:デフォルトの名無しさん mailto:sage [2021/03/09(火) 16:16:21.91 ID:1va3W7Si0.net]
>>879
If Intersect(Selection, Range("D5:D20")).Count <> Selection.Count Then
MsgBox "エラー"
Else
Selection.Font.Strikethrough = True
End If

893 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 00:11:15.88 ID:seJ5KfaI0.net]
だってさ、先輩がExcelなんか全部マクロで動かせば良いって言われたからさ。。。
ワークシートの関数とかそんなもん覚えなくて良いと言われたからさ。
だからVBAしか知らない。
今凄く関数とか機能を覚えるために苦労してる。



894 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 02:20:07.32 ID:Mh5oeh7J0.net]
>>891
無理してやる必要ないのに、何のために覚えるの?

895 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 07:58:05.94 ID:seJ5KfaI0.net]
>>892
マクロだけでは遠回りだと気づいて

896 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 08:18:24.93 ID:afuwFvM40.net]
vlookupはなんであんな変なインターフェースなんですか

897 名前:デフォルトの名無しさん [2021/03/10(水) 09:29:52.26 ID:AjUIRLk9M.net]
ポーカーフェイスですよ

898 名前:デフォルトの名無しさん [2021/03/10(水) 10:14:53.26 ID:B52MA1yl0.net]
>>894
古いから

899 名前:デフォルトの名無しさん [2021/03/10(水) 14:59:19.94 ID:hxdj8Ixba.net]
screenupdapingを非表示にした状態でcalculationを自動にしたら、ちゃんと計算やってくれますか?

900 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 15:30:04.25 ID:PHH+vFRc0.net]
>>897
自分でやってみりゃいいじゃん

901 名前:デフォルトの名無しさん [2021/03/10(水) 15:39:38.02 ID:hxdj8Ixba.net]
>>898
updatingが表示になったときに計算されるのか、非表示中に計算されてるのかがわからないのです。

902 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 15:43:34.11 ID:TvaGnuXK0.net]
ExcelからVBAが完全になくなるより先にMSが先になくなりそうじゃない?

903 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 15:57:24.48 ID:kPBSipVT0.net]
MSがなくなるより先にお前がなくなるんじゃない



904 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 17:04:34.10 ID:ij0IDF+ed.net]
その前にIT途上企業のウチの会社がなくなるな

905 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 17:25:36.32 ID:PHH+vFRc0.net]
>>899
対象セルのvalue値を処理中に
debug.printで書き出すなり
どこかのセルに突っ込むなり
トレースして確認するなりすればいいじゃん
まず聞く前にググる癖をつけないと
いつまで経っても誰かに聞かないと
何も出来なくなるよ

906 名前:デフォルトの名無しさん [2021/03/10(水) 17:37:30.93 ID:hxdj8Ixba.net]
>>903
わかりました。てか式の値見ればすぐわかりますね。やってみます

907 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 18:13:57.59 ID:osSCK/tE0.net]
今日水曜日なのにweekdayName(weekday(Date))で木曜日と出るのは仕様?

Dateは2021/03/10
weekday(Date)は4
と出ることは確認済み
weekdayとweekdayNameで週始めを日曜とするか月曜とするかで差が出てるんだろうからweekdaynameをvbSundayにすることで解決はするけど、何かが原因でここに違いが出てるなら修正したいので仕様かどうか知りたい

908 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 19:31:18.15 ID:WhcyA+8r0.net]
仕様ではない

909 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 19:41:43.99 ID:iMortp6N0.net]
Weekdayの規定値がvbSundayで、WeekdayNameの規定値がvbUseSystemDayOfWeek。
どっちかに合わせた方がいいと思う。

910 名前:デフォルトの名無しさん mailto:sage [2021/03/10(水) 20:15:11.47 ID:FQxPGFWfa.net]
やっぱり>>885の方法はないですかね
諦めてマクロボタンで更新します
ありがとうございました

911 名前:デフォルトの名無しさん mailto:sage [2021/03/11(木) 16:08:09.65 ID:2F7MZ2cN0.net]
>>907
なるほど、自分のwindowsカレンダーの開始日が月曜になってるからなのか
なんで既定値が違うんだろうという疑問は残りつつも納得、ありがとうございました

912 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 14:18:56.93 ID:cUuyzc0G0.net]
VBA学ぶのにお勧めの本ありますか?

913 名前:デフォルトの名無しさん [2021/03/12(金) 14:22:39.95 ID:b9Kr93A50.net]
>>910
MOSの本



914 名前:デフォルトの名無しさん [2021/03/12(金) 14:25:27.81 ID:b9Kr93A50.net]
正確にはVBAエキスパートか。

見過されがちだけど、試験対策本は非常によくまとまっている。

915 名前:デフォルトの名無しさん [2021/03/12(金) 17:44:33.68 ID:UcsTGFzQM.net]
買う前に周辺の図書館を回れば、vba本が見つかるかもしれない

916 名前:デフォルトの名無しさん [2021/03/12(金) 19:23:46.81 ID:7Crflr6rM.net]
金額の話なのか?

917 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 19:31:10.39 ID:f8Q6HjqoM.net]
650頁を超える「Excel VBA逆引き辞典パーフェクト」を最初から通して読む

918 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 23:07:31.55 ID:NBdc6r9a0.net]
VBの、何かあの電話帳より分厚いの有るじゃん
叩かれると85ポイントくらいダメージを受けそうな感じのアレ
マジレスすると、あれで勉強したわ

919 名前:デフォルトの名無しさん mailto:sage [2021/03/12(金) 23:38:50.44 ID:sGQx1lBf0.net]
>>894
XLookupを使いなさい

920 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 02:37:38.41 ID:5xXr3I9d0.net]
まじレスすると他人のおすすめの本は買っただけで満足して読まない可能性が高い

921 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 07:57:23.36 ID:slDJWJ280.net]
>>910
出来るだけ薄い奴がいいよ
少なくとも一週間で読み切れそうな奴
細かい部分は結局ググる事になるから手っ取り早く基礎だけ学べるのがいい

プログラミングの勉強は書き方を学ぶというより、
「ググる方法、ググって出てきた内容を理解できる最低限の知識」を身に着ける方に重きを置いた方がいい

922 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 08:14:07.47 ID:csBuBYNL0.net]
>>910
現在の知識レベルによって薦める本は変わってくるけどなーんも知らないと言うのならVBAの絵本でいいんじゃなかろか

>>919の人も言ってるけど基本、ネットで調べることになるんでどちらかというと
自分が知りたいことを調べられる単語をすぐに思い浮かべる力と
それを理解する力の方が自分的には重要な気がする
後、理解出来なければ取り敢えず書いてみてこねくり回すことも大事

本当に基本的なことさえ分かっていれば、
その内クラスやAPI、コールバックとかにぶつかることがあってもネットで調べることが出来れば
自分が然るべき理解力をつけた際に理解出来るようになる。

923 名前:デフォルトの名無しさん [2021/03/13(土) 08:17:01.13 ID:tBGlpruK0.net]
メルカリなどでたくさん買って、好きなのを使えばいいよ。



924 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 11:51:20.74 ID:9LAtgmD40.net]
>>910
VBAの神様

925 名前:デフォルトの名無しさん [2021/03/13(土) 14:55:26.89 ID:4/YYKqK7F.net]
Excel VBAは自己流が多いと思うけど、体系的に学習するならマイクロソフトのVBAエキスパート本だろうな。

926 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 21:38:13.19 ID:99ipLDsT0.net]
小手先のテクニックより
複雑怪奇なExcelの挙動の中身がどうなってんのか
詳細に説明してほしいわ

謎挙動がおおすぎる

927 名前:デフォルトの名無しさん mailto:sage [2021/03/13(土) 21:57:08.91 ID:7fDCnZwF0.net]
具体的には?

928 名前:デフォルトの名無しさん [2021/03/13(土) 22:05:26.89 ID:tBGlpruK0.net]
>>924
あまり使われていないVBAの機能を使うとすぐにバグにはまる。

929 名前:デフォルトの名無しさん [2021/03/13(土) 22:07:49.91 ID:tBGlpruK0.net]
ActiveXのボタンが消えるバグなどは放置状態

930 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 01:08:53.96 ID:EQ7/9AB00.net]
vbの構文がダサすぎるのが嫌
綺麗に書いても汚らしく見える Dim asとかキモいんだよ

931 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 02:39:44.98 ID:QAEhurjz0.net]
VBAのコードのフォントを HGP行書体 (日本語) とかにしてみたら?

932 名前:デフォルトの名無しさん mailto:sage [2021/03/14(日) 03:51:24.74 ID:+mKOZ3nE0.net]
ACCESSのレポートではかけたのですが
VBAで規定の先よりも細い線を書くことはできませんか?

933 名前:デフォルトの名無しさん mailto:sage [2021/03/15(月) 06:39:33.91 ID:6QvkQitw0.net]
コントロールのボタンが押す度徐々に小さくなったり消えたり動き回ったり
配列返す関数をUboundに渡すとメモリリークしたり、
フォームをモーダル表示中にシートをアクティブにすると何故かシートを操作できたり、
インターフェースを実装するクラス自体をインターフェースに出来てしまう上に、それをするとバグったり、
いくらでも上げられるだろ

特にフィルタ関連は変なのが多い
specialcells(xlcelltypevisible)とかcopyメソッドとか



934 名前:デフォルトの名無しさん [2021/03/16(火) 14:07:15.77 ID:yEkj4Jws0.net]
作成依頼なんですがお願いできますでしょうか

A列に数字(No.)
B列に文字列(名前)の3000行ほどの表があります。
A列の数字は重複している箇所があり、
A列が他の行と重複している場合B列の文字を全て繋げてC列に書き出したいのですが可能でしょうか。

サンプル
A列  B列 C列
11111 A子 A子
11112 B子 B子
11113 C子 C子・D子・E子
11113 D子 C子・D子・E子
11113 E子 C子・D子・E子
11114 F子 F子
11114 F子 F子
11115 E子 E子

ただし、サンプルのように
A列が重複してもB列の文字列が同じだった場合は『F子・F子』とならずに『F子』のままで、
重複しないA子、B子もそのままにしたいのです。
Aが列の数字は最大で20ほど重複している場合があります。

ずっと手作業でやってて挫けそうなんでお願いします!!

935 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 14:24:36.41 ID:gGJzxP62H.net]
>>932
Sub Macro1()
  rr = Cells(Rows.Count, 1).End(xlUp).Row
  For i = 1 To rr
    n = Cells(i, 1)

936 名前:
    s = Cells(i, 2)
    t = s & "・"
    For j = 1 To i - 1
      If Cells(j, 1) = n Then
        w = Cells(j, 2)
        If InStr(t, w) = 0 Then
          t = t & w & "・"
        End If
      End If
    Next
    t = t & s & "・"
    For j = i + 1 To rr
      If Cells(j, 1) = n Then
        w = Cells(j, 2)
        If InStr(t, w) = 0 Then
          t = t & w & "・"
        End If
      End If
    Next
    t = Left(t, Len(t) - 1)
    t = Right(t, Len(t) - 1 - Len(s))
    Cells(i, 3) = t
  Next
End Sub
[]
[ここ壊れてます]

937 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 15:29:08.70 ID:yEkj4Jws0.net]
>>933
どひゃ〜!!!!
しゅ、しゅごいぃいいい!
ありがとうございます!ありがとうございます!本当にありがとう!

938 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 15:59:46.67 ID:cZC9o7Y5M.net]
それ、例えば百合さんと百合子さんがいた時にバグらない?
こういうのは辞書に登録してitemsプロパティをjoin関数に渡すのが鉄板だと思う

最近ならvba使わずにfilter関数とunique関数でも同じことできるから、もしかしたらこっちの方が楽かも

939 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 15:59:47.11 ID:btbyDUmHr.net]
>>933
きったねえソースだなおい

940 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 16:01:05.39 ID:YCs8uHit0.net]
お、きれいなソース期待かw

941 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 16:15:55.00 ID:gGJzxP62H.net]
百合・百合子バグ修正
Sub Macro1()
  rr = Cells(Rows.Count, 1).End(xlUp).Row
  For r = 1 To rr
    n = Cells(r, 1)
    s = Cells(r, 2)
    t = "・" & s & "・"
    For i = 1 To r - 1
      If Cells(i, 1) = n Then
        w = Cells(i, 2)
        If InStr(t, "・" & w & "・") = 0 Then
          t = t & w & "・"
        End If
      End If
    Next
    t = t & s & "・"
    For i = r + 1 To rr
      If Cells(i, 1) = n Then
        w = Cells(i, 2)
        If InStr(t, "・" & w & "・") = 0 Then
          t = t & w & "・"
        End If
      End If
    Next
    t = Left(t, Len(t) - 1)
    t = Right(t, Len(t) - Len(s) - 2)
    Cells(r, 3) = t
  Next
End Sub

942 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 16:53:04.48 ID:cZC9o7Y5M.net]
百合さんと百合・D・ルフィさんがいた時にバグる

943 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 17:22:11.94 ID:gGJzxP62H.net]
百合・D・ルフィバグ修正
Sub Macro2()
  Dim d As Object
  Set d = CreateObject("Scripting.Dictionary")
  rr = Cells(Rows.Count, 1).End(xlUp).Row
  For r = 1 To rr
    For i = 1 To rr
      If Cells(i, 1) = Cells(r, 1) Then
        s = Cells(i, 2)
        If Not d.exists(s) Then d.Add (s), 0
      End If
    Next
    Cells(r, 3) = Join(d.keys, "・")
    d.RemoveAll
  Next
End Sub



944 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 17:31:00.58 ID:tUVUKdZi0.net]
>>932
Ruby で、CSV ファイルでやってみた

require 'csv'

tmp_hash = { }

result_ary = CSV.read( "input.csv" ) # 2次元配列

result_ary.each do | row | # 1行ずつ処理する
if tmp_hash.has_key? row[ 0 ] # 既に、その数字が存在すれば
# 文字列が存在しない時だけ、その文字列を追加する
tmp_hash[ row[ 0 ] ][ row[ 1 ] ] = true unless
tmp_hash[ row[ 0 ] ].has_key? row[ 1 ]
else
tmp_hash[ row[ 0 ] ] = { row[ 1 ] => true }
end
end

# p tmp_hash
# {"11111"=>{"A子"=>true}, "11112"=>{"B子"=>true},
# "11113"=>{"C子"=>true, "D子"=>true, "E子"=>true},
# "11114"=>{"F子"=>true}, "11115"=>{"E子"=>true}}

result_ary.each do | row | # 1行ずつ処理する
# その行の3列目に、キーを結合した文字列を追加する
row.push tmp_hash[ row[ 0 ] ].keys.join( "・" )
end

csv_str = result_ary.map( &:to_csv ).join # 2次元配列を、CSV 文字列に変換する
print csv_str

945 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 17:41:01.13 ID:QPeaG/4LM.net]
何故突然にRuby?

946 名前:932 mailto:sage [2021/03/16(火) 18:32:29.43 ID:yEkj4Jws0.net]
>>940
度々ありがとうございます!
最初ヤツでも今の所大丈夫そうでしたが、今後はこちらを使わせていただきます!

他の方もありがとうございます!

947 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 19:02:04.81 ID:EUyNpk5n0.net]
>>942
rubyスレだと相手にもされないからわざわざ違うスレに来てるかわいそうな人だよ

948 名前:デフォルトの名無しさん [2021/03/16(火) 21:06:28.11 ID:8Gn4pDRu0.net]
名前の例が○子とは、そうとうなジイさんだなw

949 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 21:12:32.28 ID:gGJzxP62H.net]
>>945
現代だとどう書くの?
ランキングによると結が人気あるらしいから結A、結B、結Cか

950 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 21:15:14.58 ID:lullOsMB0.net]
そら「百合(ろーず)」よ

951 名前:デフォルトの名無しさん [2021/03/16(火) 21:28:58.74 ID:8Gn4pDRu0.net]
>>946
なんで女なのか?

952 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 21:42:16.30 ID:gGJzxP62H.net]
そんなこと言ったら、なぜ日本人なのか、なぜ人類なのか

953 名前:デフォルトの名無しさん [2021/03/16(火) 21:51:49.14 ID:8Gn4pDRu0.net]
太郎、次郎、三郎、四郎、五郎でいいだろ。



954 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 21:55:45.14 ID:YCs8uHit0.net]
なんで男なのか?

955 名前:デフォルトの名無しさん mailto:sage [2021/03/16(火) 22:05:23.00 ID:gGJzxP62H.net]
3000行もあるのに、それじゃ考えるのが大変だ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<254KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef