!extend:checked:vvvvv:1000:512
スレ立ての際は一行目に
!extend:checked:vvvvv:1000:512
と入れてスレ立てして下さい
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part47 [無断転載禁止]©2ch.net
http://echo.2ch.net/test/read.cgi/tech/1489557874/
※関連スレ
VBAなんでも質問スレ Part2
http://echo.2ch.net/test/read.cgi/tech/1432173164/
Access VBA 質問スレ Part1
http://echo.2ch.net/test/read.cgi/tech/1328536426/
Excel総合相談所 125
http://echo.2ch.net/test/read.cgi/bsoft/1481369538/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
Excel VBA 質問スレ Part48 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん 転載ダメ©2ch.net (ワッチョイ 6f8e-Fc1g)
2017/05/16(火) 08:24:45.78ID:iIGA/64l0358デフォルトの名無しさん (ワッチョイ fbf3-w2wH)
2017/05/30(火) 13:14:12.67ID:1+UI8ryZ0 >>356
正確に言い過ぎると微妙な案件だと思って濁し気味なのですが、貰っているデータというのは
プロ野球のデータ提供サービスのBISと言われるデータ提供会社のcsvで
『自分』というのは自分の会社で使っている野球中継用のソフトとなります。
(野球中継用のソフトもcsvでデータを賄っているのですが、当然フォーマットが違うので
貰ったデータをもとに普段は手入力しています。)
>>357
確かに膨大というのはSEさん達からしたら笑ってしまうレベルの数なのでしょうが
限られた時間(集合時間から試合開始までの時間)で手入力で間違いなく必要項目を入力するという問題なので
プログラムにまかせて一括変換できるのなら、間違いも少ないでしょうし、オペレーターの習熟度に左右されずに仕事につかせやすいので、
非常に有益な事だと思ったのです。
本来なら仕様を出して、プログラム作ってもらえば済むことなのかもしれませんが
自分の所で使っている野球ソフトも仕様変更でcsvの項目順番とかずれる可能性もありますし、
提供してもらっているデータも仕様変更とかで順番ずれたりした時に毎回発注とかしたくないので
急ぎではないし自分で作れる様になりたいなと思って相談させてもらいました。
正確に言い過ぎると微妙な案件だと思って濁し気味なのですが、貰っているデータというのは
プロ野球のデータ提供サービスのBISと言われるデータ提供会社のcsvで
『自分』というのは自分の会社で使っている野球中継用のソフトとなります。
(野球中継用のソフトもcsvでデータを賄っているのですが、当然フォーマットが違うので
貰ったデータをもとに普段は手入力しています。)
>>357
確かに膨大というのはSEさん達からしたら笑ってしまうレベルの数なのでしょうが
限られた時間(集合時間から試合開始までの時間)で手入力で間違いなく必要項目を入力するという問題なので
プログラムにまかせて一括変換できるのなら、間違いも少ないでしょうし、オペレーターの習熟度に左右されずに仕事につかせやすいので、
非常に有益な事だと思ったのです。
本来なら仕様を出して、プログラム作ってもらえば済むことなのかもしれませんが
自分の所で使っている野球ソフトも仕様変更でcsvの項目順番とかずれる可能性もありますし、
提供してもらっているデータも仕様変更とかで順番ずれたりした時に毎回発注とかしたくないので
急ぎではないし自分で作れる様になりたいなと思って相談させてもらいました。
359デフォルトの名無しさん (ワッチョイ 0b92-9J/J)
2017/05/30(火) 13:29:23.00ID:06zvEzNR0 必要なデータ抽出して、並び替えて、別ソフト用のCSVに変換するってことかな?
エクセルでもできるだろうけど、自分ならC#かPowerShellでつくるな
エクセルを介す必要性がないからわざわざ使いにくくてめんどくさいVBAでやることもない
初心者にはちょうどいいお題だと思うからプログラム作ってみたらいいと思うよ
エクセルでもできるだろうけど、自分ならC#かPowerShellでつくるな
エクセルを介す必要性がないからわざわざ使いにくくてめんどくさいVBAでやることもない
初心者にはちょうどいいお題だと思うからプログラム作ってみたらいいと思うよ
360デフォルトの名無しさん (オイコラミネオ MM7f-Uhxf)
2017/05/30(火) 13:57:11.50ID:C+7xWm9cM どなたか助けてください
ブック内の約200シートを全て個別のcsvファイルに保存したいのですが、
うまくいきません。
エクセルファイルと同じフォルダにシート名+".csv"という名前の
CSVファイルを作成することが条件です。
ググって
下記は出てくるのですが、実行してもエラーが出てしまい
CSVにはき出すことが出来ません。
(こちらの環境がMacだからなのでしょうか?)
どこを修正すれば正しく、csvにはき出せるかご教示ください!
Sub SaveCsv()
Dim mySheet As Worksheet
For Each mySheet In ActiveWindow.SelectedSheets
ActiveWorkbook.SaveAs Filename:= _
ActiveWorkbook.Path & "¥" & mySheet.Name & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
Next
End Sub
エラー文
実行時エラー '1004':
'Sheet183.csv' にアクセスできません。
ブック内の約200シートを全て個別のcsvファイルに保存したいのですが、
うまくいきません。
エクセルファイルと同じフォルダにシート名+".csv"という名前の
CSVファイルを作成することが条件です。
ググって
下記は出てくるのですが、実行してもエラーが出てしまい
CSVにはき出すことが出来ません。
(こちらの環境がMacだからなのでしょうか?)
どこを修正すれば正しく、csvにはき出せるかご教示ください!
Sub SaveCsv()
Dim mySheet As Worksheet
For Each mySheet In ActiveWindow.SelectedSheets
ActiveWorkbook.SaveAs Filename:= _
ActiveWorkbook.Path & "¥" & mySheet.Name & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
Next
End Sub
エラー文
実行時エラー '1004':
'Sheet183.csv' にアクセスできません。
361デフォルトの名無しさん (JP 0H7f-/6qz)
2017/05/30(火) 14:01:00.02ID:YF+PwbQtH362デフォルトの名無しさん (オイコラミネオ MM7f-Uhxf)
2017/05/30(火) 14:21:24.38ID:C+7xWm9cM363デフォルトの名無しさん (ワッチョイ fb4c-lYDY)
2017/05/30(火) 14:27:48.25ID:1szQs/d90 >>358
AccessなりSQL Serverなりのデータベースソフトでcsvのインポートを試行錯誤してみればすぐに出来るようになる。
AccessなりSQL Serverなりのデータベースソフトでcsvのインポートを試行錯誤してみればすぐに出来るようになる。
364デフォルトの名無しさん (JP 0H7f-/6qz)
2017/05/30(火) 14:43:31.52ID:YF+PwbQtH >>362
SaveAs行の前に、mySheet.Selectを追加してみて
SaveAs行の前に、mySheet.Selectを追加してみて
365デフォルトの名無しさん (オイコラミネオ MM7f-Uhxf)
2017/05/30(火) 14:53:27.61ID:C+7xWm9cM366デフォルトの名無しさん (ワッチョイ 9fd4-Kfqe)
2017/05/30(火) 15:14:30.20ID:EOieG+pf0 >>355
perl PHP 辺りが簡単だし便利なモジュールも沢山ある
perl PHP 辺りが簡単だし便利なモジュールも沢山ある
367デフォルトの名無しさん (ワッチョイ 9fd4-Kfqe)
2017/05/30(火) 15:19:43.12ID:EOieG+pf0368デフォルトの名無しさん (JP 0H7f-/6qz)
2017/05/30(火) 15:35:45.48ID:YF+PwbQtH >>365
Excelのバグですかね。
Excelのバグですかね。
369デフォルトの名無しさん (ワッチョイ 9fa8-lYDY)
2017/05/30(火) 15:40:39.49ID:oatsCbfo0 単なる当てずっぽうでCSVファイル作成前に同名のcsvファイルが既にあるんならそれを消すなりリネームするなりしてるか?
370デフォルトの名無しさん (ワッチョイ bb0a-ZQjI)
2017/05/30(火) 15:44:54.03ID:fdB84jON0 数MB程度のテキストデータならピボットでいいと思うが
371355 (ワッチョイ fbf3-w2wH)
2017/05/30(火) 16:21:56.98ID:1+UI8ryZ0 みなさん沢山のアドバイスありがとうございます。
言語的にはどれとってもほぼ確実にできるけど、道が沢山ありすぎる状態なんですね。
関数電卓のBASIC程度しかかじっていない軟弱な頭にはどれがとっかかりやすいモノなんでしょうか・・・
言語的にはどれとってもほぼ確実にできるけど、道が沢山ありすぎる状態なんですね。
関数電卓のBASIC程度しかかじっていない軟弱な頭にはどれがとっかかりやすいモノなんでしょうか・・・
372デフォルトの名無しさん (オイコラミネオ MM7f-Uhxf)
2017/05/30(火) 16:40:48.70ID:C+7xWm9cM >>369
空フォルダなのでファイルは存在してないんですよね、、、
空フォルダなのでファイルは存在してないんですよね、、、
373デフォルトの名無しさん (JP 0H7f-/6qz)
2017/05/30(火) 18:10:35.56ID:YF+PwbQtH374デフォルトの名無しさん (ワッチョイ ef8e-9J/J)
2017/05/30(火) 19:06:30.89ID:q6a+ppT10 >>360
ぐぐるんじゃなく自分で作れるようになると楽だよ
Sub foo()
Application.DisplayAlerts = False
For Each シート In ThisWorkbook.Worksheets
シート.Activate
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & シート.Name & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
Next
Application.DisplayAlerts = True
End Sub
>>371
エクセル+vbaがいい
諦めなければ絶対に完成する。諦めるな
わからなくなったらいつでもおいで
ぐぐるんじゃなく自分で作れるようになると楽だよ
Sub foo()
Application.DisplayAlerts = False
For Each シート In ThisWorkbook.Worksheets
シート.Activate
ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & シート.Name & ".csv", _
FileFormat:=xlCSV, CreateBackup:=False
Next
Application.DisplayAlerts = True
End Sub
>>371
エクセル+vbaがいい
諦めなければ絶対に完成する。諦めるな
わからなくなったらいつでもおいで
375デフォルトの名無しさん (ワッチョイ 3bc7-x63M)
2017/05/30(火) 19:22:34.02ID:Fp/ortWi0 >>374
> 諦めなければ絶対に完成する。諦めるな
仕事でやってる人には最低のアドバイスだな
ニートのお前とは違うんだよ
仕事ってのは限られた時間の中で最大限の結果を求められる
少しでも人の役に立ちたい気持ちはわからないでもないけど
それ以前に自分がニートだっていう事実を忘れちゃいかんな
お前が本当に誰かの役に立ちたいのだったら
まず自分の身をわきまえ
そして相手の立場を理解するって事が何よりも大切な事だ
よく覚えておけ
> 諦めなければ絶対に完成する。諦めるな
仕事でやってる人には最低のアドバイスだな
ニートのお前とは違うんだよ
仕事ってのは限られた時間の中で最大限の結果を求められる
少しでも人の役に立ちたい気持ちはわからないでもないけど
それ以前に自分がニートだっていう事実を忘れちゃいかんな
お前が本当に誰かの役に立ちたいのだったら
まず自分の身をわきまえ
そして相手の立場を理解するって事が何よりも大切な事だ
よく覚えておけ
376デフォルトの名無しさん (アークセー Sx0f-kS8n)
2017/05/30(火) 19:26:38.95ID:yu6lRt6yx377デフォルトの名無しさん (ワッチョイ ef8e-igqr)
2017/05/30(火) 19:47:55.75ID:q6a+ppT10378デフォルトの名無しさん (ワッチョイ 3bc7-x63M)
2017/05/30(火) 20:01:37.18ID:Fp/ortWi0379デフォルトの名無しさん (ワッチョイ fb4c-lYDY)
2017/05/30(火) 20:09:38.66ID:1szQs/d90 まぁ実際、出来るかどうか分からないVBAよりも、手作業で確実に済ませるという場面は仕事してると出てくるな。
ただ件の話はルーチン業務のマクロ化についての話だから、多少時間が掛かっても挑戦する価値はある。
しかしながらごく一般的な悩みで、それを解決する手段が用意されているのでVBAに拘る必要がないのも事実。
ただ件の話はルーチン業務のマクロ化についての話だから、多少時間が掛かっても挑戦する価値はある。
しかしながらごく一般的な悩みで、それを解決する手段が用意されているのでVBAに拘る必要がないのも事実。
380デフォルトの名無しさん (ワッチョイ ef8e-igqr)
2017/05/30(火) 20:11:24.56ID:q6a+ppT10 マクロの腕上げてどんどん効率化したほうがいいと思うけどねぇ
会社行ってもすること無いから出勤時間減らしたわ
会社行ってもすること無いから出勤時間減らしたわ
381355 (ワッチョイ fbf3-w2wH)
2017/05/30(火) 20:52:10.68ID:1+UI8ryZ0 ありがとうございます。
取りあえずエクセル環境で動くとどの現場でも楽になるので
エクセルマクロでどうにか作ってみます。また、来ざる得なく成る様な気がするので
その時にまた相談に乗ってください。ありがとうございました。
取りあえずエクセル環境で動くとどの現場でも楽になるので
エクセルマクロでどうにか作ってみます。また、来ざる得なく成る様な気がするので
その時にまた相談に乗ってください。ありがとうございました。
382デフォルトの名無しさん (ワッチョイ 4f4a-fjjf)
2017/05/30(火) 21:03:04.18ID:0IDFiFSH0 Excelが必要でないならVBAよりはVBSscriptかな
VBScriptはExcel VBAにほぼそのまま持っていける
VBScriptやVBA扱いに慣れたらpowershell
いきなりpowershellでもいいけど前提知識が割と必要になる
powershellの良い入門書って見たことないし
VBScriptはExcel VBAにほぼそのまま持っていける
VBScriptやVBA扱いに慣れたらpowershell
いきなりpowershellでもいいけど前提知識が割と必要になる
powershellの良い入門書って見たことないし
383デフォルトの名無しさん (ワッチョイ 9fa6-9J/J)
2017/05/30(火) 21:48:33.00ID:RIAflGJM0 >>378
余裕がどれくらいあるかによるけどね
余裕がどれくらいあるかによるけどね
384デフォルトの名無しさん (ワッチョイ dfcd-wwwt)
2017/05/30(火) 21:50:18.98ID:Upz1NUPj0385デフォルトの名無しさん (ワッチョイ 9faa-w9y6)
2017/05/30(火) 21:56:44.25ID:GySYMHzV0386デフォルトの名無しさん (ワッチョイ dfcd-wwwt)
2017/05/30(火) 22:01:43.70ID:Upz1NUPj0 >>360
- ActiveWorkbook.Path & "\" & mySheet.Name & ".csv", _
+ ActiveWorkbook.Path & ":" & mySheet.Name & ".csv", _
こうじゃないかな?
- ActiveWorkbook.Path & "\" & mySheet.Name & ".csv", _
+ ActiveWorkbook.Path & ":" & mySheet.Name & ".csv", _
こうじゃないかな?
387デフォルトの名無しさん (ワッチョイ dfcd-wwwt)
2017/05/30(火) 22:03:50.22ID:Upz1NUPj0388デフォルトの名無しさん (ワッチョイ 8bc8-ZQjI)
2017/05/30(火) 22:41:04.16ID:b4dt9kdA0 >>385
その場で言えよw
その場で言えよw
389デフォルトの名無しさん (ワッチョイ 9f92-7zaT)
2017/05/30(火) 22:59:03.08ID:FYFuo4390 セルの書式を保持したまま変数に格納する方法ってありますか?
文字の一部分だけ太字とか、嫌がらせみたいなデータがあるんです。
Copy Destinationで別のシートに格納しろ、とかいうのはなしで。
文字の一部分だけ太字とか、嫌がらせみたいなデータがあるんです。
Copy Destinationで別のシートに格納しろ、とかいうのはなしで。
390デフォルトの名無しさん (ワッチョイ ef8e-pAKw)
2017/05/30(火) 23:26:10.83ID:q6a+ppT10 格納だけならsetで簡単にできる
しかし他のセルにこれを適用しようとするとフリーズ。理由は知らん
割りと真面目に
>Copy Destinationで別のシートに格納
したほうがいい気がする
Sub foo()
'A1の一文字目のフォント情報をB1二文字目に
Set bar = Cells(1, 1).Characters(Start:=1, Length:=1).Font
Cells(1, 2).Characters(Start:=2, Length:=1).Font = bar
End Sub
しかし他のセルにこれを適用しようとするとフリーズ。理由は知らん
割りと真面目に
>Copy Destinationで別のシートに格納
したほうがいい気がする
Sub foo()
'A1の一文字目のフォント情報をB1二文字目に
Set bar = Cells(1, 1).Characters(Start:=1, Length:=1).Font
Cells(1, 2).Characters(Start:=2, Length:=1).Font = bar
End Sub
391デフォルトの名無しさん (ワッチョイ 9f3c-lYDY)
2017/05/30(火) 23:29:44.49ID:KvP+eqH30392デフォルトの名無しさん (ワッチョイ 9faa-w9y6)
2017/05/30(火) 23:58:44.86ID:GySYMHzV0 >>388
ああ、言ってる。でも延々と手作業でやって残業時間自慢してるヤツが殆どw
ああ、言ってる。でも延々と手作業でやって残業時間自慢してるヤツが殆どw
393デフォルトの名無しさん (アウアウイー Sa0f-MJsu)
2017/05/31(水) 02:10:54.01ID:LgGj7rqFa VBA初心者です。
今データの分析をしてるのですが色々な関数を使ってるシートをとりあえず10000くらいまでデータを作っておいてピポットテーブルで分析しています。
それだとデータが重くなりますが入力されたデータに行をオートフィルで追加することはできますか?
例えば
A列に日付 B列に店名 C列に商品名 D列に個数
を入力していて
列やG列に日付の関数で月やH列にVLOOKUP関数で店舗の種類の仕分けをしています
データを入力した行に関数が自動で追加できるようにするにはどうしたらいいでしょうか?
今データの分析をしてるのですが色々な関数を使ってるシートをとりあえず10000くらいまでデータを作っておいてピポットテーブルで分析しています。
それだとデータが重くなりますが入力されたデータに行をオートフィルで追加することはできますか?
例えば
A列に日付 B列に店名 C列に商品名 D列に個数
を入力していて
列やG列に日付の関数で月やH列にVLOOKUP関数で店舗の種類の仕分けをしています
データを入力した行に関数が自動で追加できるようにするにはどうしたらいいでしょうか?
394デフォルトの名無しさん (ワッチョイ 0b92-9J/J)
2017/05/31(水) 03:10:26.82ID:ngSfzLWM0 >>393
イベントを使うといいと思う
例えば4列目に入力があったら5〜7列目がオートフィルされるようにするなら
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 3 And Target.Column = 4 Then
Range(Cells(Target.Row - 1, 5), Cells(Target.Row - 1, 7)).Select
Selection.AutoFill Destination:=Range(Cells(Target.Row - 1, 5), Cells(Target.Row, 7)), Type:=xlFillDefault
Target.Select
End If
End Sub
イベントを使うといいと思う
例えば4列目に入力があったら5〜7列目がオートフィルされるようにするなら
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 3 And Target.Column = 4 Then
Range(Cells(Target.Row - 1, 5), Cells(Target.Row - 1, 7)).Select
Selection.AutoFill Destination:=Range(Cells(Target.Row - 1, 5), Cells(Target.Row, 7)), Type:=xlFillDefault
Target.Select
End If
End Sub
395デフォルトの名無しさん (ワッチョイ df61-hUAt)
2017/05/31(水) 05:55:04.74ID:5otW7Lci0 Excelの機能でやった方が良さそうに見えちゃうな
月で集計は列足さずにピボット側で日付をグループ化すればいいし
範囲の拡張はデータ範囲をテーブルにしておけばいいだけだし
VBAスレだしVBAでやりたいんならまあいいか
月で集計は列足さずにピボット側で日付をグループ化すればいいし
範囲の拡張はデータ範囲をテーブルにしておけばいいだけだし
VBAスレだしVBAでやりたいんならまあいいか
396デフォルトの名無しさん (オイコラミネオ MM7f-ZQjI)
2017/05/31(水) 06:30:09.92ID:u3wQ/TLpM 補助列作っとくのが最善だと思う
次点でピボットの集計フィールド追加
次点でピボットの集計フィールド追加
397デフォルトの名無しさん (ワッチョイ 0b30-MgrD)
2017/05/31(水) 07:14:56.30ID:CCxYhvtc0 >データを入力した行に関数が自動で追加
したいだけなら、テーブルにすればいいのでは
Excelのテーブル機能の使い方まとめ
https://www.forguncy.com/blog/20161014_table
>一覧表の最終行の次の行にデータを入力すると、その上の行に入っている書式設定が自動で反映されます。 計算式も自動で反映します。
したいだけなら、テーブルにすればいいのでは
Excelのテーブル機能の使い方まとめ
https://www.forguncy.com/blog/20161014_table
>一覧表の最終行の次の行にデータを入力すると、その上の行に入っている書式設定が自動で反映されます。 計算式も自動で反映します。
398デフォルトの名無しさん (アウアウイー Sa0f-MJsu)
2017/05/31(水) 11:34:55.36ID:2HZ6ZV5Na イメージと
399デフォルトの名無しさん (ワッチョイ 4b19-Uhxf)
2017/05/31(水) 14:19:26.52ID:O9qNIaK10 >>360だけど未だに出来ない、アドバイスいただいたものも全てダメしたけどダメ。
200枚ものシートをいちいち手作業でやらないといけないのか、、、
200枚ものシートをいちいち手作業でやらないといけないのか、、、
400デフォルトの名無しさん (JP 0H7f-/6qz)
2017/05/31(水) 14:38:23.24ID:vzRkDbrnH401デフォルトの名無しさん (ワッチョイ 4b19-Uhxf)
2017/05/31(水) 14:40:32.00ID:O9qNIaK10402デフォルトの名無しさん (ワッチョイ 4b19-Uhxf)
2017/05/31(水) 14:44:29.80ID:O9qNIaK10 >>360です
お騒がせしました、これでできたっぽい。
http://excel-magic.com/post-24/
<font color>のどこを修正すれば良いのか分からないので、ひとまず回して見ましたが途中で止めてCSVを200ファイルほど吐き出せました!
これを機会にVBAをちゃんと勉強しようと思いました、、、
お騒がせしました、これでできたっぽい。
http://excel-magic.com/post-24/
<font color>のどこを修正すれば良いのか分からないので、ひとまず回して見ましたが途中で止めてCSVを200ファイルほど吐き出せました!
これを機会にVBAをちゃんと勉強しようと思いました、、、
403デフォルトの名無しさん (JP 0H7f-/6qz)
2017/05/31(水) 14:44:47.62ID:vzRkDbrnH >>401
じゃ、マクロを記録しつつシートをCSVで保存してみて、生成されたコードを観察してみるとか。
今回1度きりの作業だったらあきらめて手作業でエクスポートするか、それが嫌なら他のQAサイトで
質問するとか。
じゃ、マクロを記録しつつシートをCSVで保存してみて、生成されたコードを観察してみるとか。
今回1度きりの作業だったらあきらめて手作業でエクスポートするか、それが嫌なら他のQAサイトで
質問するとか。
404デフォルトの名無しさん (JP 0H7f-/6qz)
2017/05/31(水) 14:50:06.21ID:vzRkDbrnH405デフォルトの名無しさん (ブーイモ MM4f-MamD)
2017/05/31(水) 15:23:51.75ID:V02iWLllM >>402
うまくいきそうで良かった。
リンク先を見てる感じ、
ActiveWindow.SelectedSheets
ActiveWorkbook.Path
のどっちかがcsvを保存した時点でおかしくなってるのかなと感じる。
あと、<font color="#ffff00">と</font>はVBAには無関係なので、丸々削除してオーケー。
詳しく知りたければ、「htmlタグ フォント」でググってみてね。
うまくいきそうで良かった。
リンク先を見てる感じ、
ActiveWindow.SelectedSheets
ActiveWorkbook.Path
のどっちかがcsvを保存した時点でおかしくなってるのかなと感じる。
あと、<font color="#ffff00">と</font>はVBAには無関係なので、丸々削除してオーケー。
詳しく知りたければ、「htmlタグ フォント」でググってみてね。
406デフォルトの名無しさん (ワッチョイ 4b19-Uhxf)
2017/05/31(水) 15:43:17.11ID:O9qNIaK10407デフォルトの名無しさん (アウアウエー Sa3f-KyfH)
2017/05/31(水) 18:16:14.53ID:EYxbNvW1a408デフォルトの名無しさん (ワッチョイ ef8e-9J/J)
2017/05/31(水) 18:54:55.73ID:lGWBXgBz0 >初心者向きに見えて初心者向きじゃない
分かる
分かる
409デフォルトの名無しさん (アークセー Sx0f-fInE)
2017/05/31(水) 19:38:54.48ID:jM8viQpZx >>408
VBAしかやったことないから他の言語との比較ができないんだけど、一体どのあたりが初心者向きじゃないと感じるんだ?
VBAしかやったことないから他の言語との比較ができないんだけど、一体どのあたりが初心者向きじゃないと感じるんだ?
410デフォルトの名無しさん (ワッチョイ ef8e-kjbA)
2017/05/31(水) 20:03:43.86ID:lGWBXgBz0 >>409
とにかく変なルールや仕様が多すぎる
・まず前提条件として、エクセルについて理解する必要がある。仕事で使っていれば嫌でも覚えるけど、学生にとっては辛いところだろう
・標準モジュールが初期状態で存在しない。初心者が大きくつまずくのはここだろう。コードが思い浮かんでも、どこに書けばいいのかもわからない
・上記の続きで、スコープも変則的に見える。sheet1にコードを書くとなぜsheet2が見えないのか?はスコープ、privateやpublicの概念を先に知っておかないといけない
初心者からみたエクセルなんてどうみても全部publicなのにな
・まずシートをselectするかactivateしないと、rangeがselectできない。糞仕様です
・エラーが大雑把すぎる。
修正候補:式
って言われても、大抵の記述は全部式だろう。式のどの部分だよ
・
if
for i = 1 to 2
endif
これで出るエラーは「endifに対応するifがありません」そっちじゃねー!!!
・マクロの記録もあやふや。グラフやオートシェイプは記録したマクロを走らせるとエラーになる始末
他にもオブジェクトの塊なのにオブジェクト指向が全くなかったり、ダンプもできない、今更Bライクとかええやろ、など他にも色々あるけど
とにかく変なルールや仕様が多すぎる
・まず前提条件として、エクセルについて理解する必要がある。仕事で使っていれば嫌でも覚えるけど、学生にとっては辛いところだろう
・標準モジュールが初期状態で存在しない。初心者が大きくつまずくのはここだろう。コードが思い浮かんでも、どこに書けばいいのかもわからない
・上記の続きで、スコープも変則的に見える。sheet1にコードを書くとなぜsheet2が見えないのか?はスコープ、privateやpublicの概念を先に知っておかないといけない
初心者からみたエクセルなんてどうみても全部publicなのにな
・まずシートをselectするかactivateしないと、rangeがselectできない。糞仕様です
・エラーが大雑把すぎる。
修正候補:式
って言われても、大抵の記述は全部式だろう。式のどの部分だよ
・
if
for i = 1 to 2
endif
これで出るエラーは「endifに対応するifがありません」そっちじゃねー!!!
・マクロの記録もあやふや。グラフやオートシェイプは記録したマクロを走らせるとエラーになる始末
他にもオブジェクトの塊なのにオブジェクト指向が全くなかったり、ダンプもできない、今更Bライクとかええやろ、など他にも色々あるけど
411デフォルトの名無しさん (ワッチョイ 8bc8-ZQjI)
2017/05/31(水) 20:16:19.68ID:oF6IsnwB0 違う言語に対応できない初心者の愚痴で草
とりあえず何にでも文句言ってんだろうなって印象
とりあえず何にでも文句言ってんだろうなって印象
412デフォルトの名無しさん (ブーイモ MM4f-MamD)
2017/05/31(水) 20:43:19.50ID:487dhIIWM なんか大部分がVBAじゃなくてエクセルの仕様な気が。
413デフォルトの名無しさん (ワッチョイ ab6e-DQ2W)
2017/05/31(水) 20:46:24.66ID:JJWe2xBC0 実際そこだと思う
エクセルに拘る理由が無いならVBAに拘る理由もないし
エクセルに拘る理由が無いならVBAに拘る理由もないし
414デフォルトの名無しさん (ワッチョイ 3bc7-x63M)
2017/05/31(水) 20:49:37.96ID:ac0fXejp0415デフォルトの名無しさん (アウアウエー Sa3f-KyfH)
2017/05/31(水) 20:57:43.48ID:EYxbNvW1a 初心者向きやりたいならVB.netでもやりゃいいのよ
プログラム言語としては不親切極まりないのは間違いないだろ、VBAは
機能拡張も期待できないし
敷居は低いが不親切
プログラム言語としては不親切極まりないのは間違いないだろ、VBAは
機能拡張も期待できないし
敷居は低いが不親切
416デフォルトの名無しさん (ワッチョイ 9fa6-9J/J)
2017/05/31(水) 21:14:12.59ID:Nua5RAmq0 プログラミングなんて、変に凝らなきゃそこそこの処理ロジックは誰でも作れるよ。
でも入出力が楽にできるGUIが欲しいとか、プログラムに食わせる制御データの管理を手軽にしたいとか、
日常使いのアプリとして便利にってなるとExcelになっちゃうんだよね。
でも入出力が楽にできるGUIが欲しいとか、プログラムに食わせる制御データの管理を手軽にしたいとか、
日常使いのアプリとして便利にってなるとExcelになっちゃうんだよね。
417デフォルトの名無しさん (ワッチョイ ef8e-c3sC)
2017/05/31(水) 21:20:34.89ID:lGWBXgBz0418デフォルトの名無しさん (オイコラミネオ MM7f-ZQjI)
2017/05/31(水) 21:42:12.36ID:YZgbxTyGM >>417
それはエクセルが優れてるからというより、ワードが糞過ぎるからワードの守備範囲までエクセルでカバーせざるを得ないだけだろう
それはエクセルが優れてるからというより、ワードが糞過ぎるからワードの守備範囲までエクセルでカバーせざるを得ないだけだろう
419デフォルトの名無しさん (ワッチョイ ef8e-c3sC)
2017/05/31(水) 22:00:18.50ID:lGWBXgBz0 ワードなぁ・・・ワードはずっと扱ってないよ。いくつかの会社の人に聞いたけど、やっぱりワードは糞
しかし唯一、日本を代表する金融企業の人と飲んだ時、その人が喜々として語っていた
その企業はエクセルもアクセスも使わず、資料は全てシステム部門に頼む体質
宴会や支店向けの広報をワードで一生懸命作る会社だったらしい
いいか悪いかはともかく、まぁ、日本の上層部は社会主義だ。
しかし唯一、日本を代表する金融企業の人と飲んだ時、その人が喜々として語っていた
その企業はエクセルもアクセスも使わず、資料は全てシステム部門に頼む体質
宴会や支店向けの広報をワードで一生懸命作る会社だったらしい
いいか悪いかはともかく、まぁ、日本の上層部は社会主義だ。
420デフォルトの名無しさん (JP 0H4f-UmYi)
2017/05/31(水) 22:01:17.27ID:ZGVFQMFtH >>417
自分もセル結合嫌派だけど、これまでセル結合で表現していた部分はどうするの?
個人的には、(選択範囲で中央)が水平方向だけでなく、垂直方向にもきけば満足だけど、、
現場の意向でどうしても使わないといけないことが多々ある。
自分もセル結合嫌派だけど、これまでセル結合で表現していた部分はどうするの?
個人的には、(選択範囲で中央)が水平方向だけでなく、垂直方向にもきけば満足だけど、、
現場の意向でどうしても使わないといけないことが多々ある。
421デフォルトの名無しさん (ワッチョイ ef8e-h4wC)
2017/05/31(水) 22:12:44.56ID:lGWBXgBz0 >>420
・セル結合は機能自体なくす
・「選択範囲で中央揃え」的なものをもっと増やす
要するにとにかくセルと情報は1:1にする
その上で
・書式設定無し
機能があれば、
編集側、閲覧側に取っても幸せになるだろう
とにかく、作業中のデータとプリントアウト等の見せるデータ、これを抜本的に乖離しないと話にならない
とにかくセル結合が最初だ。
・セル結合は機能自体なくす
・「選択範囲で中央揃え」的なものをもっと増やす
要するにとにかくセルと情報は1:1にする
その上で
・書式設定無し
機能があれば、
編集側、閲覧側に取っても幸せになるだろう
とにかく、作業中のデータとプリントアウト等の見せるデータ、これを抜本的に乖離しないと話にならない
とにかくセル結合が最初だ。
422デフォルトの名無しさん (ワッチョイ 9fa6-9J/J)
2017/05/31(水) 22:24:29.36ID:Nua5RAmq0423デフォルトの名無しさん (ワッチョイ ef8e-h4wC)
2017/05/31(水) 22:28:56.46ID:lGWBXgBz0424デフォルトの名無しさん (ワッチョイ 9f92-7zaT)
2017/05/31(水) 22:55:16.15ID:xZexTgw80425デフォルトの名無しさん (ワッチョイ 9fa6-9J/J)
2017/05/31(水) 22:55:23.97ID:Nua5RAmq0 そんな感じ
426デフォルトの名無しさん (スプッッ Sdbf-uKyG)
2017/05/31(水) 23:56:16.90ID:N23t2UmQd 画面に表示されてるとおり印刷してくれ
俺の要望はそれだけだ
俺の要望はそれだけだ
427デフォルトの名無しさん (ワッチョイ 5e8e-BwSn)
2017/06/01(木) 00:07:36.27ID:xwlKrZPp0 プリントスクリーンボタン
428デフォルトの名無しさん (ワッチョイ ddba-+vtu)
2017/06/01(木) 00:30:28.19ID:3kmI9vZh0 その手があったか!
429デフォルトの名無しさん (ワッチョイ 3acd-PQPf)
2017/06/01(木) 00:37:46.47ID:7jSAnpp50 >>402
お前毎回人の話聞かないクズなのな
お前毎回人の話聞かないクズなのな
430デフォルトの名無しさん (ワッチョイ 3acd-PQPf)
2017/06/01(木) 00:38:42.21ID:7jSAnpp50 >>405
セパレータの問題だって
セパレータの問題だって
431デフォルトの名無しさん (ワッチョイ 5e8e-BwSn)
2017/06/01(木) 00:39:34.14ID:xwlKrZPp0 _人人人人人人人人_
> 突然の亀レス <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
> 突然の亀レス <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
432デフォルトの名無しさん (ワッチョイ 3acd-PQPf)
2017/06/01(木) 00:47:31.72ID:7jSAnpp50 >>431
4b19=ef8eだった
4b19=ef8eだった
433デフォルトの名無しさん (ワッチョイ f901-V2gy)
2017/06/01(木) 00:47:35.28ID:xEezSy0Q0 突然セパレータの話を持ち出しておいて「だって」とはwww
434デフォルトの名無しさん (ワッチョイ 3acd-PQPf)
2017/06/01(木) 00:50:32.04ID:7jSAnpp50435デフォルトの名無しさん (ワッチョイ 3acd-PQPf)
2017/06/01(木) 00:57:03.34ID:7jSAnpp50436デフォルトの名無しさん (ワッチョイ 9ec8-amhP)
2017/06/01(木) 03:36:38.16ID:DLazu0lV0437デフォルトの名無しさん (ワッチョイ ed52-ujBP)
2017/06/01(木) 05:02:21.03ID:AjLNIuL80438デフォルトの名無しさん (ドコグロ MM31-Tm/A)
2017/06/01(木) 07:00:00.45ID:YbQp1MN1M439デフォルトの名無しさん (ワッチョイ 5e8e-BwSn)
2017/06/01(木) 07:39:25.88ID:xwlKrZPp0440デフォルトの名無しさん (ワッチョイ bdc8-KDIu)
2017/06/01(木) 07:58:39.77ID:J+CWW2790 取り敢えずのapplication.goto
441デフォルトの名無しさん (アークセー Sx3d-nANo)
2017/06/01(木) 08:15:30.82ID:Vftk4o9ex わざわざシートのActivate/Selectメソッド使わなくても、シート.Range(Index).Selectで終わる話だろ
そんなにGlobal.Range使いたいんか?
Global.Rangeなんてほぼ使わないぞ俺は、コードの可読性下がるから
そんなにGlobal.Range使いたいんか?
Global.Rangeなんてほぼ使わないぞ俺は、コードの可読性下がるから
442デフォルトの名無しさん (アークセー Sx3d-1CPh)
2017/06/01(木) 08:55:51.01ID:mJLzyhAZx ごとーーー!
443デフォルトの名無しさん (スプッッ Sded-qcoX)
2017/06/01(木) 08:58:27.48ID:VCI0My45d シートがアクティブになってないとセルのselectできない話でしょ
444デフォルトの名無しさん (オイコラミネオ MM2e-V2gy)
2017/06/01(木) 10:28:17.60ID:d3jolD7CM445デフォルトの名無しさん (アークセー Sx3d-nANo)
2017/06/01(木) 18:30:37.54ID:N6tgl860x446デフォルトの名無しさん (ワッチョイ bdc8-KDIu)
2017/06/01(木) 20:31:16.93ID:J+CWW2790 >>445
念のために聞いておくが、何が嘘で、正解は何なのか教えてくれないか
念のために聞いておくが、何が嘘で、正解は何なのか教えてくれないか
447デフォルトの名無しさん (ワッチョイ 09c7-xxAH)
2017/06/01(木) 20:53:27.07ID:gEanndL50 どっちにしろSelectするかActivateすれば使えるんだろ?
たいした問題じゃねえよそんなの
たいした問題じゃねえよそんなの
448デフォルトの名無しさん (ワッチョイ 6a92-E6+r)
2017/06/01(木) 22:54:42.48ID:DaNoSOMR0 文法的に納得いかないけど上手くいく不思議
Set Newbook = Worksheets.Add
Set Newbook = Worksheets.Add
449デフォルトの名無しさん (ワッチョイ ea3c-k7rq)
2017/06/01(木) 23:25:19.57ID:4Mx8xPkv0 むしろ参照を返さないAddの方が少数派では
450デフォルトの名無しさん (ワッチョイ 7a61-N0z9)
2017/06/01(木) 23:30:05.12ID:0CdKwKMK0451デフォルトの名無しさん (ワッチョイ 5e8e-N4+x)
2017/06/01(木) 23:30:45.71ID:xwlKrZPp0 >>448
どう納得行かないのか分からん
どう納得行かないのか分からん
452デフォルトの名無しさん (ワッチョイ 6a92-E6+r)
2017/06/01(木) 23:32:46.29ID:DaNoSOMR0 >>451
代入してんのか?実行してんのか?っていう。
代入してんのか?実行してんのか?っていう。
453デフォルトの名無しさん (ワッチョイ 6a92-E6+r)
2017/06/01(木) 23:33:10.29ID:DaNoSOMR0 Setだから代入ではないか。
454デフォルトの名無しさん (ワッチョイ 5e8e-N4+x)
2017/06/01(木) 23:34:35.43ID:xwlKrZPp0 >>452
戻り値を代入してる。特に違和感がないんだが
戻り値を代入してる。特に違和感がないんだが
455デフォルトの名無しさん (ワッチョイ ea3c-Tm/A)
2017/06/01(木) 23:37:20.08ID:JcXv0anO0 むしろ NewBook と言う変数名の方に違和感があるんだが...
456デフォルトの名無しさん (アウアウエー Sa52-UdBD)
2017/06/01(木) 23:47:19.51ID:L+dplH4ca 個人的にはworksheet.copyが値返してくれないほうが納得行かない
457デフォルトの名無しさん (ワッチョイ 7a61-N0z9)
2017/06/02(金) 00:18:14.15ID:WCh1iO0Y0 >>456
その気持ちはよくわかる
その行を実行した直後はどの変数にも入っていないシートだからなんか不安になる
どうしても不安なときは先に新規ブック作っといてそこをコピー先にしてるけどね
それはそれで無駄なことしてんなあという気になる
その気持ちはよくわかる
その行を実行した直後はどの変数にも入っていないシートだからなんか不安になる
どうしても不安なときは先に新規ブック作っといてそこをコピー先にしてるけどね
それはそれで無駄なことしてんなあという気になる
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相、トランプ米大統領に「早期に会いたい」 日中関係悪化受け… ★4 [BFU★]
- 「もうキモくてキモくて…」29歳女性が語る“おぢアタック”の実態。「俺ならイケるかも」年下女性を狙う勘違い中年男性には共通点が [Hitzeschleier★]
- 【コメ】卸売業者「簡単に安売りできない」「大暴落起きれば大赤字に」 JA「新米の販売進度が近年になく遅い。コメの回転が悪い」 ★5 [Hitzeschleier★]
- テレビ朝日 本社から男性が転落し死亡。関連会社社員か 当たった通行人が左肩軽傷 [阿弥陀ヶ峰★]
- テレビ朝日本社から20~30代の関連会社社員とみられる男性が転落し死亡 六本木けやき坂通りの通行人にはけが人なし [少考さん★]
- 「これいいじゃん!!!」 セブン-イレブンの1620円で買える“1人用クリスマスケーキ”🎂に注目殺到「天才すぎる」 [パンナ・コッタ★]
- 【高市速報】中国、最後通牒 [308389511]
- 【高市速報】中国、世界の敵になり始めるwwwwwwwwwwwwww [308389511]
- 最近のVIP人いなくね?
- おまえらHDDの廃棄ってどうしてるの?
- しね✋ーーーーー☀
- 【速報】テレビ朝日本社から20代〜30代の男性が飛び降り自殺して死亡 東京・六本木 [597533159]
