1 名前:デフォルトの名無しさん mailto:sage [2020/03/17(火) 16:27:20.88 ID:hh8LiIgR0.net] ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part64 https://mevius.5ch.net/test/read.cgi/tech/1575297834/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
175 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 10:15:36.71 ID:nxBKOFy80.net] 自動更新の間隔を短くするのが無理なら手動でできないのかな? 強制的に切断と接続を繰り返してみたらどうだろう
176 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 13:14:06.10 ID:MDQA80eK0.net] >>173 やっぱり、逆だよね
177 名前:デフォルトの名無しさん mailto:sage [2020/04/04(土) 18:10:09.51 ID:x7mbZh3f0.net] >>172 ローカルのつもりだったんだけどそれなら共同編集になるのかな?
178 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 01:47:50.77 ID:LE/VkChT0.net] セルA1とB1の数値が一致しない場合はC1を塗りつぶす、というのはできるのでしょうか?
179 名前:デフォルトの名無しさん mailto:sage [2020/04/05(日) 01:56:11.77 ID:RR8jfU5J0.net] >>177 If A1 <> B1 Then [C1].Interior.Color = RGB(1, 234, 56)
180 名前:デフォルトの名無しさん (ササクッテロ Sp01-xTSh) mailto:sage [2020/04/05(日) 07:39:22 ID:BAT1a6hLp.net] >>178 ありがとうございます!
181 名前:デフォルトの名無しさん (ワッチョイ 1b06-bVUD) mailto:sage [2020/04/05(日) 11:37:21 ID:FbjC6ZOO0.net] A行の値を見て、その値が1だったら、空白行を上に2つ入れたいのですが、できますか。
182 名前:デフォルトの名無しさん (ワッチョイ 1b06-bVUD) mailto:sage [2020/04/05(日) 11:44:06 ID:FbjC6ZOO0.net] 間違えた。 A列の値を見て、その値が1だったら、空白行を上に2つ入れたいのですが、できますか。
183 名前:デフォルトの名無しさん (ワッチョイ 8d7c-5QI3) mailto:sage [2020/04/05(日) 11:59:20 ID:Kx41qnng0.net] できます
184 名前:デフォルトの名無しさん (ワッチョイ 5dce-bVUD) mailto:sage [2020/04/05(日) 12:00:45 ID:RR8jfU5J0.net] >>180 Sub Macro1() For r = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1 If Cells(r, 1) = 1 Then Rows(r).Resize(2).Insert Next End Sub
185 名前:デフォルトの名無しさん (ワッチョイ 1b06-bVUD) mailto:sage [2020/04/05(日) 12:32:03 ID:FbjC6ZOO0.net] >>183 ありがとうございます!できました。
186 名前:デフォルトの名無しさん (ワッチョイ 45ac-tCKN) mailto:sage [2020/04/06(月) 00:22:26 ID:8R1em71p0.net] ほんまこの程度自分で考えないのかなあ
187 名前:デフォルトの名無しさん (ワッチョイ 23ad-KBPB) mailto:sage [2020/04/06(月) 01:48:40 ID:SI8CeRSt0.net] 子が吐き出したcsvデータ(子の状況により1ファイル数行〜数百行程度のデータ00000000.csv〜FFFFFFFF.csv)を親で吸い上げて管理用に整理するマクロを作成しているのですが子のデータ数が多くなったせいか親の処理を実行中にExcelが落ちるようになりました。 現状では Workbook.Open 00000001.csv でファイルを開いてから配列に叩き込んで処理しているのですが、 他に何か開かずに直接配列に収納するとか別の開き方など良い手段はありますでしょうか。
188 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 02:53:22.77 ID:mfVHo2vq0.net] >>186 その説明では落ちる原因がわからんので対処のしようがない とりあえずテキストファイルとして開いてSplitで配列に入れるとか
189 名前:デフォルトの名無しさん (オッペケ Sr01-WpTI) mailto:sage [2020/04/06(月) 07:33:50 ID:c57grIZCr.net] >>174 自動更新しても更新されない 強制的にはできないね
190 名前:デフォルトの名無しさん (ワッチョイ 4bcc-bVUD) mailto:sage [2020/04/06(月) 09:41:20 ID:LXVfU9S30.net] >>174 最初、自前タイマーでの自動保存を提案しようと思ったけど、全ユーザーの同期とか排他処理とか必要になるからやめた 同時使用数にもよるけど、現状の5分ぐらいが実用限度だと思う それでも問題があるから、MSも共有ブック機能を非推奨にしたんだろうしね
191 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 15:09:00.57 ID:0mGlPNRI0.net] >>186 まず落ちる原因の特定が必要 本当にデータ量が原因かどうか? それでもし量の問題だとしたら 同時に必要なデータを見定める たとえばA、B、Cのファイルを同時に開いてたが じつはAとB、BとCで処理する工夫の余地があるとか それでもアルゴリズムではどうにもならない量なら SQLとかのデータベースに移行する
192 名前:デフォルトの名無しさん mailto:sage [2020/04/06(月) 22:35:08.05 ID:sFf9EAmnM.net] https://oshiete.goo.ne.jp/qa/1972570.html ActiveWorkbook.SaveAsにするとファイル名変えずに保存できる理由を教えてください Copyした時点で別ブックが作られるんですか?
193 名前:デフォルトの名無しさん [2020/04/06(月) 23:45:47.95 ID:jDCeOgrg0.net] マクロで作られた印刷ボタンを押すと両面印刷で出てくるからこれを片面印刷に統一したいんだけどどうしたらいいの?
194 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 00:23:26.13 ID:YDovvV0g0.net] >>192 マクロを書き換える 印刷方法の変更はプリンターごとに違ってて、Excelのマクロの中でも一番面倒な部分だから、会社でわかってる人に聞くのが早い
195 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 00:29:05.68 ID:BEkwL8Dn0.net] プリンタ登録を2つに増やして使い分けるのが簡単。 でもWin95のころはコピーするだけでプリンタ増やせたけど年々難しくなるよね
196 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 00:35:40.64 ID:8SYsQHh80.net] 正直印刷は、機器変更、NW、印刷位置、紙質とかでトラブルが非常に多くなるから、 金、人命とか絶対にVBAで自動化しなければ行けない理由がない限り手動にするようにしたわ 印刷部分だけPDFにして置いておくとか
197 名前:デフォルトの名無しさん (ワッチョイ 2ba7-9mb0) mailto:sage [2020/04/07(火) 01:53:49 ID:qS+8J4U+0.net] マクロは印刷プロパティを出すところまで。 それ以上はトラブルの原因になるからやめとき
198 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 04:36:48.84 ID:hIwtKFus0.net] そもそも紙にこだわるのが非効率で 電子化するのが本来の理想ではある
199 名前:デフォルトの名無しさん (ワッチョイ 233e-g9A3) [2020/04/07(火) 07:13:41 ID:xwPFl55C0.net] プリンタのプロパティでプリンタの設定自体を片面印刷にしておくと片面印刷になりますか?
200 名前:デフォルトの名無しさん (ワッチョイ 4d8e-jJEW) [2020/04/07(火) 08:07:09 ID:YQg5kUpF0.net] そのくらい自分でやって試せよ
201 名前:デフォルトの名無しさん (スッップ Sd43-bjOE) mailto:sage [2020/04/07(火) 08:07:32 ID:FCg3JG5md.net] >>186 CSVをWorkbook.Openで開くのが駄目。 OpenステートメントとかFileSystemObject使う方が良い。
202 名前:デフォルトの名無しさん (ワッチョイ 2342-uUuo) mailto:sage [2020/04/07(火) 09:12:43 ID:+6IcJjJU0.net] >>197 そんなの職場や利用目的によりけりだから
203 名前:デフォルトの名無しさん [2020/04/07(火) 12:34:06.90 ID:y7/AcPOrM.net] コントロールパネルからプリンタのプロパティで片面印刷に設定したんだけど片面印刷オンリーになりません どうしたらいいですか?
204 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 12:42:21.74 ID:RfysvMTgr.net] やったこと全部書き出してプリンターメーカーに聞け
205 名前:デフォルトの名無しさん (ワッチョイ b501-tb4t) mailto:sage [2020/04/07(火) 15:41:03 ID:AQdBAJYM0.net] 特定の文字列のみ文字色を変えたいんだけど、 置換を使うと指定した文字列を含むセルに入力されている全ての文字の色が変わってしまう… 現状では数百数千セルある中から文字列を選択して文字色変更を繰り返す、という辛い作業を続けているのですが この様に、指定した文字列だけの色を変更って出来ませんか?
206 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 17:49:52.17 ID:yHbrhPie0.net] >>204 Sub 特定文字列に色をぬる(検索範囲 As Range, 対象文字列 As String, 色 As Long) Dim r As Range For Each r In 検索範囲 Dim s As Long s = InStr(r.Characters.Text, 対象文字列) If s > 0 Then r.Characters(s, Len(対象文字列)).Font.Color = 色 End If Next End Sub
207 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 19:26:33.02 ID:FCg3JG5md.net] >>205 何か少し違う気がする。 rの中で対象文字列が1回しか変わらないんじゃね? s=instr(s+1,r.Value,対象文字列)でsが0になるまでループかな?
208 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 19:29:30.91 ID:ZYiBkzsm0.net] 何から覚えようVBA
209 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 19:42:05.21 ID:F7VfxkGZ0.net] >>198 やってみてどうなった?
210 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 20:04:27.93 ID:4wIwYA/Ra.net] >>207 覚えるのが目的じゃなかろう
211 名前:デフォルトの名無しさん (ワッチョイ 23ad-KBPB) mailto:sage [2020/04/07(火) 20:22:06 ID:83dL758F0.net] >>187,190,200 186です。ご回答有難う御座います。 ご指摘を参考に以下の様な形に変更したところ、強制終了する事なく全ファイルの吸い上げが出来ました。お手数をお掛け致しました。 '// ファイル数カウント // Dim CSVPth As String, CSVNam As String CSVPth = Dir(CSVDir & "*.csv") CSVNam = CSVPth Do While CSVPth <> "" CSVPth = Dir() CSVNam = CSVNam & CSVPth Loop Dim CSVAry As Variant, CSVCnt As Long CSVAry = Split(CSVNam, ".csv") Dim OutAry() As Variant ReDim OutAry(1 To (UBound(CSVAry) + 1) * 6, 1 To 1) Dim LinAry As Variant, LinStg As String, LinCnt As Long '// CSVファイル読込処理 // For CSVCnt = LBound(CSVAry) To UBound(CSVAry) If CSVAry(CSVCnt) <> "" And Dir(CSVDir & CSVAry(CSVCnt) & ".csv") <> "" Then Open CSVDir & CSVAry(CSVCnt) & ".csv" For Input As #CSVCnt + 1 LinCnt = 0 Do While Not EOF(CSVCnt + 1) Line Input #CSVCnt + 1, LinStg LinCnt = LinCnt + 1 LinStg = "" & Replace(LinStg, """", "") & "" LinAry = Split(LinStg, ",") <-- 処理 --> ReDim Preserve OutAry(1 To (UBound(CSVAry) + 1) * 6, 1 To WorksheetFunction.Max(UBound(OutAry, 2), LinCnt) Loop Close #CSVCnt + 1 End If Next Range(Sheet2.Range("A1"), Sheet2.Cells(UBound(OutAry, 2), UBound(OutAry, 1))).Value = WorksheetFunction.Transpose(OutAry)
212 名前:デフォルトの名無しさん (ワッチョイ 5dce-bVUD) mailto:sage [2020/04/07(火) 21:04:34 ID:YDovvV0g0.net] Windows10になってから、アプリごとに印刷設定を覚えるようになってややこしくなった 以前はプリンタのプロパティからデフォルト状態を決め打ちできたのに
213 名前:デフォルトの名無しさん mailto:sage [2020/04/07(火) 22:46:04.39 ID:yHbrhPie0.net] >>206 その辺は仕様がはっきりしないから何とも言えんし そもそも丸投げを受けたつもりはない s+1だとaaaaaにたいしてaa指定したら5文字全部色変わるけどそれが良いのかどうかわからんだろ
214 名前:デフォルトの名無しさん (ワッチョイ e202-slfm) mailto:sage [2020/04/08(水) 03:24:16 ID:PBw6emZJ0.net] 4文字目から3文字赤に変えたマクロの記録 ActiveCell.Characters(Start:=4, Length:=3).Font.ColorIndex = 3
215 名前:デフォルトの名無しさん [2020/04/08(水) 19:41:01.55 ID:uS6fz3VF0.net] まさかシート毎に印刷の画面から片面印刷を選ばなきゃ両面印刷をされるなんて知らなかったわ
216 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 19:55:07.25 ID:o5xrKhXHa.net] プリンター関係の情報はシートごとになってるから。 手動ですべてのシートを両面印刷にする方法はあるけど。
217 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 20:05:36.79 ID:T31Wtd0td.net] シート全選択してプリンタ設定変更してからやればいい
218 名前:デフォルトの名無しさん mailto:sage [2020/04/08(水) 20:16:40.48 ID:o5xrKhXHa.net] シート全選択してプリンター設定してもダメなんですよね。
219 名前:デフォルトの名無しさん (アウアウウー Sabb-Fqhg) mailto:sage [2020/04/08(水) 20:32:27 ID:wSF4QqHVa.net] あきらめろん
220 名前:デフォルトの名無しさん (スププ Sd02-bmmP) mailto:sage [2020/04/08(水) 20:37:06 ID:T31Wtd0td.net] >>217 上書き保存してファイルを開き直せ
221 名前:デフォルトの名無しさん (ワッチョイ f71f-nfbJ) mailto:sage [2020/04/08(水) 22:17:54 ID:Tninom9X0.net] dwgファイルをどうにかしてEXCELに図形で取り込みたいんだがなんか方法ありません? 家の見取り図みたいなファイルなんだけど。
222 名前:デフォルトの名無しさん (ワッチョイ 43ce-AglQ) mailto:sage [2020/04/08(水) 23:34:26 ID:W1XPdmgi0.net] >>220 DXFに変換
223 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 03:10:49.06 ID:lF+KAcZx0.net] >>220 後輩にやらせる
224 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 04:58:57.51 ID:yf4TGzZj0.net] >>220 JacConvert
225 名前:デフォルトの名無しさん (オッペケ Sr5f-5Z7F) mailto:sage [2020/04/09(Thu) 07:53:04 ID:q52/CIa+r.net] セル右クリックしたら出てくるメニューを禁止に出来ない? 書式設定とかコピーとか貼り付けとかメニュー自体出ないように
226 名前:デフォルトの名無しさん (スップ Sd22-ELgU) mailto:sage [2020/04/09(Thu) 07:57:33 ID:YKVVyHYsd.net] >>224 サブクラスで出来
227 名前:驍ゥどうか。 ここには答えられる程の上級者が居ないと思う。 [] [ここ壊れてます]
228 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 08:14:30.62 ID:44A41Mtl0.net] 保護かければ?
229 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 08:18:29.24 ID:q52/CIa+r.net] >>226 保護かけると使えなくなる機能があるから無理なんだ
230 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 08:39:31.78 ID:K8984GmW0.net] これは?普通にググったら出てきたぞ https://www.moug.net/tech/exvba/0150035.html
231 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 09:20:01.56 ID:x5VgstST0.net] 普通にやり方あるぞ
232 名前:デフォルトの名無しさん (ササクッテロラ Sp5f-zMEH) mailto:sage [2020/04/09(Thu) 12:24:02 ID:wcbpQmosp.net] エクセル2007についてです セルをクリックすると、カレンダーが表示されて、そのカレンダーの日付をクリックすると、セルに日付が挿入される という形にしたいのですが、ここで問題があります 一つはAccessがないため、カレンダーコントロールがないのと、もう一つはインターネット接続不可端末のため、どこからかDLするというのができないです この場合のカレンダーから日付取得をするというのはできないのでしょうか?
233 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 12:30:31.66 ID:8gmsr/Td0.net] >>230 ボタンを横7列、縦6つ並べたカレンダーコントロール的なフォームを自作すればいい https://ateitexe.com/excel-vba-calendar-control/
234 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 12:31:40.44 ID:veSARJt1M.net] カレンダーのシートを作って、そこから選択させるとか
235 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 13:01:14.59 ID:wcbpQmosp.net] >>231 早速参考にさせていただきました ありがとうございます ただ、これ起動すると、日付クリックした後、テキストボックスに日付挿入になるので どこかのコードにテキストボックスではなくてセル挿入になるようにしたらいいと思うんですけれど、どこに記述するのがいいですかね? まだvbaいじり始めた身としてはここまで複雑だといじりづらいというか
236 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 20:27:14.43 ID:PvaeZ0Ck0.net] >>224 BeforeRightClickイベント
237 名前:デフォルトの名無しさん (ワッチョイ f71f-nfbJ) mailto:sage [2020/04/09(Thu) 21:58:32 ID:TQ3Lwxfd0.net] >>221 調べるとDXFはTextファイル形式で出来ているみたいでネットで調べながらやってみたけど、重い。まぁ俺の書き方が駄目な気もするけど。線の数が4万とか超えてる。
238 名前:デフォルトの名無しさん mailto:sage [2020/04/09(木) 23:05:01.47 ID:vJBq1mcg0.net] 作者不明のファイルを修正しているのですが、そのファイル自身を指定するのにファイル名で 記述してありました。これだと「●●Ver1.0.xlsm」→「●●Ver1.1.xlsm」のようにファイル名を 変える度にコードを修正しなくてはならないためThisWorkBookに変えようかと思っているのですが その場合なにか弊害とかあるんでしょうか?
239 名前:デフォルトの名無しさん (ワッチョイ e23e-1Ne1) [2020/04/10(金) 07:51:15 ID:goOf5Ofq0.net] シートを全選択したら一括で変更できるのか
240 名前:デフォルトの名無しさん (オッペケ Sr5f-vH9a) mailto:sage [2020/04/10(金) 08:26:28 ID:tq9uLSTsr.net] >>236 弊害は無いよ
241 名前:デフォルトの名無しさん (オッペケ Sr5f-q7V1) mailto:sage [2020/04/10(金) 09:37:44 ID:Rte1PrgOr.net] そのファイル自身だと完全に明確で揺らがないなら、thisworkbookでいんじゃね
242 名前:デフォルトの名無しさん (ワッチョイ c6da-AglQ) mailto:sage [2020/04/10(金) 19:23:44 ID:LG9l2UEQ0.net] どこから参照されてるのか全部調べないとわからないんじゃないかそれ。 まあThisworkbookを知らないだけの可能性は高いが。
243 名前:デフォルトの名無しさん (ワッチョイ eb5e-AglQ) mailto:sage [2020/04/10(金) 19:27:26 ID:f64Irgef0.net] >>238,239 ありがとうございます。 今日内容を確認してきましたが、マクロが記述されたブック(A.xlsm)上でシートを作成し、それをコピーして 新規ブック(B.xlsx)を作成してからもう一度A.xlsmの特定のシートをアクティブにする、という処理の中で A.xlsmのブック名を明示してありました。 今日は時間がなくて試せなかったのですが、この場合でもマクロが記述されたブックはA.xlsmなので ThisWorkBookで問題ないかなと思ったのですが、それであっていますでしょうか?
244 名前:デフォルトの名無しさん (ワッチョイ eb5e-AglQ) mailto:sage [2020/04/10(金) 19:38:53 ID:f64Irgef0.net] >>240 ThisWorkBookを知らないというかちゃんと理解していないのはその通りだと思います。 ThisWorkBookの主体がが変わる場合があるということでしょうか? マクロ実行中にほかのブックに記述されたマクロを利用したりすると変わる、とかですかね?
245 名前:デフォルトの名無しさん (ワッチョイ 62ad-JJvI) mailto:sage [2020/04/10(金) 20:30:11 ID:oDKSQVIR0.net] ThisWorkBookはプログラムが記述されているワークブックを参照せよっていう意味だからブックAを実行中にアクティブがブックBに切り替わったりしてもブックAに記述されたThisWorkBookはブックAを参照する
246 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 03:52:15.33 ID:w8fV8nev0.net] エクセルテンプレートを開いた状態 ↓ フォルダにある1つ目のtxtデータをエクセルテンプレにドラッグしてエクセル化 ↓ エクセル化したC1:C8の範囲をコピー ↓ 元々開いてあるエクセルのA1:A8に「数値」のみ貼り付け ↓ エクセル化されたデータは閉じて2つ目のtxtをドラッグしてエクセル化 ↓ C1:C8の範囲をコピーしてテンプレのB1:B8に「数値」のみコピー って感じでテンプレに測定機から出したデータをひたすら貼ってるんですが これを簡単にするVBAとか可能ですか? 人によってはテキストをエクセル化はまとめて5つドラッグしたりして順番に貼ってく人もいます エクセル化したデータの数値のみコピーしたいセルはC1:C8は固定 テンプレにはABCDと順番に貼って増やしていく これをなんとかマクロかする案があればご教授お願いします。
247 名前:デフォルトの名無しさん (ワッチョイ 4f5f-791I) mailto:sage [2020/04/11(土) 07:25:04 ID:+FpWMQNh0.net] 可能です。
248 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 08:08:50.84 ID:X9U6v4B00.net] テンプレート(.xlt .xltx)は何に使うの?
249 名前:デフォルトの名無しさん (ワッチョイ e2b5-G6fV) mailto:sage [2020/04/11(土) 10:50:20 ID:w8fV8nev0.net] >>245 その一言でも希望があってありがたい どういう流れで作ったらいいか何か構想のヒントなどあればいただきたいです ・テンプレのエクセルにボタン設置 ・テンプレ開くと同時にユーザーフォーム開くようにしてテキスト選択できるようにするのか ・そもそもVBAがまだ人間になれてない猿並のスキル >>246 テンプレは.xlsxです、普通のエクセルの
250 名前:デフォルトの名無しさん (アウアウエー Sa3a-d4/r) mailto:sage [2020/04/11(土) 10:56:04 ID:DIdffniea.net] >>244 txtデータは、例えばカンマで区切られてるとか、空白で区切られてるとか、決まってるの? 内容的にはVBAがある程度使える人なら難しくないと思うけど、ちょっとネットで聞いて作ろうとかいうのは難しいんじゃないかな。
251 名前:248 mailto:sage [2020/04/11(土) 11:19:08.65 ID:DIdffniea.net] txtファイルがどのくらいの数あるのかで、どういう手順が良いか違ってくると思います。 そんなにたくさんないなら、テンプレファイル(◯◯.xlsm )に、ボタンを用意。ボタンを押したらファイルを選択するダイアログが出て、該当のtxtファイルを選択してデータを読み込む。 txtファイルがたくさんあるとこの手順は面倒なので、同一フォルダに入れてなんらかの順番で読み込むようにするとか。
252 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 11:27:54.59 ID:YvJJVii7M.net] >>248 そこら辺の知識がなくてとにかくテキストを、開いてるエクセルにドラッグすると決まったセル範囲に例えばC1:C5に欲しいデータが出るのでそれをコピーしてるのが現状です イメージ的にいつも https://i.imgur.com/50VhJqS.jpg テキスト入ったフォルダとエクセルを並べる ↓ https://i.imgur.com/8TiTDap.jpg ドラッグしてエクセル化 ↓ https://i.imgur.com/OrMUP1G.jpg 数値のみコピーしてテンプレに貼り付け ↓ https://i.imgur.com/htHvRLv.jpg 閉じた後、次のテキストをドラッグしてエクセル化 ↓ https://i.imgur.com/1F89knY.jpg テンプレの次の列に貼り付け これを日によっては70くらいやったりしてます、、
253 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 11:31:26.34 ID:YvJJVii7M.net] >>249 レスありがとです!!!そこです! 日によってデータ数が違って 5つの日もあれば30の日もあれば75の日もあります ボタン作って該当するデータの数を任意で選べたりできないのかなぁと妄想してます
254 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 11:41:57.94 ID:YvJJVii7M.net] この貼り付けるエクセルはそもそもこんなのでテンプレなの?っていうは一応エクセルの関数で 他の何種類もあるシートに複数の関数で出せる紐付けしてあるので テンプレというか自分なりのベースのようなものです 本当はその関数すら慣れてる人ならVBAで余裕で組むんだろうなと思うのですがそんな欲ばる資格がまだないのでまずはこの作業を…
255 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 11:45:20.84 ID:DIdffniea.net] GetOpenFilenameメソッドでダイアログで複数のtxtファイルを選択するか、「転記前フォルダ」とかに対象のtxtファイル入れておいて、フォルダ内をfor eachですべて読み込むか。読み込み済みのtxtは自動で「転記済フォルダ」に入れるか削除。 どちらにしてもtxtファイルの名前順に読み込むようになるだろうから、そこを一工夫する必要があるかも。
256 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 12:37:41.59 ID:9V4Tv9yv0.net] >>252 とりあえず、フォルダ内の全テキストを一気に読み込むやつを作った 専用のフォルダに必要なデータだけ入れて、フォルダ名を2行目に書いて Sub Macro1() ChDir "c:\tmp" f = Dir("*.txt") c = 1 Do While f <> "" Open f For Input As #1 For r = 1 To 6 Line Input #1, s Cells(r, c) = Split(s, vbTab)(2) Next Close #1 f = Dir c = c + 1 Loop End Sub
257 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 12:48:46.57 ID:7ipBnOPU0.net] >>247 マクロ記録してそれを加工すればいい
258 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 12:55:48.43 ID:Zf+aIjAZ0.net] >>254 うおおおお マジでありがとうございます! いま外出中なので帰ったら速攻でVBE開いて取りかかります!! 他のこんな猿にアドバイスくれる人達に感謝のみ 批判されて当然のスキルしかないのでそういう覚悟もして相談させてもらってます 6月くらいまでには形にして自分もある程度 コードのルールや流れを猛勉強します >>255 それも頑張ります、まず加工する知能を身につけます
259 名前:デフォルトの名無しさん (アウアウウー Sabb-Fqhg) mailto:sage [2020/04/11(土) 18:21:57 ID:jjkr4EqGa.net] 個人的にはCHDIRと#1ってのが 気になった
260 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 20:11:07.53 ID:Lp6A5Woc0.net] 恋だな
261 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 20:18:04.56 ID:7YQkqL610.net] 6月て こんなんIT系の仕事じゃなくても普通に1日で理解するやろ。。 多分セルごとに書き込むからファイル数とデータによっては遅くなるな
262 名前:デフォルトの名無しさん mailto:sage [2020/04/11(土) 21:02:43.27 ID:Mh4soJ8e0.net] クリップボードに整形したデータ入れてペーストでもいいのよ タブで右のセル 改行で次の行
263 名前:デフォルトの名無しさん (ワッチョイ c28b-KRXG) mailto:sage [2020/04/12(日) 05:51:52 ID:2Kcsozov0.net] VBAについて詳しい方に質問です。 現在VBAでオートフィルタの自動プログラムを組んでいます。 そこで質問があります。以下の様なデータがあったとします。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 私の名前は、太郎です。 私の名前は、岩崎です。 あなたの名前は、太郎です。 あなたの名前は、岩崎です。 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 検索ワードとしてスペース区切りで「あなた 太郎」と入力された場合 「あなた」と「太郎」を同時に含む行のみをフィルタリングするには どういう記述を Criteriaにすれば良いのでしょうか? Criteria1:="*" & [検索ワード] & "*" 現在こんな感じで記述してますがうまく動きません。 AND条件、そしてOR条件で指定する方法を教えてくださいm(_)m
264 名前:デフォルトの名無しさん (ワッチョイ c6da-AglQ) mailto:sage [2020/04/12(日) 08:05:06 ID:YDpAYAt+0.net] >>261 それやるならオートフィルタじゃない。 アドバンスフィルタ。
265 名前:デフォルトの名無しさん (ワッチョイ bb7c-slfm) mailto:sage [2020/04/12(日) 11:41:12 ID:QKHzDSq80.net] >>261 シート上でオートフィルタかける時にできること以外のことはできない
266 名前:デフォルトの名無しさん (ワッチョイ bb7c-slfm) mailto:sage [2020/04/12(日) 11:45:08 ID:QKHzDSq80.net] どうしてもその記述でやりたいならワードをスペースで分割してから条件2つ指定する
267 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 13:12:18.32 ID:2Kcsozov0.net] ありがとうございます。 アドバンスフィルタとやらを調べてみます。
268 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 13:17:20.10 ID:bBYC6g030.net] >>261 And条件の場合はこう書く Criteria1:="=*あなた*", Operator:=xlAnd, Criteria2:="=*太郎*"
269 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 13:39:43.30 ID:2Kcsozov0.net] >>266 ありがとうございます!!
270 名前:デフォルトの名無しさん mailto:sage [2020/04/12(日) 17:59:57.23 ID:Vvo4XdlE0.net] いえいえ
271 名前:デフォルトの名無しさん (ワッチョイ e2b5-L0r9) mailto:sage [2020/04/13(月) 01:44:02 ID:sGzWGZEv0.net] >>254 これを、やってみたけどcellsのところでエラーがでます、うーん 頑張ります
272 名前:デフォルトの名無しさん (ワッチョイ 4f5f-791I) mailto:sage [2020/04/13(月) 07:29:10 ID:aaxqX2kx0.net] >>269 ヒント 変数 r
273 名前:デフォルトの名無しさん (ブーイモ MM5b-qE1F) mailto:sage [2020/04/13(月) 08:13:39 ID:q00oGNOiM.net] >ヒント ウザっ
274 名前:デフォルトの名無しさん (ワッチョイ 43ce-AglQ) mailto:sage [2020/04/13(月) 11:51:14 ID:V+m1zN0B0.net] >>269 それはたぶん、txtファイルの中身が想定外 例えば5行以下しかないか、C列にデータが入ってないか
275 名前:270 mailto:sage [2020/04/13(月) 12:54:16.85 ID:RFtb5de7M.net] >>269 すまん。変数 r はforで回ってた。