Excel VBA 質問スレ Part56

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん
垢版 |
2018/08/23(木) 07:25:24.98ID:Kh3D3mRW
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK


※前スレ
Excel VBA 質問スレ Part55
http://mevius.5ch.net/test/read.cgi/tech/1532236398/l50
2018/09/03(月) 20:00:12.28ID:cj4ncMHP
エスパーばかりで草
621デフォルトの名無しさん
垢版 |
2018/09/03(月) 20:00:29.82ID:lS5Tq6xt
>>619
パワーシェルやルビーはどこにも行けんやろw行くならおまえやw
天然なん?w
2018/09/03(月) 20:02:40.83ID:QuRlDWYz
>>621
パワーシェルのスレに行けば良いじゃん
行くとこなければ死ねばいいと思うし
2018/09/03(月) 20:03:02.47ID:QuRlDWYz
そうだパワーシェル死ねば良くない?
2018/09/03(月) 20:10:33.85ID:cj4ncMHP
パワーシェルに親を殺された奴いて草生える
何がそんなに気に入らんのや
2018/09/03(月) 20:13:30.99ID:QuRlDWYz
モスバーガーでマクドナルドハンバーガー美味しいと言ってる人居たらマクドナルドハンバーガーに行ってマクドナルドハンバーガーを美味しく召し上がれよと思うじゃんそんなにマクドナルドハンバーガーが好きならさ
2018/09/03(月) 20:23:44.18ID:cj4ncMHP
何かの事情があってモスに来てる奴が本当はマックの方がいいのに、、、とかぼやくくらいのシチュエーションなんて普通にあり得るんだよなぁw
2018/09/03(月) 20:32:46.67ID:QuRlDWYz
本当はマクドナルドハンバーガーに行きたいのか? どうしてマクドナルドハンバーガーに行かないよね?
628デフォルトの名無しさん
垢版 |
2018/09/03(月) 20:33:39.78ID:E2St7m4+
パワー系池沼には近寄りたくない
629デフォルトの名無しさん
垢版 |
2018/09/03(月) 20:52:04.26ID:lS5Tq6xt
大概ひきこもりやから遭遇する心配はいらんけどなw
2018/09/03(月) 20:54:46.57ID:QuRlDWYz
>>629
ははーんさてはおめーガチガイジやな
2018/09/03(月) 21:02:29.71ID:wbRndiEA
わざと頭悪そうな書き込みしてる?w
2018/09/03(月) 21:12:34.90ID:JdnjhIe3
テキストファイル(XMLファイルやJSONファイル)を1つのブックに詰め込んで出荷したいのですがどうすればいいですか?
データ用のシート・セルを用意してText属性に書き込む方式は自分でも考えましたが「それテキストファイルじゃなくてシートじゃん?」ってなるのでNGです
C#やVB.NETでいうところの埋め込みリソースが理想形です
2018/09/03(月) 21:19:34.10ID:wbRndiEA
ファイルは無理だがコードでいいなららテキストボックスに書けばよかろうよ
634デフォルトの名無しさん
垢版 |
2018/09/03(月) 21:22:30.37ID:lS5Tq6xt
>>630
なんでいきなりガイジ扱いやねんw失礼やわーコイツwwww
2018/09/03(月) 21:28:07.74ID:UxgVHc//
>>626
ここにきてる奴らはぼやくレベルじゃないぞ。
持ち込んで食べて、ゴミそのままで帰るレベル。
2018/09/04(火) 00:04:56.04ID:iBafINOM
>>633
もっとマシな方法はありませんか?
2018/09/04(火) 00:08:24.86ID:cvoAO9lV
ヒント:インポート
2018/09/04(火) 01:44:13.91ID:lSppTGjf
>>632
エクセルは表計算ソフトだよ
データはシートに入れなさい
2018/09/04(火) 02:05:52.33ID:wyjfDkHU
>>632
出荷とか養豚場でもやってんのか
2018/09/04(火) 06:54:40.55ID:3/AwwE8e
開いた状態の読み取り専用のエクセルをVBAで解除ってできますか?
2018/09/04(火) 08:40:32.27ID:72mF3vqs
>>637
シートにデータを置いた状態でセーブするんじゃダメそうだけどシートを使わずにできるの?
2018/09/04(火) 09:25:36.35ID:5XsTaBv6
>>616
ビックリ。
>>579のような要件じゃアドバイスなんてできんだろと思ってたら勝手にPowerShellでアドバイスしといて、条件でてきたらその言い草かよ。

PowerShellが良いと言いたいだけで、要件なんて何も考えてなかっただけだろ。
2018/09/04(火) 11:12:24.59ID:72mF3vqs
Powershellってどこかにプロモーション部でもあるの?
2018/09/04(火) 11:18:09.61ID:ALFFyOYp
仕事だと担当即外されるレベルだろうけどここは自由な場所だからね
2018/09/04(火) 11:31:41.08ID:Sk84LOCD
>>632
そんなフザケた要件、zipファイルに同梱で諦めろよ
バカバカしい
2018/09/04(火) 12:41:59.08ID:iBafINOM
VBAでは変なハックしないとリソースファイルを簡単には纏められないんですか
残念です
2018/09/04(火) 17:28:35.50ID:Yrriiexs
pdfから特定のデータだけ欲しいんだけど基本機能じゃ出来ない?
acrobat?買え言われた
とりあえず全選択貼り付けで正規表現で必要な値取るようにしたけどもっと手軽な方法あったら教えて
2018/09/04(火) 17:36:19.80ID:5IEm8hb2
デコードしてファイル読み込んで情報を探すだけでは?
2018/09/04(火) 19:01:02.67ID:Ur36aaCZ
PDFのファイルフォーマットみて自分でなんとかできるならVBAの基本機能でできるかもしれんが

手軽な方法はそれ用のライブラリ探すことからだな
2018/09/04(火) 19:06:17.28ID:VcFnwWP5
あまりに冗長なCOBOLコード(負の遺産)に嫌気がさし、ソース解析マクロの作成を決意。

作りたいものがあるとモチベ上がるよね
651デフォルトの名無しさん
垢版 |
2018/09/04(火) 19:11:22.13ID:RaX7EawA
コボルで書けや
2018/09/04(火) 19:17:05.03ID:qTWx44W8
そのマクロも負の遺産になる
2018/09/04(火) 19:38:58.88ID:Ia+IVj5j
それなぜVBA?
2018/09/04(火) 19:44:23.68ID:2YDEkct0
ソース解析ツールなんてそれこそ金出してでもコーディングの手間を惜しむべきコモディティじゃん
VBAでやる必要あるのか?
2018/09/04(火) 20:01:06.73ID:d1yNDTEj
ホストにある資源を自分のローカルに持ってくにはテキストファイル化せなあかんのや。
メソッド同士をハイパーリンクで紐づけたり、使ってるサブルーチンを表にしたり。なんやかんやでVBA様便利やでー
2018/09/04(火) 20:04:26.22ID:Ia+IVj5j
>>655
それってVBAとなんか関係あんの?
2018/09/04(火) 20:04:52.77ID:d1yNDTEj
幸い、COBOLはクラスとかアクセス修飾子って概念がないので他言語に比べたら解析ツールは楽に作れそう…って見立てや
2018/09/04(火) 20:10:57.08ID:qO3EZwXy
>>655
ホストにある資源って言ったら普通データのことだろう。
COBOLプログラムが資源なのか??
2018/09/04(火) 20:12:10.66ID:d1yNDTEj
>>656
VBAを選んだ理由を示しただけや。
やっぱりエクセルの機能を生かせるのがVBAの強みよ
2018/09/04(火) 20:12:57.29ID:qTWx44W8
VBAでCOBOLの構文解析とかそんな苦行に苦行を重ねなくてもまともなツールぐらい腐る程あるだろ…
と思って検索したらIBMのプログラムの次にVBAのツールが出てきて変な声出た
2018/09/04(火) 20:14:11.68ID:qTWx44W8
タンスの奥を探してたらゴキブリの死骸を見つけた気分だ…
2018/09/04(火) 20:14:17.39ID:Ia+IVj5j
>>659
理由になってなくない?
2018/09/04(火) 20:16:25.24ID:d1yNDTEj
>>659
認識の違いかな。すまん
俺はソースコードもホストの資源だと思ってるよ
データもソースも結局はデータセットに入っているわけだし
2018/09/04(火) 20:17:48.78ID:d1yNDTEj
安価ミスごめん。658に返答してる
2018/09/04(火) 20:18:56.94ID:Ia+IVj5j
つーかCOBOLに限らず古い言語って解析機の設定難しいよ
古いものは文法が洗練されてないので当然っちゃ当然だけど
666デフォルトの名無しさん
垢版 |
2018/09/04(火) 20:23:31.43ID:RaX7EawA
なんや急にこの賑いwプロさんてみんなコボラーくずれなんかw
2018/09/04(火) 20:23:44.65ID:d1yNDTEj
>>660
そもそも、レガシーなモノを解析するツールを、わざわざ新しい言語で開発するなんてあまりないんだろうな…
2018/09/04(火) 20:26:20.57ID:d1yNDTEj
>>665
そうね。大昔のソースは見ていて頭痛がするわ
谷のように深いネストやGO TOの嵐…
だからこそ何かツールを作ってみたくなった
669デフォルトの名無しさん
垢版 |
2018/09/04(火) 21:00:05.70ID:qO3EZwXy
>>663
COBOLソース解析してどう再利用するのさ?
そこがわからん
2018/09/04(火) 21:02:18.90ID:qO3EZwXy
流れ関係ないけどVBAってやっぱりネット上に良質の情報が少ないんだよ。
今のqiitaとかなんだありゃ。いったい誰に語りかけてるんだかわからん記事が多すぎだ。
2018/09/04(火) 21:17:41.07ID:Ia+IVj5j
良質な情報は良質なプログラマから発信される
アマチュア主体のVBAじゃ限度がある
672デフォルトの名無しさん
垢版 |
2018/09/04(火) 21:24:54.44ID:ltlt+wga
でもプロが作ったシステムより社内で作ったものの方が完成度高いんだよね
2018/09/04(火) 21:29:32.62ID:d1yNDTEj
わざわざVBAのノウハウをqiitaに投稿してくれる熟練者がいないのかもな。
VBAはあくまで仕事のためのちょっとしたツール作成のための手段というイメージ。
いわゆるガチな人の大半は、もっと違う言語に目を向けているのだろうな
2018/09/04(火) 21:31:59.83ID:Sk84LOCD
かなり以前にシステム移行で既存のCOBOLソースのチェック用にVBAでソース解析のツールを利用したことはある。
解析とは言ってもホストのコンパイル済みソースをPCに落としてその後どうしたか…もう昔のことで覚えていないw
2018/09/04(火) 22:45:37.57ID:TA0zYEOn
棒グラフの作り方で質問です。
バーの色を、データ元のcellや文字色に対応させて一括変更することは出来ますか?
2018/09/04(火) 23:36:54.27ID:SqKMuHLB
>>675
できます
677デフォルトの名無しさん
垢版 |
2018/09/04(火) 23:41:04.59ID:RaX7EawA
>>675
できません
>>676は貴方を騙そうとしています
彼には十分気をつけてください
2018/09/04(火) 23:51:20.39ID:Ia+IVj5j
真実は自分の眼で確かめるんだ
2018/09/05(水) 00:05:21.43ID:hA39yyTc
>>675
VBAなら簡単に色の変更ができる
https://i.imgur.com/VP1W4uD.jpg
680デフォルトの名無しさん
垢版 |
2018/09/05(水) 00:06:51.88ID:hapuVvhb
行の値を順番に見て見入って
別のシートのB列に存在していればA列に●ってのを入れたいのですが

For i = 1 To Range("B2").End(xlDown).Row
If WorksheetFunction.CountIf(Worksheets(Sheet1).Range("B1:B1000"), Range("B" & i).Value) = 0 Then
Range("A" & i) = "●"
End If
Next

5000行でもかなり時間がかかります。もっと時間がかからないやり方があれば教えて下さい
2018/09/05(水) 00:08:23.39ID:hA39yyTc
>>679のプログラム
Sub Macro1()
  ActiveSheet.ChartObjects("グラフ 1").Activate
  With ActiveChart
  For k = 1 To 2
    With .FullSeriesCollection(k)
    For p = 1 To 10
      .Points(p).Format.Fill.ForeColor.RGB = Cells(p + 1, k).Interior.Color
    Next
    End With
  Next
  End With
End Sub
2018/09/05(水) 01:00:37.13ID:D+OUZtCk
>>680
作業列作るなりしてワークシート関数でやった方が早いよこんなことは
あと、この条件だとSheet1に値が存在しない場合にA列に●がつくことになると思うよ
2018/09/05(水) 01:38:55.49ID:/jm+tBQ6
?とりま全部配列にぶち込んで置換処理してから書き出しでは?
2018/09/05(水) 01:45:14.10ID:Utg8HVgU
>>673
VBAのスキルをアピールすると逆にバカだと思われるから
煽りじゃなく転職とかで事実そういう目で見られる
2018/09/05(水) 02:58:54.45ID:K0pGicrM
>>632
まず第1にマクロの記録はやってみたのか?
やりもしないで質問するじゃ回答がつかないのも仕方無かろう。

次に、内容をよく見ればXMLやJSON関係ないだろ。
テキストファイルさえ関係ない。
質問する時にいらない情報は削った方が良い。


>>636
>>646
君が元の質問者かどうか分からんが、マクロの記録さえやらない、もしくはそういう機能さえ知らないレベルの者が回答がつかないからといってVBAでは難しいなどと思い込むのはどうなんだ?

元の質問者じゃ無かった場合だとしてもディスる為に試してみることさえしないようなレベルの奴は、そもそもプログラム組むような仕事はして欲しく無いな。
周りにとって迷惑だ。
2018/09/05(水) 03:00:31.24ID:UEpkpswy
↑はあ?
2018/09/05(水) 03:05:14.58ID:K0pGicrM
>>647
基本機能というのがどういうものか分からんが、PDFの仕様が分かればファイルの読み書きで出来る筈だ。
昔、そういうのを書いたことがある。
ただし、PDFの場合、バージョンと扱いたいデータによっては出来ないこともあるだろう。
2018/09/05(水) 04:36:08.22ID:cWJzUFK9
PDF関連は、ここ読んでVBAで作ったことあるけど、面倒だったな
ttp://pdf-file.nnn2.com/
2018/09/05(水) 05:27:37.56ID:w7O3HrXU
>>685
マクロの記録でどう操作すればファイルを同梱できるん?
2018/09/05(水) 06:11:08.39ID:d26VWmGv
>>685
文字列型データをセルやテキストボックスのような組み込みオブジェクトのどれかにコピーするという単純な話だと誤解してないか?
埋め込みリソースの意味が分かってないなら君が黙ってた方がいいと思う

basファイルというか標準モジュールに行頭カンマ付 or 二重引用符付でデータを書き込んでおいて、そのデータをマクロ実行時にコピーして任意の形式のファイルを生成するとかはどうかな
この方法なら一応、エクセルのオブジェクトへのテキスト保存という方法よりは埋め込みリソースに近いイメージになるかも
VBEの操作を含むマクロになるので配布のハードルが著しく高くなるし、画像とかなら埋め込んでおくデータをバイナリデータにするとかの工夫が必要だけど
2018/09/05(水) 08:05:37.32ID:K0pGicrM
>>689
>>690
???
あのさあ、試してから言ってくれないかな。

1.[開発]リボン→[マクロの記録]を選択
2.[挿入]リボン→[オブジェクト]を選択
3.[オブジェクトの挿入]で[ファイルから]タブを選択して、ファイル名に適当なdllを指定する。
4.[開発]リボン→[マクロ記録の停止]

これで基本的にどんなファイルでもシート上に埋め込めるソースコードが出来てると思うんだが。

俺の誤解だったらすまないが、俺への指摘が噛み合ってるように見えないもんで。
2018/09/05(水) 08:14:23.51ID:K0pGicrM
埋めこみオブジェクト自体は誰でも知ってる基礎的な話だと思うんだよ。
なにしろ20年以上前に初めてExcel触った時からあった機能だと思うんだよな。
シートに画像を貼り付けたつもりなのにアイコンになってしまったなんて質問をそれぐらい前に見たような気がするんで。

であれば何らかの理由が無い限りマクロの記録でそのためのソースコードが出来るだろうと考えるのも当然のこと。

何でこんな質問が?とも思ったけど、何らかの理由があってマクロの記録では記録されないような機能だったかなと試してみたら記録された。
2018/09/05(水) 08:29:10.16ID:K0pGicrM
>>688
俺が書いたのはこんな便利な機能使ったものじゃないと思う。
PDFのファイル構造はググれば出てくるが、バイナリをゴリゴリする方法だったと思う。
OLE使った記憶が無いもんなあ。
すまんが、大分昔で自分がどんな方法で書いたかはほとんど覚えていないのでかなり曖昧。

ゴリゴリ書く方法はお勧めしない。
>>688のリンク先の技術を使った方が良いね。
2018/09/05(水) 08:40:26.86ID:BLSFUWnl
>>691
ありがとう
やり方がわからないから聞いてるわけで
わからないんだから試せるわけないよね
次からはもっとさっさと説明してね
2018/09/05(水) 08:45:18.19ID:BLSFUWnl
オブジェクトの挿入じゃダメだった?
と聞くのがいんじゃないかな
マクロの記録は試したかじゃ意味がわからないよ
2018/09/05(水) 08:54:18.91ID:BLSFUWnl
教えてくれてありがとうという感謝の気持ち
態度が気に入らないという憤慨の気持ち
2018/09/05(水) 09:00:50.18ID:K0pGicrM
ファイルを埋め込むという機能が存在する、そしてその方法も知っているけれどもそのVBAのコードを知りたいという質問と受け取ったので。
2018/09/05(水) 09:06:09.22ID:BLSFUWnl
なるほどじゃあしょうがない
2018/09/05(水) 09:23:22.51ID:WdcKF4ti
相変わらず日本語読解が下手くそなようで
2018/09/05(水) 09:23:33.11ID:/jm+tBQ6
久しぶりに質問スレらしい流れになったことを謹んでお喜び申し上げます
2018/09/05(水) 10:28:50.37ID:nGdPYXGE
>>680
並び替え可能なら、Matchのバイナリサーチモードで1Sec以内で終わると思う。
2018/09/05(水) 11:04:22.64ID:X0GkLMTX
>>693
記憶が曖昧とか誤魔化さなくていいよ
ググったらそれらしいものが出てきたからドヤりたいけど、やったことないからやったことあるって断言したくないなーってところかな
2018/09/05(水) 11:18:04.04ID:ygtNLEZP
PDFでドーナツ作る方法教えてください
2018/09/05(水) 12:01:11.93ID:tFzj0agy
横からだが>>632のやりたいことを誤解してたようだ。
シート以外の場所にテキスト情報を埋め込んで、なおかつプログラムから直接その内容にアクセスしたいんだと思ってた。
埋め込みオブジェクトじゃそんなこと出来そうもないしな。
単に同梱したかっただけなのか。
2018/09/05(水) 12:14:10.69ID:7w3bpeCa
>>704
質問者ですがあなたの理解のほうが正しいです
埋め込みオブジェクトの話ではありません
余計なシートやオブジェクトを増やしたくはありません
2018/09/05(水) 12:17:37.36ID:tFzj0agy
>>705
ふーんそうなんだ
念のためだけどテキスト情報は隠蔽する必要があるの?
それと量はどれくらい?
2018/09/05(水) 12:27:37.99ID:K0pGicrM
>>702
???
俺は>>688じゃないし、ググってもいない。
当時PDF Hack読んでたからそれに載ってる情報かもしれないが、手元にPC無いから確認できん。

PDFの仕様はググれば出てくるぞ。
後はバイナリで読み込めば良い。
当時作ったのも、サンプル程度の断片だ。
家で探せば有るとは思う。
2018/09/05(水) 12:29:44.62ID:K0pGicrM
>>703
ドーナツ画像をPDFにするだけじゃね?
そんなことを知りたいの?
2018/09/05(水) 12:31:49.01ID:7w3bpeCa
>>706
C言語やC#などの埋め込みリソースを使用するのに適した場面と同程度を想定してください
2018/09/05(水) 12:39:44.20ID:K0pGicrM
>>705
自分が少しおかしなこと言ってる自覚ある?
テキストファイルに画像を埋めこみたいと言ってるようなもんだぞ。
それでテキストにエンコードして追加してもテキストファイルじゃないと言い張ってるようなもんだ。

俺もブックはZip圧縮したものだから、単純に中に含めることも考えたけど、それって正式にExcelのブックと呼んで良いのかね?
JPEG画像なんかにファイル埋め込むのと一緒。
2018/09/05(水) 12:52:34.07ID:BLSFUWnl
お客様の中にオプンエクスエムエルの仕様に詳しい人は居ませんか? カスタムファイルを含むことはできるんでしょか?
2018/09/05(水) 12:59:52.03ID:7w3bpeCa
>>710
おかしいでしょうか?
テキストや画像とマクロブックでは利用目的もなにもかもが全く違います
テキストに画像を埋め込みたいという需要はあまりないかも知れませんが(まあSVGとかありますけどね)
マクロブックは1ファイルであることに非常に大きなメリットと需要があります
もしも他の言語で出来るようなスマートな方法でファイルリソースを埋め込むことができないならば
それはマクロブックのアイデンティティを揺るがしかねない由々しき問題です
2018/09/05(水) 13:04:23.79ID:X0GkLMTX
>>707
自作PDFを齧った人なら「仕様はadobeから出てるよ」「後はデコードしてテキスト処理すればいい」と言うんじゃないかな?
714647
垢版 |
2018/09/05(水) 13:20:43.83ID:Xc88RL8s
レス付けてくれてる人ありがとう
ただ初心者で事務員レベルの知識しかない為デコード云々言われても全然ピンときてないわ
とりあえずurl参考にもう少し学んで、まだ分からない点あったら後日改めて具体的に聞く
2018/09/05(水) 13:36:03.48ID:EHTwLxuU
>>712
PowerShellやRubyではどのように埋め込みますか
2018/09/05(水) 15:27:11.66ID:UEpkpswy
Rubyでは埋め込まないで
ファイルそのまま置くだろ
Webアプリが多いし
2018/09/05(水) 16:15:19.01ID:tFzj0agy
シートこそテキストの埋め込みに最適な気がしてきた
セルに名前付ければそれが擬似的なファイル名じゃないか
718647
垢版 |
2018/09/05(水) 18:25:15.51ID:Xc88RL8s
>>688の参考サイト見たけどやっぱりacrobat proが無いと動かんみたい
理想は標準機能(オートメーション?)での操作なんだけどproが無いと無理そうだよね?
あとpdfデコードしてーてのは普通にpdf開いてテキスト部分がバイナリ化?されてるからそこを戻したらテキストいじれるて理解であってる?
2018/09/05(水) 18:33:27.68ID:dDzWsxlQ
>>677
自分の無能さを思い知れ
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況