Excel VBA 質問スレ Part68

■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ dbda-8BP0)
垢版 |
2020/08/30(日) 11:55:27.33ID:Oy/VxFsh0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける

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

※前スレ
Excel VBA 質問スレ Part67
https://mevius.5ch.net/test/read.cgi/tech/1593104489/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2020/11/04(水) 21:07:01.95ID:+u5LkCAg0
txtデータをダイアログから開いた時に
元のxlsmにあるテンプレというシートを
毎回そのブック内の右側に添付したいんですが
御教授お願いします。。
毎回txtデータの名前は異なります。
なかなか調べてもわかりません
2020/11/04(水) 21:12:25.29ID:iJjhODSM0
よくわからんが、単純に If right(filename, 4) = ".txt" Then じゃダメなんかい
2020/11/04(水) 21:32:08.71ID:+u5LkCAg0
>>754
初心者で理解できてなくてすみません
色々サイトを検索はしたのですが

Sub テキストを読み込む() Dim TARGET_TEXT_FILE As String
ChDir "C:\テキストデータフォルダ"
TARGET_TEXT_FILE = Application.GetOpenFilename("テキストファイル,*.txt")
If TARGET_TEXT_FILE = "False" Then Exit Sub Workbooks.OpenText TARGET_TEXT_FILE End Sub

今のところこれでテキスト開いてるだけなんですが
全く変えた方がいいですか?
これで開いた新ブック全てに元々あるテンプレというシートを添付させたいのですが
説明も下手で申し訳ないです
2020/11/04(水) 22:21:06.79ID:+u5LkCAg0
結構片っ端からヒットしたサイト調べてますが答えがあるのかもしれないのですがなかなか知恵が出てこず…どなたかお助け頂ければと
2020/11/04(水) 22:28:00.55ID:iJjhODSM0
開いた後にこうかな?

ThisWorkbook.Worksheets("テンプレ").Copy , Workbooks(Dir(TARGET_TEXT_FILE)).Sheets(1)
2020/11/04(水) 22:41:28.62ID:4kHESo6md
>>755
Dim tsh As WorkSheet
Set tsh = ThisWorkBook.Worksheets(″テンプレ″)
としておいて、
テキストファイルをオープンした後に
tsh.copy
ActiveWorkbook.insert
とかなんとかできないかね
2020/11/04(水) 23:45:56.25ID:+u5LkCAg0
>>757
>>758
お二方、本当にありがとうございます。
いまホテルでPCが無い環境になってしまったので
また試させていただきます。
もし上手く動かなくても勉強にさせてもらいます。本当に感謝します。
2020/11/05(木) 00:34:34.60ID:Hf0k6gxcd
初心者、勉強中って設定でくれくれするスタイル
2020/11/05(木) 00:55:08.79ID:E/zWC4JEM
ID:+u5LkCAg0

いつものあいつだろ
762デフォルトの名無しさん (ワッチョイ d2e6-DMUe)
垢版 |
2020/11/05(木) 01:18:00.31ID:MmJj0qw00
わざわざこんなとこで聞くよりググったほうが早いからな
ただのかまってちゃんだ
2020/11/05(木) 01:33:03.90ID:wTkbtAOfd
>>762
意味もわからずコピペするだけの馬鹿だから無理なのだろ
2020/11/05(木) 01:37:27.03ID:eUwwuQR20
>>759
死ね
2020/11/05(木) 13:00:01.73ID:OVMdlSXB0
>>751
>>752
直じゃなくて一旦DB化(一括インポート)しなきゃなんねえの
Jet.OLEDB,ACE.OLEDB,SQL Server,Power Query
外部DBが使えるならなんでもええがな
こいつら通さずエクセルに直にSQL送ったところで何も帰ってこないよ
さらにいうとエクセルファイルにDBアクセス中にエクセルファイル書き換えると整合性が取れなくなる
別物をかましてるんだからエクセル同志でDB接続とは言えんだろ
2020/11/05(木) 13:45:53.52ID:eUwwuQR20
>>765
黙っていればいいのに
2020/11/05(木) 17:33:55.88ID:E/zWC4JEM
ODBC全否定の馬鹿がいる
768デフォルトの名無しさん (ワッチョイ 3162-cN9R)
垢版 |
2020/11/05(木) 18:57:09.85ID:hU6fY/MX0
凄く初歩的な質問ですいません。
VbaでEDGEを操作することは可能ですか?
可能ならIEで使っていたコードは使えるんでしょうか?
2020/11/05(木) 19:50:31.94ID:SbS9cEmY0
>>765
ただの屁理屈だそんなもん
ADOだのMSクエリ前提で話しているに決まってるだろうが

パソコンでテレビを見るには、チューナを外付けしないといけないから、
パソコンでテレビを見られるとは言えない、とか言ってるようなものだぞ。
2020/11/05(木) 19:55:08.43ID:f0srNcEJ0
それは見られるとは言えなくないかな
2020/11/06(金) 08:21:13.15ID:aBeRil+I0
いつものあいつって、最初はものすごく下手に出ておいて、希望した回答が得られないと態度が豹変するあいつ?
2020/11/06(金) 08:41:53.56ID:OISZDae80
元管理職の失業組だろ
2020/11/07(土) 18:11:38.24ID:6yLRlRLnd
VBAで業務の効率化ってさ
そもそもその会社の業務自体に無駄があるってことなんじゃないかと思う
2020/11/07(土) 20:19:13.66ID:ufTrf7Gx0
職場によるだろ
2020/11/08(日) 11:01:30.15ID:j+tA5MDCr
ipodを水槽にいれて泡がでたら無駄な隙間があるとか言う人いたな
2020/11/08(日) 19:42:01.52ID:T0G2ZKHSd
>>775
それ、Walkman
2020/11/08(日) 21:47:30.07ID:EFkAxVvD0
ジョブズじゃなかったんだな
そしてウォークマンでもなくてハンディカムのようだ
https://www.youtube.com/watch?v=O1mA5aAobQs

このサイトから ttps://www.netlorechase.net/entry/2017/10/24/225700
2020/11/08(日) 23:24:57.18ID:FZ/N1P5c0
そうだったか
779デフォルトの名無しさん (ワッチョイ f6ba-4KOL)
垢版 |
2020/11/10(火) 00:58:18.05ID:e7NaagA90
ExcelのM言語のMはマイクロソフトのM??
2020/11/10(火) 03:15:43.67ID:Zw48sTQ/M
M言語
M数式言語
M formula language

Mathemstics?
2020/11/11(水) 01:18:20.78ID:410+hQkP0
>>777
マジか。俺もジョブズだと思ってたわ
782デフォルトの名無しさん (ワッチョイ 4b64-bMCz)
垢版 |
2020/11/11(水) 04:19:34.31ID:WkAepZ970
3つの整数をA1,B1,C1にいれるとE1に最大公約数を返すプログラムの作り方をforを用いてプログラムを教えてください
2020/11/11(水) 05:44:55.43ID:VHf4ZVdyd
>>782
まずVBEを起動するんだfor!
アルゴリズムを調べてコーディングするんだfor!
うまく動くかテストするんだfor!
2020/11/11(水) 07:39:17.89ID:8Vps9xVZF
関数だけでできそうだけど
そういう課題なのか
2020/11/11(水) 09:12:45.50ID:NzDVkmVe0
>>782
GCD関数使えよforw
2020/11/11(水) 10:48:02.91ID:Dk9c6JTy0
worksheetfunction.gcd
2020/11/11(水) 10:56:58.34ID:IB1GfatT0
>>782
最大公約数ってどうやって求めるか学校で習わなかった?
2020/11/11(水) 13:53:58.74ID:e2rtbcNbd
習った方法を使えっていう宿題でしょ
2020/11/11(水) 21:28:17.72ID:vTolfJQJ0
最大公約数ってなんだっけ
2020/11/12(木) 02:56:54.96ID:D//YL0tK0
Option Explicit
Sub a1tob1toc1nosaidaikouyakusuuwoe1ni()
  Dim i As Integer
  For i = 1 To 32766
    Range("E1").Value = Application.WorksheetFunction.Gcd(Range("A1"), Range("b1"), Range("c1"))
  Next
End Sub
2020/11/12(木) 09:09:00.81ID:ST9GqaMQx
integerは内部的にlongで
2020/11/12(木) 09:53:50.69ID:dLdd5MAGd
for文にするだけ時間の無駄でワロタ
2020/11/12(木) 10:00:33.57ID:PR3AJwPG0
>>789
https://ent.smt.docomo.ne.jp/article/3770312
2020/11/12(木) 10:05:34.74ID:D//YL0tK0
「最大公約数的に言ってもさあ、チーズはトマトと合わないだろ」
2020/11/12(木) 10:12:44.88ID:3oP0YSbIM
https://ja.wikipedia.org/wiki/%E3%83%A6%E3%83%BC%E3%82%AF%E3%83%AA%E3%83%83%E3%83%89%E3%81%AE%E4%BA%92%E9%99%A4%E6%B3%95
2020/11/12(木) 12:26:30.98ID:jhXNMBL9d
>>790
E1のセルに穴が開いてしまいそう
2020/11/12(木) 13:00:21.74ID:Xe+3GA0qr
セルに穴が開くは草
2020/11/12(木) 13:14:40.95ID:0RDn4/V3a
実行時エラー
E1 セルに穴が空きました。
2020/11/12(木) 13:28:50.78ID:wc/lKUuCa
ソルバーって難しい?
2020/11/13(金) 10:02:25.42ID:LV0NFHn10
ザッパーを256発当ててもバキュラは壊れません
2020/11/13(金) 20:33:56.91ID:O1u/8jBw0
VBAでシフトJISファイルをEBCDICに変換するマクロ作ってみたわ。
http://tamajimu.sytes.net/archives/911
VBScriptのやつはあったけどVBAのがなくて移植しようと思ったら手こずってしまった。
もっといいやり方あるのかな?
ネット上にはVBAのやつがなかったので自分のを公開する。
2020/11/13(金) 22:57:57.42ID:BOglHVUm0
VBSで済むならVBSでいいんじゃない?
2020/11/14(土) 11:53:56.66ID:vG/wLc460
>>801
wikiに詳しく書いてあるのを読んで目的の動作をしたならそれでいいと思う
2020/11/15(日) 12:06:41.61ID:2IkUI34w0
昔VBで自作した覚えがあるなぁ
VBSの移植で、どこにどう手こずったんだろ

.NETのSystem.Text.Encoding使う手はどうだろうと考えたみたが
GetEncodingでエンコード取得するのがうまくいかんな
誰かこれうまいことやる方法しってる?
2020/11/15(日) 17:00:18.68ID:11DSlt/B0
無いと思うな
最悪、CreateObject("WScript.Shell")で逃げられるし
2020/11/16(月) 14:27:06.48ID:yPbGtyDu0
ウインドウ固定をスクロールに応じて動的に変えるにはどうすればいいですか?

例えば、最初は2018年の列が固定されていて、2019年の列までスクロールしたら、2018年の固定を解除して2019年の列を固定するように変えたいです。
2020/11/18(水) 17:51:40.71ID:kO5sqIUGM
>>773
残業代欲しくてわざとチンタラ仕事したり自分にしかわからないようにするのをVBAでどーにかするのは無理だわな。
2020/11/20(金) 19:59:25.75ID:eS+rN1Snr
shapes.count、chartobjects.countで数えても引っ掛からないグラフってどうしたら操作できますか?
そのグラフは隣シートを参照して自動的にできるものっぽいんですけど
2020/11/20(金) 20:06:15.76ID:4NTNOb8s0
リストボックスの検索結果をダブルクリックすると該当セルを選択するようなものを実現したいのですが

実行時エラー 13
型が一致しません

とでます
該当箇所は
.Range(.Cells(ListBox1.List(ListBox1.ListIndex, 0) + 1, 1), .Cells(ListBox1.List(ListBox1.ListIndex, 0) + 1, 13)).Select

です

恐らくネットからコピペして来たものなのでセルの選択が間違っているのかと思うのですが、このコードの意味がわかりません…
どう修正すればいいでしょうか
またどこがなんの意味を表しているのか教えてください

全文 https://writening.net/page?C2Jumd
2020/11/20(金) 20:13:05.23ID:4NTNOb8s0
全文 https://writening.net/page?2uBnnv
上げ直しました
2020/11/20(金) 21:26:13.24ID:u+DVE/AE0
なぜ中途半端にあげるかね?
いちいちコマンドボタンやらテキストボックスやらデータなんて
作ってられるかっちゅうの
2020/11/20(金) 21:38:29.90ID:YhokOqrJM
だっちゅーの!
2020/11/20(金) 22:41:32.48ID:D5mBkKKe0
いつもの人だからなぁ
2020/11/21(土) 02:17:04.68ID:Kfg2B/Kg0
一々ソース見てないけど
どうせ標準モジュールでちゃんとどのブック、どのシートと指定していないと決めつけていい?
2020/11/21(土) 02:48:01.11ID:sGgCeBQZ0
>>809
貼り付けミスしなんじゃないかな
2020/11/21(土) 06:39:44.77ID:Q7uFQ1A40
.Range(.Cells(略),.Cells(略))

Range(.Cells(略),.Cells(略))
2020/11/21(土) 13:47:07.56ID:NgQ98i5wM
Excel VBAでも証券会社(e立花証券)のAPIを操作できるのでしょうか?
ExcelのVBA以外やったことがなくpytonなどからAPIを動かしてる動画などはよく見かけるんですが
2020/11/21(土) 15:32:34.25ID:3xACDtrT0
またいつもの人か
2020/11/21(土) 18:28:17.03ID:P16HPZ2I0
JSONって書いてあるから出来るんじゃないかと思ってググったら、
トレードステーションスレとマルチしてるのが見つかったわwwww
2020/11/22(日) 02:36:45.00ID:xXy7jV1TM
人に聞きまくるだけのクズ
2020/11/24(火) 19:01:29.52ID:IcwWHa740
クズは悪意のあるマクロとか平気で作るからな
2020/11/29(日) 03:39:08.87ID:zPhy879P0
ExcelでADOを使ってcsvを取り込む前に、

@csvの1行目を削除

Acsvの特定の列の1行目(@の前は2行目)の文字を修正

これを自動化するにはどうしたらいいですか?

業務システムから出力されたcsvをExcelに取り込む作業があるのだけど、
1行目に邪魔な出力日時が出てきてこれを消さないとADO+SQLのselect文で2行目のフィールド名を使えません
あとフィールド名に一部重複があるので、
例えば「日付」→「日付2」に修正した上で取り込みたいです
2020/11/29(日) 06:51:19.70ID:FO1CPqk3M
データとして読み込む前に、一行目棄てる、フィールド名変える処理したテンポラリファイルを作る。
2020/11/29(日) 09:01:56.95ID:Kj8zNz7J0
ああ、俺もそういうカスみたいなCSVに当たったことあるわ。
何のためのCSVだボケって言いたくなるような。

最初に1行だけテキスト読み込みして日付を調べておいて、

SELECT [出力日:2020/11/29] AS 商品コード
      F2 AS 商品名
      F3 AS 単価
      F4 AS 数量
WHERE 商品コード <> '商品コード'

とか無理矢理やるわwww
2020/11/29(日) 09:12:18.87ID:sYtQed9+0
フィールド名に重複とかどんな出力したんや。。Excelからくらいだろそんなの
2020/11/29(日) 09:20:35.18ID:Kj8zNz7J0
CMやってるような有名なシステムでも、そういうアホな出力あるよ
あとカンマ入れるとそのまま出てきて1列ずれるとか
2020/11/29(日) 09:47:04.02ID:GxGIo6I2d
アホかねえ。
別にそんなのどうとでもなるから不満にもならんな。
2020/11/29(日) 10:21:13.40ID:cY0oCL3I0
>>823
できました!
csvの取り込み方を工夫するのではなく、
tmpシートを新たに用意してそこに読み込ませて加工、
今度は今までのコードの接続先をcsvではなくtmpシートに変えてなんとかなりました

>>824
作った業者がアホなのか依頼した会社がアホなのかわかりませんが、
例えば商品コード的なものも正式表記と略号表記があって、
どちらも同じ「商品コード」というフィールド名になってたりします
2020/11/29(日) 19:32:45.82ID:0shL7X0+0
前々スレくらいで乱数発生教えてくれた人
今でも本当にありがとうと感謝してる
仕事で役立ちすぎて凄いわ
ある範囲を元に乱数発生させるがその数値は変化をさせないジレンマのあるようななるほどと思わせる構文ですね
と言われたわ
2020/11/29(日) 20:57:17.58ID:IKbaIR8zM
元スレ読んでないけど仕事で乱数使うの?
2020/11/30(月) 03:02:50.68ID:sOcEfqne0
ちょっと前にランダムなデータを提出する謎仕事の質問があったなあ
VBA化したら一瞬で終わるようになって事務員がクビになったとか、そんな話
2020/11/30(月) 08:57:41.49ID:xTe8QWkix
んん??

ランダムなデータを手作業で作るの?
かなり偏り出そうな…
2020/11/30(月) 11:41:47.50ID:iR+tWSWoM
データ数が有限だと、それが本物の乱数なのか人工的な物なのか判断する方法は存在しないんだよね
どんな数字列でも無限にある乱数列のどこかに存在するってのが本来の乱数の性質だから
834デフォルトの名無しさん (ラクッペペ MM8f-0O1z)
垢版 |
2020/11/30(月) 12:10:12.72ID:Jnj49cs/M
仕様書の範囲内でバラけた成績を印刷するお仕事
2020/11/30(月) 13:26:59.23ID:owcTZSsV0
無限のデータって何よw
あったとして、お前それ仕事で扱うの?www
836デフォルトの名無しさん (ワッチョイ 9fe6-0O1z)
垢版 |
2020/11/30(月) 20:42:38.07ID:ocjeHolz0
無限発射編と言っても実際には無限じゃないしな
本当に無限発射すると宇宙がヤバイ
2020/11/30(月) 23:51:07.47ID:14M55Ual0
毎日出力される日報の各数値を手打ち入力とかよくあるわな
そんな無駄な作業専門で雇われている人、無駄ともおもわず人件費払っている企業
なんて古き良き日本にいくらでもあるわな
2020/12/01(火) 01:02:20.49ID:KOqkaYUf0
夢幻には続かないだろ。
人類がドンナニ存続したところで地球が太陽に飲み込まれたところで終わり。
はい。どこが無限?
無限舐めてんの?
2020/12/01(火) 13:40:24.29ID:ONuiiYDb0
設計書のヘッダー全部オブジェクトにしたやつなんなんだよ
頭わいてんのか
2020/12/01(火) 15:04:54.04ID:5apuVehDa
許可とって修正すればいいのに
2020/12/01(火) 15:57:24.69ID:vDY3LCcWa
本文と共通ヘッダーの構成があわないからオブジェクトで無理くりヘッダー作ってたりするんだよな
うちにもそういうのあるわ
2020/12/02(水) 18:57:34.84ID:EOzgXD7Pr
すいません、全くvbaについて無知なのですが、A2セルに入力した数字を、A3セルに=A2にて反映させてます。A2セルに続けて数字を入力した時に、A3セルの数値は、続けて入力した値になると思うのですが、入力した内容を上書きせず、A4.A5.A6...と、下のセルに移動させることは可能ですか?また、その数値も自動的に小さいものから並び替えできるでしょうか?
2020/12/02(水) 19:24:49.44ID:81/GxXQs0
1回目入力 A3に
2回目入力 とりあえずA4に
A3〜A4を並び替え
3回目入力 とりあえずA5に
A3〜A5を並び替え

って事?
2020/12/02(水) 19:37:38.35ID:nZBMSUJj0
VBAに使用期限つけてパスワードかけて異動するわ
来年のある日から使えなくなる
さようなら
2020/12/02(水) 21:30:31.44ID:/gAV7aXpr
異動かよ
呼び戻されるだけじゃん
辞めろよw
2020/12/02(水) 21:31:41.45ID:gNwzbv2M0
>>844
VBAのパスワードなんて簡単に解除できちゃうから意味ないぞ
2020/12/02(水) 22:02:06.69ID:nZBMSUJj0
>>845
いや、知らないですけど、くらいにとぼけようかなと
>>846
そこまでガチガチにやるつもりもなく
プロパティのロックしとく程度の予定

やっぱ悪質かなぁ
上司と遺恨のあるまま異動だから悔しくて
848デフォルトの名無しさん (スフッ Sd94-3VNM)
垢版 |
2020/12/02(水) 23:32:51.81ID:sVdwSulSd
自分で作ったんなら削除して手作業でやるんですよと引き継ぎすれば良いやん
2020/12/02(水) 23:51:34.76ID:HxNBAEyx0
>>843
いや、入力は全てA2セルで固定して行い、A3セルに反映された値を消すことなく(A2に次の入力があれば、A3の値がA4とかに移動すりかして残るように)、連続入力がしたいです。
2020/12/02(水) 23:59:29.48ID:gNwzbv2M0
>>847
その気持ちスゲー分かるわ
だって俺と考えてること一緒だもんw
2020/12/03(木) 00:00:39.50ID:txWN3KLI0
出来る
2020/12/03(木) 00:23:36.83ID:Bl+88s6V0
>>847
時限式のマクロウイルスみたいだな
■ このスレッドは過去ログ倉庫に格納されています