X



Excel VBA 質問スレ Part65
■ このスレッドは過去ログ倉庫に格納されています
0142デフォルトの名無しさん (ワッチョイ 9e8a-k8oR)
垢版 |
2020/03/31(火) 05:23:52.03ID:kiJT2Kt60
zipをxlsxにすれば、VBAを使わなくても開くだけで解凍できる。どこに解凍されるかは知らんが。
0149デフォルトの名無しさん (ワッチョイ d9e5-n60N)
垢版 |
2020/03/31(火) 22:47:10.97ID:Rc1BoApG0
そーなのか
道理で大昔作ったフォーマットを作り直してみたら容量が半分程度だったんだ
効率的なコード書けるようになった俺スゲーって訳じゃなく、エクセルさんが凄かったのね
0160デフォルトの名無しさん (ワッチョイ 23b5-Lkgv)
垢版 |
2020/04/02(木) 00:31:10.86ID:hOxCGNmI0
あるマクロを開いた瞬間に自作したユーザーフォームが出るようにする
それと同時にエクセルファイルを選択できる ファイルを開くウィンドウが出るようにする

ド基礎以前だと思うのですがおしえていただきたく、、
0166デフォルトの名無しさん (ワッチョイ 23b5-Lkgv)
垢版 |
2020/04/02(木) 18:43:17.46ID:hOxCGNmI0
>>162
ありがとう、ネットで捜してコピペしながら頑張ってくわ

起動すると作ったユーザーフォームが開きつつ
ファイルからエクセルを選べるウィンドウを出す

開いたエクセルにはBとCの2列目からずらーっと数字が並んでるからそれをあらかじめ自分のカスタマイズした散布図にする
(2列目から始まるが終わりはデータによって違う)

ボタンによって2つの散布図に分けられる

がんばりやす
0172デフォルトの名無しさん (ワッチョイ 4bcc-bVUD)
垢版 |
2020/04/03(金) 13:51:03.50ID:S5/JCD2f0
>>170
それ、イミディエイトペインで試したけど、5未満はNGだよ

>>145の共有編集って、Excel2016で実装した、OneDriveとか使ってクラウドでやるやつだと思ったんだけど、違うのかな
×共有編集 ○共同編集 らしいけど
0186デフォルトの名無しさん (ワッチョイ 23ad-KBPB)
垢版 |
2020/04/06(月) 01:48:40.71ID:SI8CeRSt0
子が吐き出したcsvデータ(子の状況により1ファイル数行〜数百行程度のデータ00000000.csv〜FFFFFFFF.csv)を親で吸い上げて管理用に整理するマクロを作成しているのですが子のデータ数が多くなったせいか親の処理を実行中にExcelが落ちるようになりました。
現状では
Workbook.Open 00000001.csv
でファイルを開いてから配列に叩き込んで処理しているのですが、
他に何か開かずに直接配列に収納するとか別の開き方など良い手段はありますでしょうか。
0189デフォルトの名無しさん (ワッチョイ 4bcc-bVUD)
垢版 |
2020/04/06(月) 09:41:20.32ID:LXVfU9S30
>>174
最初、自前タイマーでの自動保存を提案しようと思ったけど、全ユーザーの同期とか排他処理とか必要になるからやめた
同時使用数にもよるけど、現状の5分ぐらいが実用限度だと思う
それでも問題があるから、MSも共有ブック機能を非推奨にしたんだろうしね
0190デフォルトの名無しさん (ワッチョイ e5ad-KN+/)
垢版 |
2020/04/06(月) 15:09:00.57ID:0mGlPNRI0
>>186
まず落ちる原因の特定が必要
本当にデータ量が原因かどうか?

それでもし量の問題だとしたら
同時に必要なデータを見定める

たとえばA、B、Cのファイルを同時に開いてたが
じつはAとB、BとCで処理する工夫の余地があるとか

それでもアルゴリズムではどうにもならない量なら
SQLとかのデータベースに移行する
0192デフォルトの名無しさん (ワッチョイ 233e-g9A3)
垢版 |
2020/04/06(月) 23:45:47.95ID:jDCeOgrg0
マクロで作られた印刷ボタンを押すと両面印刷で出てくるからこれを片面印刷に統一したいんだけどどうしたらいいの?
0195デフォルトの名無しさん (ワッチョイ 45ac-tCKN)
垢版 |
2020/04/07(火) 00:35:40.64ID:8SYsQHh80
正直印刷は、機器変更、NW、印刷位置、紙質とかでトラブルが非常に多くなるから、
金、人命とか絶対にVBAで自動化しなければ行けない理由がない限り手動にするようにしたわ
印刷部分だけPDFにして置いておくとか
0198デフォルトの名無しさん (ワッチョイ 233e-g9A3)
垢版 |
2020/04/07(火) 07:13:41.88ID:xwPFl55C0
プリンタのプロパティでプリンタの設定自体を片面印刷にしておくと片面印刷になりますか?
0199デフォルトの名無しさん (ワッチョイ 4d8e-jJEW)
垢版 |
2020/04/07(火) 08:07:09.26ID:YQg5kUpF0
そのくらい自分でやって試せよ
0202デフォルトの名無しさん (アウアウクー MM81-g9A3)
垢版 |
2020/04/07(火) 12:34:06.90ID:y7/AcPOrM
コントロールパネルからプリンタのプロパティで片面印刷に設定したんだけど片面印刷オンリーになりません
どうしたらいいですか?
0204デフォルトの名無しさん (ワッチョイ b501-tb4t)
垢版 |
2020/04/07(火) 15:41:03.55ID:AQdBAJYM0
特定の文字列のみ文字色を変えたいんだけど、
置換を使うと指定した文字列を含むセルに入力されている全ての文字の色が変わってしまう…

現状では数百数千セルある中から文字列を選択して文字色変更を繰り返す、という辛い作業を続けているのですが
この様に、指定した文字列だけの色を変更って出来ませんか?
0205デフォルトの名無しさん (ワッチョイ 9b2f-AHN4)
垢版 |
2020/04/07(火) 17:49:52.17ID:yHbrhPie0
>>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
0210デフォルトの名無しさん (ワッチョイ 23ad-KBPB)
垢版 |
2020/04/07(火) 20:22:06.26ID:83dL758F0
>>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)
0212デフォルトの名無しさん (ワッチョイ 9b2f-AHN4)
垢版 |
2020/04/07(火) 22:46:04.39ID:yHbrhPie0
>>206
その辺は仕様がはっきりしないから何とも言えんし
そもそも丸投げを受けたつもりはない

s+1だとaaaaaにたいしてaa指定したら5文字全部色変わるけどそれが良いのかどうかわからんだろ
0214デフォルトの名無しさん (ワッチョイ e23e-1Ne1)
垢版 |
2020/04/08(水) 19:41:01.55ID:uS6fz3VF0
まさかシート毎に印刷の画面から片面印刷を選ばなきゃ両面印刷をされるなんて知らなかったわ
0230デフォルトの名無しさん (ササクッテロラ Sp5f-zMEH)
垢版 |
2020/04/09(木) 12:24:02.59ID:wcbpQmosp
エクセル2007についてです

セルをクリックすると、カレンダーが表示されて、そのカレンダーの日付をクリックすると、セルに日付が挿入される

という形にしたいのですが、ここで問題があります

一つはAccessがないため、カレンダーコントロールがないのと、もう一つはインターネット接続不可端末のため、どこからかDLするというのができないです

この場合のカレンダーから日付取得をするというのはできないのでしょうか?
0233デフォルトの名無しさん (ササクッテロラ Sp5f-zMEH)
垢版 |
2020/04/09(木) 13:01:14.59ID:wcbpQmosp
>>231
早速参考にさせていただきました
ありがとうございます

ただ、これ起動すると、日付クリックした後、テキストボックスに日付挿入になるので
どこかのコードにテキストボックスではなくてセル挿入になるようにしたらいいと思うんですけれど、どこに記述するのがいいですかね?

まだvbaいじり始めた身としてはここまで複雑だといじりづらいというか
0236デフォルトの名無しさん (ワッチョイ eb5e-AglQ)
垢版 |
2020/04/09(木) 23:05:01.47ID:vJBq1mcg0
作者不明のファイルを修正しているのですが、そのファイル自身を指定するのにファイル名で
記述してありました。これだと「●●Ver1.0.xlsm」→「●●Ver1.1.xlsm」のようにファイル名を
変える度にコードを修正しなくてはならないためThisWorkBookに変えようかと思っているのですが
その場合なにか弊害とかあるんでしょうか?
0237デフォルトの名無しさん (ワッチョイ e23e-1Ne1)
垢版 |
2020/04/10(金) 07:51:15.22ID:goOf5Ofq0
シートを全選択したら一括で変更できるのか
■ このスレッドは過去ログ倉庫に格納されています

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