[過去ログ] Excel VBA 質問スレ Part68 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
1(1): (ワッチョイ dbda-8BP0) 2020/08/30(日)11:55 ID:Oy/VxFsh0(1) AAS
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part67
2chスレ:tech VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2(1): (ワッチョイ 06c9-1etN) 2020/08/30(日)12:04 ID:y5djTSPl0(1) AAS
IEの代わりは何使えばいいの?
3(1): (アウアウエー Sa0a-Rexm) 2020/08/30(日)12:07 ID:IcnEVpl4a(1) AAS
乙
4: (スッップ Sd22-WkEz) 2020/08/30(日)12:41 ID:wybDtxdZd(1) AAS
以下の特徴を持つ書き込みは無視するか罵倒されます。
・「教えて」「助けて」で始まる質問者の頭が悪いことが容易にわかる質問
・自分で考えるともせず全部作ってもらおうとする厚かましい質問
・VBA、マクロに関係ないExcelの質問
・自分のために利用するだけ利用してやろうと、後出しで条件を付け加える人
5: (アウアウエー Sa0a-ifKp) 2020/08/30(日)20:36 ID:Cc0wen40a(1/3) AAS
Testフォルダの中に複数のテキストファイルがあり、それぞれのテキストファイルの中身を1つのエクセルシートに取り込みたいのですが、うまくいきません。
test()をfunc()の中で使えないか考えています。
Sub fun()
Dim fso, file, files
Dim folderPath As String: folderPath = "G:\Test\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(folderPath).files
For Each file In files
Dim wb As Workbook
'Set wb = Workbooks.Open(file)
省5
6: (アウアウエー Sa0a-ifKp) 2020/08/30(日)20:37 ID:Cc0wen40a(2/3) AAS
Sub test()
Dim folderPath As String: folderPath = "G:\Test\"
Dim textLine, fileName As String
Dim fileToOpen As Integer
Dim i As Integer
fileName = folderPath & "01.txt"
fileToOpen = FreeFile()
Open fileName For Input As fileToOpen
i = 1
While Not EOF(fileToOpen)
省5
7(2): (アウアウエー Sa0a-ifKp) 2020/08/30(日)21:02 ID:Cc0wen40a(3/3) AAS
すみません。何とか事故解決しました。
もしこう書けばより良いとアドバイス頂けたら幸いです。
Sub fun()
Dim fso, file, files
Dim folderPath As String: folderPath = "G:\Test\"
Set fso = CreateObject("Scripting.FileSystemObject")
Set files = fso.GetFolder(folderPath).files
Dim j As Integer
For Each file In files
Dim wb As Workbook
省13
8(1): (ワッチョイ 29e5-pBCo) 2020/08/30(日)22:17 ID:dZGkK/a70(1) AAS
入門レベルで横槍入れるようで申し訳ないのですが
forループ以前とループ内でのDim〜は何が違いますか?
9: (ワッチョイ a5ce-xiBb) 2020/08/30(日)23:52 ID:RQLT4uuu0(1/2) AAS
>>8
違いは見やすさだけ
機能はどこに書いても同じ
マイクロソフトは最初にまとめて書けと言ってる
10(1): (ワッチョイ a5ce-xiBb) 2020/08/30(日)23:59 ID:RQLT4uuu0(2/2) AAS
>>7
宣言と初期化を一度に書きたくなる気持ちはわかるけど、マルチステートメントはやめた方がいい
11(1): (ドコグロ MMca-ftwo) 2020/08/31(月)00:06 ID:SE//WJVaM(1) AAS
誰に言われるまでもなく上に全部まとめて宣言しているわ
違うプロシージャにそのままコピペで流用して使わないのは消すだけ
12(2): (ワッチョイ c13d-7m6G) 2020/08/31(月)00:13 ID:TQg4kwht0(1) AAS
>>7
Cellsの前にはワークシート名書いといた方が絶対にいいよ
CodeNameでいいから前に書いときな
13(3): (ワッチョイ 45cc-pyQU) 2020/08/31(月)19:07 ID:Lt7FggAF0(1/2) AAS
B列に"2020/8/1"のように日付が入っていて
B列に"発行日"&和暦を入力したいのですが、年・月・日がそれぞれ1桁の場合は頭に0が入ってしまします。
1桁の場合は、0の代わりに半角スペースにしたいのですがどう書けばいいですか
Dim r As Long
For r = 1 To Cells(Rows.Count,1).End(xlUp).Row
Cells(r,2).Value = Format(CDate(Cells(r,1)), "ggge年m月d日")
Next r
14: (アウアウウー Sa85-7m6G) 2020/08/31(月)19:10 ID:ZuoShitIa(1) AAS
>>13
Month関数使えば判定できるとか
15: (アウアウエー Sa0a-ifKp) 2020/08/31(月)19:11 ID:0S1gXD8ua(1) AAS
>>10
>>12
助言ありがとうございます。
16(1): (ワッチョイ a5ce-xiBb) 2020/08/31(月)20:25 ID:Zj98ZIJ+0(1) AAS
>>13
For r = 1 To Cells(Rows.Count, 1).End(xlUp).Row
Cells(r, 2).Value = Replace(Replace(Format(CDate(Cells(r, 1)), "ggge年mm月dd日"), "年0", "年 "), "月0", "月 ")
Next r
17: (ワッチョイ 45cc-pyQU) [13] 2020/08/31(月)21:02 ID:Lt7FggAF0(2/2) AAS
>>16
ありがとうございます
18(2): (ラクッペペ MM66-i8JQ) 2020/09/01(火)16:02 ID:IEy7mEwuM(1) AAS
vba実行時
実行時エラー2147467259(80004005)エラーを特定できません
が出ます。
半月前は出ませんでした。
どうすれば良いでしょうか。
具体的に申しますと
pdfをテキストにコンバートする関数に
入った直後に出ます。
Dim objAcroApp As New Acrobat.AcroApp
Dim id As Long
省3
19(1): (アウアウクー MM11-1Npq) 2020/09/01(火)19:54 ID:GHp5MfoEM(1) AAS
小計シートのA列に日付があります
1.メニューシートでリストボックスを設置して、そこに小計シートのダブりを省いた日付を入れて選択できるようにしたいです
2.メニューシートの実行ボタンを押すと選択した日付の行全てを結果シートに出力したいです
どのような関数を使えば1、2を実現できるのでしょうか?
20(5): (ワッチョイ 4d10-t21d) 2020/09/01(火)20:49 ID:4J5+lU0z0(1/2) AAS
神経衰弱を作っています
Image1~52を並べて全てのImageにクリックされた時の処理を記述しているのですがImageがクリックされた時の処理をひとつにまとめる方法はないでしょうか?
21: (ワッチョイ 61da-1etN) 2020/09/01(火)21:43 ID:rkSCdRtt0(1/2) AAS
>>20
1つにまとめて、どこをクリックされたかは座標で特定するとか。
22(1): (ワッチョイ 61da-1etN) 2020/09/01(火)21:46 ID:rkSCdRtt0(2/2) AAS
>>18
vbsでも同じエラー出る?
23: (ドコグロ MMca-yRqa) 2020/09/01(火)21:59 ID:o1zup8QpM(1) AAS
>>20
Imagename = Application.Caller
i = Mid(Imagename, 6)
あとは、Select Caseで割り振る
24: (ワッチョイ 0d7c-JMbW) 2020/09/01(火)22:12 ID:0zlN/jAw0(1) AAS
>>20
マクロ登録に引数を付けるかApplication.Callerを使う
25: (ワッチョイ 4d10-t21d) 2020/09/01(火)22:24 ID:4J5+lU0z0(2/2) AAS
Application.callerよさそうですね
使ってみます
ありがとうございました
26: (ワッチョイ 27da-yCsQ) 2020/09/02(水)02:29 ID:wtN1DZWS0(1/2) AAS
>>19
一気に答えがで関数があると思うな
27: (ワッチョイ 27da-yCsQ) 2020/09/02(水)02:29 ID:wtN1DZWS0(2/2) AAS
る
28: (ワッチョイ 5f2f-q/EU) 2020/09/02(水)04:35 ID:A3FRNSa90(1) AAS
>>20
一度、VBA コントロール配列 あたりでググってみると良いかもしれない
29: (スププ Sd7f-2VA6) 2020/09/02(水)06:20 ID:PYA1799od(1) AAS
>>20
クラス作ってWithEventsおすすめ。
30(2): (ワッチョイ e710-t/Jd) 2020/09/02(水)20:49 ID:hWT8nCmb0(1) AAS
神経衰弱を作っています
カードを2枚裏返して2枚の数字が同じだった
Image1.visible = falseで2枚を非表示にしています
ゲーム途中でコマンドボタンを押すと1から13までのランダムな数字の枚数だけ裏面のカードを表にしたいのですが今のコードだと既に非表示になっているカードまで表にする対象になってしまっていて13という数字を引いても5枚しかめくれないみたいな状態になってしまいます
どうすれば既に非表示になっているカードは除いて表面にする処理ができるようになるでしょうか?
ゲーム開始直後の状態であればちゃんと引いた数字分表面にすることができています
31: (スフッ Sd7f-7sgX) 2020/09/02(水)20:58 ID:RVYxtb8Vd(1) AAS
非表示の時は表示しなければいいのでは…
32(1): (ワッチョイ 5f1f-W64q) 2020/09/02(水)21:06 ID:wVSDLDLi0(1) AAS
For i = Lbound(arr) to ubound(arr)
next i
配列の中 ファイル名*書込文字。
(0)001*abc (1)001*bca (2)001*dca (3)002*fed の様な配列の処理を
(0)で001.xlsを開いて文字書き込み
(1)開いてあるから文字書き込み
(2)同様
(3)001閉じる002開く文字書き込み
こんな感じに開いてたら閉じる。違うファイルなら閉じて新たに開くってどうしたら
いいですか?
33(1): (スフッ Sd7f-7sgX) 2020/09/02(水)21:08 ID:0x5o6h4cd(1/2) AAS
>>32
その処理のどの部分で躓いてんの?
34(1): (ドコグロ MM1f-th+2) 2020/09/02(水)21:43 ID:M5ACMng3M(1) AAS
>>30
If Worksheets(シート名).Shapes("Image" & カード番号).Visible = False Then
35(1): (スフッ Sd7f-7sgX) 2020/09/02(水)22:11 ID:0x5o6h4cd(2/2) AAS
>>34
それだと非表示にしたカートまで表示される
36: (アウアウカー Sa9b-vRCQ) 2020/09/02(水)22:44 ID:7eaUdZ9ha(1) AAS
>>30
表裏の切り替えできてるなら裏かつvisibleだけ処理すりゃいいと思う
37(1): (ドコグロ MM1f-aCGe) 2020/09/02(水)23:26 ID:CEKOaVwIM(1) AAS
>>35
じゃあ、trueに変えればいいじゃん
38(1): (ワッチョイ 7f63-3NJ+) 2020/09/02(水)23:43 ID:4SR2iB8C0(1/2) AAS
>>22
sはこれでエラーが出ませんでしたが
これでテストになっているのか疑問です。。(acrobatを操作しているように見えない
Sub ConvertFile()
Dim objAcroApp
Dim objAcroAVDoc
Dim objAcroPDDoc
Dim id
Dim js
Dim SaveName
省5
39: (ワッチョイ 7f63-3NJ+) 2020/09/02(水)23:44 ID:4SR2iB8C0(2/2) AAS
sはこれでエラーが出ませんでしたが
↓
vbsは・・・
です。失礼しました。
40(1): (スフッ Sd7f-7sgX) 2020/09/02(水)23:59 ID:86SCKcxdd(1) AAS
>>37
カードの非表示状態を管理するなりしないと単純にvisibleだけ見ても意味ないよ
41(1): (スプッッ Sdff-W64q) 2020/09/03(木)07:25 ID:VXBXo8cBd(1) AAS
>>33
次のファイルが同一ならそのままで、違うファイルなら閉じて開くの処理の仕方が分かりません。
42: (ラクッペペ MM8f-dQ4P) 2020/09/03(木)09:49 ID:8vHUVo2kM(1) AAS
>>40
visibleプロパティで管理してるんだから問題ないだろ
13回選んで4回裏が出たら17回選べばいいんだよ
43: (ワッチョイ 5f80-uomc) 2020/09/03(木)10:06 ID:wpeUBEOu0(1) AAS
>>41
ファイル名保持して、ファイル名が同一ならそのまま、違ったら閉じて開くだけ?isbookopen使うとか?
44: (ワッチョイ c7da-XrX+) 2020/09/03(木)20:23 ID:xDfSE2i10(1/2) AAS
>>38
CreateObject("AcroExch.App")
CreateObject("AcroExch.PDDoc")
しなきゃダメなんじゃ・・。
そういう問題ではない?
45: (ワッチョイ c7da-XrX+) 2020/09/03(木)20:28 ID:xDfSE2i10(2/2) AAS
あと、1回だけ成功したのなら、
馬鹿馬鹿しいと思うかも知れないけど、
DoeventsかSleepを入れてみるとか。
46(2): (ラクッペペ MM8f-qH39) 2020/09/04(金)12:46 ID:lx1E7kKYM(1/2) AAS
csvをある列でフィルタし
結果を別のブックに貼り付け
csvとして保存したところ
日付+時刻(ゼロ時)の列すべて
5桁の数字になります
どうしたら日付+時刻のままで
いてくれますか
47(1): (ワッチョイ e77c-ALHH) 2020/09/04(金)14:35 ID:cB2Mz28T0(1) AAS
文字列として貼る
48(1): (ワッチョイ 7f8e-+abr) 2020/09/04(金)16:31 ID:9qR3rveJ0(1) AAS
>>46
VBAの話しか?
49: (ラクッペペ MM8f-qH39) 2020/09/04(金)17:16 ID:lx1E7kKYM(2/2) AAS
>>48
はぃ、vbaでそういう処理を書きました
50(2): (アウアウクー MMbb-DxLX) 2020/09/04(金)19:53 ID:F8mRPL3VM(1) AAS
一定間隔でマクロ実行する方法はなんとなくわかるのですが、不規則な間隔(5秒〜90秒)でマクロ実行したいのですが
どんなやり方がありますか?
51(1): (ワッチョイ c7da-XrX+) 2020/09/04(金)20:18 ID:1AlCas5O0(1/3) AAS
>>46
日付が5桁の数字って、44078とかだろうけど、
多分フィルタもCSVも関係ない。
値貼り付けしちゃってる。
52: (ワッチョイ c7da-XrX+) 2020/09/04(金)20:24 ID:1AlCas5O0(2/3) AAS
>>50
Rnd使うのが一般的なんだろうけど、アホな方法を挙げると、
誰かが作った不規則をパク
53: (ワッチョイ c7da-XrX+) 2020/09/04(金)20:26 ID:1AlCas5O0(3/3) AAS
ってくるとか。
例えばライブカメラの画像をDLして使うとか。
54: (ワッチョイ 27ce-n8ne) 2020/09/04(金)22:27 ID:awq2GZ8I0(1) AAS
>>50
マクロの最後にApplication.OnTimeを書く
現在時刻に乱数で秒数を足す
55: (ワッチョイ e710-t/Jd) 2020/09/04(金)23:53 ID:3ZUt+s6n0(1) AAS
モジュール1で定義した配列をモジュール2で使うにはどうすればいいですか?
モジュール1でdimではなくpublicで宣言すればいいのでしょうか?
56: (スフッ Sd7f-7sgX) 2020/09/04(金)23:56 ID:LK01+huQd(1) AAS
なんでそれをやってみないの
57(2): (ワッチョイ c763-3NJ+) 2020/09/05(土)00:15 ID:oZJVOAAi0(1) AAS
>>51
すべてご推察のとおりです。ありがとうございます。
xlPasteValuesで張り付けてます。
xlPasteAllだと年が月日の後になってしまいます(5/31/2020 0:00)
>>47さんのおっしゃる
「文字列として」貼り付ける設定を発見できません。
""で囲めば文字列として貼り付けられるのでしょうか。
58: (ワッチョイ 7f8e-+abr) 2020/09/05(土)00:15 ID:wG6iKMy+0(1/2) AAS
最近また馬鹿が出てきた
59: (スフッ Sd7f-7sgX) 2020/09/05(土)00:20 ID:dEfSwWqXd(1) AAS
>>57
セルの書式設定
60(1): (ワッチョイ 5f2f-3NJ+) 2020/09/05(土)07:07 ID:8ZVzqJQh0(1) AAS
CSVで保存したら書式通りで保存されたっけ?
61: (ワッチョイ 27ce-n8ne) 2020/09/05(土)08:05 ID:aR6FsABo0(1) AAS
>>60
される
62(2): (オッペケ Srbb-XehP) 2020/09/05(土)10:12 ID:LyoNVqbOr(1) AAS
A1に3、B1に100といれ、実行すると、
3から100行までを非表示にするマクロお願いします
63(2): (ワッチョイ 0701-zmOT) 2020/09/05(土)13:47 ID:CLMpHe/Q0(1/3) AAS
基本技術の試験勉強してるのですが、
外部リンク[html]:www.fe-siken.com
この過去問の設問3のマクロの文章の和訳というか、各行がどんな処理をしているのか日本語で説明できる方いませんか
あと、変数iなんですが、なぜiなんでしょう
よろしくお願いいたします
64(3): (スフッ Sd7f-7sgX) 2020/09/05(土)14:03 ID:4XqPsYsKd(1) AAS
ループカウンタ用の変数名はとりあえずiにでもしとこうっていう昔からの名残
細かく言うと整数を表すIntegerのi
i、j、k〜nまで順によく使われる
上下前次1-新書関写板覧索設栞歴
あと 938 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.038s