ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part56
http://mevius.5ch.net/test/read.cgi/tech/1534976724/
探検
Excel VBA 質問スレ Part57
レス数が900を超えています。1000を超えると表示できなくなるよ。
2018/09/10(月) 21:42:39.57ID:K1uuwFLt
850デフォルトの名無しさん
2018/11/03(土) 06:28:54.02ID:5ShzkuEH >>848
VBAで作るフォームと処理を共有できる、とか?
VBAで作るフォームと処理を共有できる、とか?
851デフォルトの名無しさん
2018/11/03(土) 06:31:10.97ID:5ShzkuEH852デフォルトの名無しさん
2018/11/03(土) 06:39:13.96ID:IAxxklmh853デフォルトの名無しさん
2018/11/03(土) 11:31:29.48ID:/0NNzwPk >>851
Sub Macro5()
'
' Macro5 Macro
'
'
Range("AH11").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
こんな感じです。これはセル1つ選択です。(最終的には複数選択してシート間でコピペする予定です)
Sub Macro5()
'
' Macro5 Macro
'
'
Range("AH11").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub
こんな感じです。これはセル1つ選択です。(最終的には複数選択してシート間でコピペする予定です)
854デフォルトの名無しさん
2018/11/03(土) 11:43:19.50ID:S6AysWL6 社名 金額 部門
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
B社 1500円 事務
B社 3500円 営業
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
D社 2000円 事務
こんな感じのA社⇒D社のように整列されたデータに対して
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
B社 1500円 事務
B社 3500円 営業
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
D社 2000円 事務
こんな感じのA社⇒D社のように整列されたデータに対して
855デフォルトの名無しさん
2018/11/03(土) 11:43:51.55ID:S6AysWL6 社名 金額 部門
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
A社 営業計 1000円 <
事務計 3500円 <
販売計 3000円 <
計 7500円 <
B社 1500円 事務
B社 3500円 営業
B社 営業計 3500円 <
事務計 1500円 <
計 5000円 <
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
C社 営業計 4000円 <
販売計 1500円 <
計 5500円 <
D社 2000円 事務
事務計 2000円 <
計 2000円 <
全社 営業計 8500円 <
事務計 7000円 <
販売計 4500円 <
計 20000円 <
こんな感じに行の間に小計、最後に合計を挿入するようなコードありますか?( < が追加行)
小計は必ず 営業、事務、販売の順番に並び、0円の場合は行自体挿入しません
実際ののデータは会社数、部門共に30以上あるので速度重視であれば望ましいです
================
A社 1000円 営業
A社 2000円 事務
A社 1500円 事務
A社 3000円 販売
A社 営業計 1000円 <
事務計 3500円 <
販売計 3000円 <
計 7500円 <
B社 1500円 事務
B社 3500円 営業
B社 営業計 3500円 <
事務計 1500円 <
計 5000円 <
C社 1000円 営業
C社 3000円 営業
C社 1500円 販売
C社 営業計 4000円 <
販売計 1500円 <
計 5500円 <
D社 2000円 事務
事務計 2000円 <
計 2000円 <
全社 営業計 8500円 <
事務計 7000円 <
販売計 4500円 <
計 20000円 <
こんな感じに行の間に小計、最後に合計を挿入するようなコードありますか?( < が追加行)
小計は必ず 営業、事務、販売の順番に並び、0円の場合は行自体挿入しません
実際ののデータは会社数、部門共に30以上あるので速度重視であれば望ましいです
856デフォルトの名無しさん
2018/11/03(土) 12:46:22.45ID:q2N3VeHV そんなもんExcelのグループ集計で一発
お前に必要なのはVBAではなくExcelの入門書
お前に必要なのはVBAではなくExcelの入門書
857デフォルトの名無しさん
2018/11/03(土) 13:03:36.46ID:3VcH/mb2 >>827
span使え
span使え
858デフォルトの名無しさん
2018/11/03(土) 13:12:27.13ID:78HW/kSp >>855
とりあえずピボットでググったら?
とりあえずピボットでググったら?
859デフォルトの名無しさん
2018/11/03(土) 13:18:18.27ID:3VcH/mb2 標準のエディタインライン展開できないとかsubの引数名自動で変えられないとかクソすぎ
誰かもっと開発しやすいやつをくれ
誰かもっと開発しやすいやつをくれ
860デフォルトの名無しさん
2018/11/03(土) 13:30:31.88ID:S6AysWL6 集計したい訳じゃなくデータを作成したいんだって
861デフォルトの名無しさん
2018/11/03(土) 13:33:02.71ID:N8ATSODS >>860
だからそれはグループ集計でできる
だからそれはグループ集計でできる
862デフォルトの名無しさん
2018/11/03(土) 13:38:02.57ID:S6AysWL6 VBAで作るには?
863デフォルトの名無しさん
2018/11/03(土) 13:47:38.58ID:N8ATSODS グループ集計の操作をマクロで記録するといいよ
864デフォルトの名無しさん
2018/11/03(土) 15:14:54.13ID:NeGXChns >>853
単にシート間で複数セルの値を同期させたいだけならそもそもクリップボードを経由しない方が早いのでは?
VBAでコピーしないでワークシート関数でシート間参照させるとか、コピー元のセルのValueプロパティなりFormulaプロパティなり、必ずコピーしなきゃいけないプロパティだけをコピー先のプロパティに直接代入するとか
ユーザーによるコピー操作そのものを再現しなきゃいけない理由でもあるの?
単にシート間で複数セルの値を同期させたいだけならそもそもクリップボードを経由しない方が早いのでは?
VBAでコピーしないでワークシート関数でシート間参照させるとか、コピー元のセルのValueプロパティなりFormulaプロパティなり、必ずコピーしなきゃいけないプロパティだけをコピー先のプロパティに直接代入するとか
ユーザーによるコピー操作そのものを再現しなきゃいけない理由でもあるの?
865デフォルトの名無しさん
2018/11/03(土) 18:06:58.76ID:/0NNzwPk >>864
シート間で照合するデータだとマクロ使わずできるのですが、
コピー元のシートのデータが大きいので、ペースト先のシートには必要なものだけを張り付けて、
印刷用のフォーマットに変換させて、終わったらペースト先のシートは保存せず元に戻すという操作をしたいと考えています。
お願いします。
シート間で照合するデータだとマクロ使わずできるのですが、
コピー元のシートのデータが大きいので、ペースト先のシートには必要なものだけを張り付けて、
印刷用のフォーマットに変換させて、終わったらペースト先のシートは保存せず元に戻すという操作をしたいと考えています。
お願いします。
866デフォルトの名無しさん
2018/11/03(土) 19:32:11.39ID:NeGXChns >>865
元データの書式や印刷用シートの体裁、印刷するデータの抽出方法などがわからないが、やりたいことからすると、Range.TextプロパティかValueプロパティの値をコピー先にそのままコピーするだけで良さそう
コピー元とコピー先のデータの体裁によっては、Range.AdvancedFilterメソッドで印刷用シートの方にフィルタ結果を出力するとかもできる
元データの書式や印刷用シートの体裁、印刷するデータの抽出方法などがわからないが、やりたいことからすると、Range.TextプロパティかValueプロパティの値をコピー先にそのままコピーするだけで良さそう
コピー元とコピー先のデータの体裁によっては、Range.AdvancedFilterメソッドで印刷用シートの方にフィルタ結果を出力するとかもできる
867デフォルトの名無しさん
2018/11/03(土) 22:51:34.85ID:MUI16VQU クラサバシステムを作るのは現実的なのでしょうか?
DBは相性からいってSQLServerで
DBは相性からいってSQLServerで
868デフォルトの名無しさん
2018/11/03(土) 22:58:31.43ID:zFR/cOIP >>867
Excelで作ろうとしてる理由が能力の問題なのか、それともExcelのワークシートの機能が必要だからなのか、それ次第だな
C#やVB.NETやJavaで作れる能力があるなら普通に作れるし、無いなら無理
能力が無いならAccessでも使ってろ
Excelで作ろうとしてる理由が能力の問題なのか、それともExcelのワークシートの機能が必要だからなのか、それ次第だな
C#やVB.NETやJavaで作れる能力があるなら普通に作れるし、無いなら無理
能力が無いならAccessでも使ってろ
869デフォルトの名無しさん
2018/11/03(土) 23:03:55.31ID:e+FwThFa 能力の問題なら今ならOffice365のPowerAppsおすすめ
たぶん>>867が手作りするより遥かに高品質なものが一瞬で作れるよ
たぶん>>867が手作りするより遥かに高品質なものが一瞬で作れるよ
870デフォルトの名無しさん
2018/11/03(土) 23:12:01.99ID:MUI16VQU 作りたいのは、Activitiのエンジンを使ったWFシステムです
Excelで検討する理由は、ADによるシートとセルの権限管理ですかね
Excelで検討する理由は、ADによるシートとセルの権限管理ですかね
871デフォルトの名無しさん
2018/11/04(日) 00:03:26.74ID:Ujv6OCQm いやクラサバだったら権限管理はSQL Server側でやるもんだろ
当然、SQL Serverなら問題なくADで制御できる
その調子じゃ厳しそうだね
当然、SQL Serverなら問題なくADで制御できる
その調子じゃ厳しそうだね
872デフォルトの名無しさん
2018/11/04(日) 00:32:40.13ID:xCAdckZO Excelのレベルで権限制御したところで、別のExcelシート作ってデータソース参照するだけでやりたい放題やで
Excelに限った話ではなくC#などでクライアント作る場合でも同じことで、プロなら絶対にありえない設計
Excelに限った話ではなくC#などでクライアント作る場合でも同じことで、プロなら絶対にありえない設計
873デフォルトの名無しさん
2018/11/04(日) 07:35:57.46ID:dL+sv/7f ここで板違いの質問を堂々とするレベルなんだから w
874デフォルトの名無しさん
2018/11/05(月) 12:48:07.93ID:g2XKp1gu またプロさんイキっとるのw
875デフォルトの名無しさん
2018/11/05(月) 23:37:43.98ID:Vz2xlIAK >>866
Range.Textプロパティ、Valueプロパティが良く理解できなくて困ってます。
セルの指定で合ってますか?
コピー元の表の中からから1行(5セル分)コピーして、隣のシートの所定の位置に貼り付けたいです。
1行選択した後、マクロ起動させて隣のシートに張付けという操作です。頼みます、教えてください!
Range.Textプロパティ、Valueプロパティが良く理解できなくて困ってます。
セルの指定で合ってますか?
コピー元の表の中からから1行(5セル分)コピーして、隣のシートの所定の位置に貼り付けたいです。
1行選択した後、マクロ起動させて隣のシートに張付けという操作です。頼みます、教えてください!
876デフォルトの名無しさん
2018/11/06(火) 00:56:10.22ID:bmwIjcqH >>875
Sub CopyToPrintForm()
ThisWorkbook.Worksheets("データ用シート名").Range("コピー元セルの行番号:コピー元セルの行番号").Copy Destination:= ThisWorkbook.Worksheets("印刷用シート名").Range("コピー先セルの行番号:コピー先セルの行番号")
End Sub
Sub CopyToPrintForm()
ThisWorkbook.Worksheets("データ用シート名").Range("コピー元セルの行番号:コピー元セルの行番号").Copy Destination:= ThisWorkbook.Worksheets("印刷用シート名").Range("コピー先セルの行番号:コピー先セルの行番号")
End Sub
877デフォルトの名無しさん
2018/11/06(火) 01:09:36.50ID:bmwIjcqH878デフォルトの名無しさん
2018/11/06(火) 01:38:13.14ID:ca/fCdtD879デフォルトの名無しさん
2018/11/06(火) 02:06:44.79ID:hX39oSae 教えてください!とか言ってるから荒しかと思ってたがガチか
880デフォルトの名無しさん
2018/11/06(火) 02:42:45.06ID:hX39oSae >>865
>ペースト先のシートは保存せず元に戻す
マクロを実行すると「元に戻す」は使えなくなるから、一々開きなおさないといけないけど大丈夫なのかな
もしその作業が連続して行われるなら、テンプレート用シートと印刷用シートを別に用意した方が楽な気がする
>ペースト先のシートは保存せず元に戻す
マクロを実行すると「元に戻す」は使えなくなるから、一々開きなおさないといけないけど大丈夫なのかな
もしその作業が連続して行われるなら、テンプレート用シートと印刷用シートを別に用意した方が楽な気がする
881デフォルトの名無しさん
2018/11/06(火) 06:33:12.72ID:ca/fCdtD882デフォルトの名無しさん
2018/11/06(火) 07:50:07.02ID:hqcuocq7 >>878
引数付きでCopyメソッドを実行するときはPasteメソッドは書かなくていい
引数付きでCopyメソッドを実行するときはPasteメソッドは書かなくていい
883デフォルトの名無しさん
2018/11/06(火) 08:01:03.35ID:hqcuocq7 >>881
印刷用シートはデータと切り離してテンプレート用の別のファイルにした方が良い
そうすれば、印刷処理のとき一時的にテンプレートから印刷用フォーマットを書き起こした後、印刷用フォーマットのブックを削除するだけで済む
印刷後に印刷用シートを初期化するマクロを更に走らせるなんて、手間を増やしてるだけだと思うぞ
印刷用シートはデータと切り離してテンプレート用の別のファイルにした方が良い
そうすれば、印刷処理のとき一時的にテンプレートから印刷用フォーマットを書き起こした後、印刷用フォーマットのブックを削除するだけで済む
印刷後に印刷用シートを初期化するマクロを更に走らせるなんて、手間を増やしてるだけだと思うぞ
884デフォルトの名無しさん
2018/11/06(火) 19:36:10.55ID:gYvutDKX 複数端末で使用しているマクロがあります
端末aのデスクトップに目当てのファイルがあり、他の端末はネットワークで繫がっている端末aのデスクトップを覗きに行く感じになってます
ファイルパス & filenameで参照したいんですがどのように書くべきなんでしょうか
端末aのデスクトップに目当てのファイルがあり、他の端末はネットワークで繫がっている端末aのデスクトップを覗きに行く感じになってます
ファイルパス & filenameで参照したいんですがどのように書くべきなんでしょうか
885デフォルトの名無しさん
2018/11/06(火) 19:50:54.72ID:S8pHBi6C886875
2018/11/06(火) 19:57:59.09ID:ca/fCdtD みなさんありがとうございます。自分のイメージしてたものが100%出来ました。
887デフォルトの名無しさん
2018/11/06(火) 22:30:23.08ID:hKUAUjlF VBAベーシックの資格取得がてら基本情報の午後問対策にしようと思ってるんですけど出題範囲とかレベル感的に同じくらいですかね?
888デフォルトの名無しさん
2018/11/07(水) 10:26:42.01ID:d5oBs1zX VBAの資格って新しくできたのか?
889デフォルトの名無しさん
2018/11/07(水) 10:35:52.33ID:XvVrOgoe890デフォルトの名無しさん
2018/11/07(水) 10:44:51.43ID:t8cEHMAy891デフォルトの名無しさん
2018/11/07(水) 10:53:48.53ID:XvVrOgoe >>890
端末aのフォルダを共有設定にしておかないとアクセスできない
共有になってれば、どのPCでもアクセスできる
エクスプローラーで共有フォルダを開いて、アドレスバーをコピペしてみると書き方が分かる
端末aのフォルダを共有設定にしておかないとアクセスできない
共有になってれば、どのPCでもアクセスできる
エクスプローラーで共有フォルダを開いて、アドレスバーをコピペしてみると書き方が分かる
892デフォルトの名無しさん
2018/11/07(水) 11:32:15.04ID:nZWGaJPv 会社なのに共有フォルダはないの?
893デフォルトの名無しさん
2018/11/07(水) 11:34:31.05ID:+HyKX3eQ894875
2018/11/07(水) 20:36:23.84ID:TW51zyDp マクロ起動でシートの切り変わりで画面がブレるというか、もう少しスムーズに動いて欲しいと感じます。
1行まるごとコピーしているので重いのでしょうか?
1行まるごとコピーしているので重いのでしょうか?
895デフォルトの名無しさん
2018/11/07(水) 22:08:04.86ID:Qojc5OuV 配列に入れるとか?
dim a
a = sheet1.Range("コピーしたい範囲")
sheet2.Range("sheet1と同じ大きさ") = a
シート切り替える必要あんの?
dim a
a = sheet1.Range("コピーしたい範囲")
sheet2.Range("sheet1と同じ大きさ") = a
シート切り替える必要あんの?
896デフォルトの名無しさん
2018/11/07(水) 23:56:50.98ID:kdSj6Mns text.txtの中身
1,"my name is taro"
2,""hello,world""
3,"hello,world"
これをエクセルに変換して期待値は以下としたい
どうしたらいい?
A B
1 my name is taro
2 "hello,world"
3 hello,world
1,"my name is taro"
2,""hello,world""
3,"hello,world"
これをエクセルに変換して期待値は以下としたい
どうしたらいい?
A B
1 my name is taro
2 "hello,world"
3 hello,world
897デフォルトの名無しさん
2018/11/07(水) 23:58:12.32ID:Z9bNZaPm 拡張子を.csvに変えてダブルクリックしてみよう
あら不思議!
あら不思議!
898デフォルトの名無しさん
2018/11/08(木) 00:00:20.32ID:+1CERcyT ちなみに拡張子をcsvにすると以下のような変な出力になる。
A B C
1 my name is taro
2 hello world""
3 hello,world
A B C
1 my name is taro
2 hello world""
3 hello,world
899デフォルトの名無しさん
2018/11/08(木) 00:02:21.00ID:M68F6j6d "が一個足りない
csvで"をインポートするには
"を""にして
"でくくらないといけない
csvで"をインポートするには
"を""にして
"でくくらないといけない
900デフォルトの名無しさん
2018/11/08(木) 00:10:13.02ID:+1CERcyT 手順としては以下でよいか?
1. test.txtの中身を置換で「""」にマッチする箇所を「"""」として保存する
2. 拡張子をcsvにする。
期待値になったのでよしとする。
さらに一歩質問いいですか?
1. test.txtの中身を置換で「""」にマッチする箇所を「"""」として保存する
2. 拡張子をcsvにする。
期待値になったのでよしとする。
さらに一歩質問いいですか?
901デフォルトの名無しさん
2018/11/08(木) 00:19:54.15ID:+1CERcyT test.txtの中身
1,"my name
is taro"
2,"""hello,world"""
3,"hello,world"
これをエクセルにして期待値として以下としたい
A B
1 (※)
2 "hello,world"
3 hello,world
B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。
が、csvにしたら、ちゃんと期待値になってた。。
んー、、途中で改行が入るケースではまってた記憶があったんだが、、、、。これでよしとするか。。
1,"my name
is taro"
2,"""hello,world"""
3,"hello,world"
これをエクセルにして期待値として以下としたい
A B
1 (※)
2 "hello,world"
3 hello,world
B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。
が、csvにしたら、ちゃんと期待値になってた。。
んー、、途中で改行が入るケースではまってた記憶があったんだが、、、、。これでよしとするか。。
902デフォルトの名無しさん
2018/11/08(木) 00:35:58.02ID:+1CERcyT ああ、思い出した
"がつかないケースで、改行が入っている場合
test.txtの中身
1,my name
is taro
エクセルにして期待値として以下としたい
A B
1 (※)
(※)
B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。
拡張子をcsvに置き換える前に、"で囲むようにすればいいが、置換でなんとかならないものか。
"がつかないケースで、改行が入っている場合
test.txtの中身
1,my name
is taro
エクセルにして期待値として以下としたい
A B
1 (※)
(※)
B1セル内に
my name
is taro
が格納され、適切に改行が入っていることを期待。
拡張子をcsvに置き換える前に、"で囲むようにすればいいが、置換でなんとかならないものか。
903デフォルトの名無しさん
2018/11/08(木) 01:33:19.87ID:QHwNiY6E904デフォルトの名無しさん
2018/11/08(木) 07:54:15.59ID:u+iZKjOm なんかもう最初のカンマまでの文字数だけ切り取るほうがシンプルなんじゃ
905デフォルトの名無しさん
2018/11/08(木) 11:52:01.74ID:rWQT8E4I excelの3Dグラフで陰線処理ってできますか?
906デフォルトの名無しさん
2018/11/08(木) 12:05:03.88ID:Yck2Cb0Y 陰毛処理?
907デフォルトの名無しさん
2018/11/08(木) 14:33:21.43ID:3qqw0Iqx >>895
それのどこに配列が絡んでるんですかね?
それのどこに配列が絡んでるんですかね?
908デフォルトの名無しさん
2018/11/08(木) 14:42:53.05ID:rBrrwKGn909デフォルトの名無しさん
2018/11/08(木) 15:12:21.75ID:BZZI+ZYR 質問する奴も答える奴も論外で草
質問する奴はそういうスレだからともかく
答える奴が池沼なのはもう少し何とかならないか?
VBAだから無理か
質問する奴はそういうスレだからともかく
答える奴が池沼なのはもう少し何とかならないか?
VBAだから無理か
910デフォルトの名無しさん
2018/11/08(木) 19:19:19.39ID:j6Jh7/pK なんやプロさん同士で内紛勃発か?w
911デフォルトの名無しさん
2018/11/08(木) 20:27:13.91ID:hKKyRwQm912デフォルトの名無しさん
2018/11/08(木) 20:30:22.05ID:j6Jh7/pK >>911
おまえだけやプロさんw
おまえだけやプロさんw
913デフォルトの名無しさん
2018/11/08(木) 20:41:38.00ID:vlGhAqs/ >>907
変数代入のときにSetステートメント使ってないから、変数にはセル値の配列が入ってるぞ
変数代入のときにSetステートメント使ってないから、変数にはセル値の配列が入ってるぞ
914デフォルトの名無しさん
2018/11/08(木) 22:36:31.77ID:I6vRTJnd915デフォルトの名無しさん
2018/11/08(木) 22:38:08.36ID:j6Jh7/pK プロさんにつっこんだらあかんやろ
暗黙のルールぐらい守れやカス
暗黙のルールぐらい守れやカス
916デフォルトの名無しさん
2018/11/08(木) 22:43:10.26ID:I6vRTJnd そんなことより、XMLクライアントとしてのExcelを語ろうぜ
917デフォルトの名無しさん
2018/11/08(木) 23:06:03.49ID:g1taMrfK >>914
セルの権限管理なんぞサーバーから見たら何の意味もないよ
セルの権限管理なんぞサーバーから見たら何の意味もないよ
918デフォルトの名無しさん
2018/11/09(金) 10:17:43.12ID:46H7vVxk919デフォルトの名無しさん
2018/11/09(金) 10:21:06.82ID:mRKVO+Jg yes
920デフォルトの名無しさん
2018/11/09(金) 10:42:48.08ID:jWmpQO7/921デフォルトの名無しさん
2018/11/09(金) 14:25:59.43ID:xyt0IPos922デフォルトの名無しさん
2018/11/09(金) 22:13:18.94ID:GmFPY+rV プロに聞いてみようぜ
923デフォルトの名無しさん
2018/11/09(金) 22:36:34.07ID:dt2W+h7o デザイナーが描くような美しいUMLのシェイプを生成するDSLライブラリはありませんか?
PlantUMLのエクセルバージョンのようなものを探してます
PlantUMLのエクセルバージョンのようなものを探してます
924デフォルトの名無しさん
2018/11/10(土) 13:47:50.89ID:g7tZUN2t データの持ち方はシンプルな方がいい
そうでないなら条件を明確に
そうでないなら条件を明確に
925デフォルトの名無しさん
2018/11/12(月) 08:23:59.02ID:emJ6rSNr 901だが、
さらにおしえてほしい
textに
"please call a "phone"."
と書かれているケースがあり、これをcsvとして読みこませる前に
表記が崩れないように整形を加える。
最終的に1セル内に
please call a "phone".
が入っていればよいです。
上記を実現するための整形の流れとしてどうしたらいい?
整形後は、phoneの間に"をさらに追加する。端っこの"には手を加えない。
"please call a ""phone""."
手作業ではなく、置換で自動化したい
さらにおしえてほしい
textに
"please call a "phone"."
と書かれているケースがあり、これをcsvとして読みこませる前に
表記が崩れないように整形を加える。
最終的に1セル内に
please call a "phone".
が入っていればよいです。
上記を実現するための整形の流れとしてどうしたらいい?
整形後は、phoneの間に"をさらに追加する。端っこの"には手を加えない。
"please call a ""phone""."
手作業ではなく、置換で自動化したい
926デフォルトの名無しさん
2018/11/12(月) 09:22:19.42ID:CGIJA+ER そういうのはCSVとして読み込むんじゃなくて、自前で構文解析した方が良い。
この程度なら難しく無いでしょ。
この程度なら難しく無いでしょ。
927デフォルトの名無しさん
2018/11/12(月) 09:52:07.52ID:zyHWT4B/928デフォルトの名無しさん
2018/11/12(月) 09:53:55.26ID:zyHWT4B/ 訂正
置換後
\1\"\"\2
だな、1個多かった
置換後
\1\"\"\2
だな、1個多かった
929デフォルトの名無しさん
2018/11/12(月) 21:39:04.12ID:OsYv7RWH 全く無知な自分にご教授下さい。
マクロでフォルダ内のエクセルのシート1をすべて結合するマクロを探しています。
ネットに転がってるのを実行してもうまくいかないです。
できればですが、シート名は統一していないないので、ブックないのシートのRange(A1)が日付だったシートのみを結合とか高度すぎて無理でしょうか。
マクロでフォルダ内のエクセルのシート1をすべて結合するマクロを探しています。
ネットに転がってるのを実行してもうまくいかないです。
できればですが、シート名は統一していないないので、ブックないのシートのRange(A1)が日付だったシートのみを結合とか高度すぎて無理でしょうか。
930デフォルトの名無しさん
2018/11/12(月) 21:42:09.58ID:dMWbNPXa931デフォルトの名無しさん
2018/11/12(月) 21:54:32.66ID:JxfhNlMu ネットに転がってるのがあってもできないなら回答しても意味なくね?
ファイル名が統一されてないからうまく行かないんなら、フリーソフト拾ってきて一括リネームしたら済む話かもしれない
何を試みて何かどううまく行かなかったのか、真に目的を達成するには何がどうなっていればいいのか
それくらいは頭を整理して明記しなさい
何がわからないのか何がしたいのか自分でわからないけど親切に要件をヒアリングして代わりに作ってほしい、ならそこらへんのSIerに相談しなさい
ファイル名が統一されてないからうまく行かないんなら、フリーソフト拾ってきて一括リネームしたら済む話かもしれない
何を試みて何かどううまく行かなかったのか、真に目的を達成するには何がどうなっていればいいのか
それくらいは頭を整理して明記しなさい
何がわからないのか何がしたいのか自分でわからないけど親切に要件をヒアリングして代わりに作ってほしい、ならそこらへんのSIerに相談しなさい
932デフォルトの名無しさん
2018/11/12(月) 22:03:30.98ID:XDhm+jvj >>930
バカはお口にチャックな
バカはお口にチャックな
933デフォルトの名無しさん
2018/11/12(月) 22:13:45.72ID:MyIa17Oe Dir
sheet(1)
IsDate
この辺りで調べてみればそこまで難易度は高くないと思う
sheet(1)
IsDate
この辺りで調べてみればそこまで難易度は高くないと思う
934デフォルトの名無しさん
2018/11/12(月) 22:18:58.14ID:OsYv7RWH935デフォルトの名無しさん
2018/11/12(月) 22:36:44.04ID:zyHWT4B/ for each ws in Worksheetsとif文が使えればできるよ
936デフォルトの名無しさん
2018/11/13(火) 00:16:47.48ID:6PLLlNb2 >>927
試したけど、grepにひっかからず。
試したけど、grepにひっかからず。
937デフォルトの名無しさん
2018/11/13(火) 00:18:49.38ID:6PLLlNb2 936ですが、
原因が分かりました。
([^\,\"]+?)\"{1}([^\,\"]+?)の後の半角スペースが入っていたので引っ掛からなかった。
半角スペース覗いたらできました。
原因が分かりました。
([^\,\"]+?)\"{1}([^\,\"]+?)の後の半角スペースが入っていたので引っ掛からなかった。
半角スペース覗いたらできました。
938デフォルトの名無しさん
2018/11/13(火) 03:19:44.71ID:gWmuHRek >>925
1"2"3"4"5
これが君には、"24"、"3" の2つに見えるけど、
普通の人は、"2"、"4" の2つに見える
つまり、"3" がネスト・内側だとは判別できない。
内側を表すには、確実に、外側と区別できる方法が必要
例えば、""3"" のように、" が2個続いたら内側と解釈するとか、何らかの方法が必要だけど、
他に解釈されないような、特別な記号を作るのは難しい
1"2"3"4"5
これが君には、"24"、"3" の2つに見えるけど、
普通の人は、"2"、"4" の2つに見える
つまり、"3" がネスト・内側だとは判別できない。
内側を表すには、確実に、外側と区別できる方法が必要
例えば、""3"" のように、" が2個続いたら内側と解釈するとか、何らかの方法が必要だけど、
他に解釈されないような、特別な記号を作るのは難しい
940デフォルトの名無しさん
2018/11/13(火) 21:19:22.76ID:8adn94NA >>937
Excel vba にも正規表現による置換機能あるよね?その検索パターン、置換する文字列をそのまま使えるのか?
Excel vba にも正規表現による置換機能あるよね?その検索パターン、置換する文字列をそのまま使えるのか?
941デフォルトの名無しさん
2018/11/13(火) 21:22:12.20ID:Vxu3kwrv >>938
長い、3文字で
長い、3文字で
942デフォルトの名無しさん
2018/11/14(水) 00:32:01.09ID:cWkoLxip こんばんは。質問させてください。
VBAでXMLファイルを作成したいのですが、MSXML2というパーサ(?)を使わないといけないのですか?
Printなどを用いてテキストファイルを作成し、拡張子を.xmlに変更して作成した場合、何か問題があるのでしょうか
XMLファイルはただのテキストファイルだという認識だったのですが、「VBA XML 作成」などと検索すると
ほぼ全てのサイトでMSXML2を用いた方法が紹介されているので混乱しています
よろしくお願い致します
VBAでXMLファイルを作成したいのですが、MSXML2というパーサ(?)を使わないといけないのですか?
Printなどを用いてテキストファイルを作成し、拡張子を.xmlに変更して作成した場合、何か問題があるのでしょうか
XMLファイルはただのテキストファイルだという認識だったのですが、「VBA XML 作成」などと検索すると
ほぼ全てのサイトでMSXML2を用いた方法が紹介されているので混乱しています
よろしくお願い致します
943デフォルトの名無しさん
2018/11/14(水) 02:04:23.47ID:otO/yyOk Ruby, Python, JavaScript など、すべての言語・コマンドでも、そう。
HTML, XML, JSON などは、それ用のライブラリを使う
勝手に作ったファイルは、パーサーで解析すると、
間違った形式・フォーマットで作られている、正しい形式ではない、という形式違反になる
正しい形式かどうかを、チェックするツールもある
HTML, XML, JSON などは、それ用のライブラリを使う
勝手に作ったファイルは、パーサーで解析すると、
間違った形式・フォーマットで作られている、正しい形式ではない、という形式違反になる
正しい形式かどうかを、チェックするツールもある
944デフォルトの名無しさん
2018/11/14(水) 03:54:10.85ID:KIwP1nqR 以前DOMについて質問させて頂いたものです。
前回はIEを直接開いて扱っていたのですが、
MSXMLという機能でIEを開かずにウェブサイトの情報を取得できると知り、
そちらの方が速そうだし面白そうなので挑戦しています。
そこで色々調べていたのですが、
http://d.hatena.ne.jp/end0tknr/20081115/1226755041
というブログに「MSXML2.DOMDocumentでxml responseをparseすることができます。」とあり、
Dim HttpReq As MSXML2.XMLHTTP
Dim DomDoc As MSXML2.DOMDocument
・・・
DomDoc.loadXML (HttpReq.responseText)
というコードが記述されていますが、ローカルウインドウを見るとXMLHTTP(XMLHTTP60)にresponseXMLというそれらしいプロパティがあります。
直接これをDOMとして扱うのは出来ないのでしょうか。
前回はIEを直接開いて扱っていたのですが、
MSXMLという機能でIEを開かずにウェブサイトの情報を取得できると知り、
そちらの方が速そうだし面白そうなので挑戦しています。
そこで色々調べていたのですが、
http://d.hatena.ne.jp/end0tknr/20081115/1226755041
というブログに「MSXML2.DOMDocumentでxml responseをparseすることができます。」とあり、
Dim HttpReq As MSXML2.XMLHTTP
Dim DomDoc As MSXML2.DOMDocument
・・・
DomDoc.loadXML (HttpReq.responseText)
というコードが記述されていますが、ローカルウインドウを見るとXMLHTTP(XMLHTTP60)にresponseXMLというそれらしいプロパティがあります。
直接これをDOMとして扱うのは出来ないのでしょうか。
945デフォルトの名無しさん
2018/11/14(水) 06:47:08.50ID:F2hyLHDL >>942
> MSXML2というパーサ(?)を使わないといけないのですか?
別にMSXML2なんて単なるライブラリだから使わなくてもいいよ
ただXMLにきちんと対応するのは面倒だからみんな使ってるだけ
> MSXML2というパーサ(?)を使わないといけないのですか?
別にMSXML2なんて単なるライブラリだから使わなくてもいいよ
ただXMLにきちんと対応するのは面倒だからみんな使ってるだけ
946デフォルトの名無しさん
2018/11/14(水) 08:00:52.88ID:cWkoLxip947デフォルトの名無しさん
2018/11/14(水) 09:35:48.86ID:JBsUV7Ak >>940
VBAでの後方参照(\1や\2のような)はExecuteメソッドが要る、
grepやpowershellみたいに簡潔にならんけどできないことはない
Set Matches = RE.Execute(対象文字列)
For Each Match In Matches
Match.submatch(0) & """""" & match.submatch(1)
Next Match
VBAでの後方参照(\1や\2のような)はExecuteメソッドが要る、
grepやpowershellみたいに簡潔にならんけどできないことはない
Set Matches = RE.Execute(対象文字列)
For Each Match In Matches
Match.submatch(0) & """""" & match.submatch(1)
Next Match
948デフォルトの名無しさん
2018/11/14(水) 21:48:32.31ID:X5SCw3Kf 入力規則のリストでリストのいずれかを選択した時に
アクションを起こしたいのですが、方法はあるのでしょうか。
selection changeでは無理でした。
アクションを起こしたいのですが、方法はあるのでしょうか。
selection changeでは無理でした。
949デフォルトの名無しさん
2018/11/14(水) 23:16:38.95ID:Z7uIM71c >>948
普通のWorksheet_Changeイベントを使う
普通のWorksheet_Changeイベントを使う
レス数が900を超えています。1000を超えると表示できなくなるよ。
ニュース
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- 【EV新税】最大2万4千円で検討 28年から、普及妨げると異論も [蚤の市★]
- アメリカ、入国時に「日本人を含む外国人観光客の最大5年分のSNS履歴の提出」義務化へ 過去10年間に使用のメールアドレスや電話番号等も★3 [Hitzeschleier★]
- 【山形】クマ駆除で誤射した猟友会隊員に町が1663万円請求へ...弾当たり男性大けが2023年 小国町 [nita★]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★3
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 現代版「悪魔に魂を売る」とは ──実名顔出しでビジネス右翼に染まるということ── [743638351]
- 【悲報】高市早苗、被災民に対し「自分の命くらいは自分で守ってくださいね」と切り捨てし大炎上 [339712612]
- 🏡
- 【悲報】高市内閣、閣議決定後の文書を修正。木原官房長官が謝罪 [834922174]
