!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
探検
Excel VBA 質問スレ Part68
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ dbda-8BP0)
2020/08/30(日) 11:55:27.33ID:Oy/VxFsh02デフォルトの名無しさん (ワッチョイ 06c9-1etN)
2020/08/30(日) 12:04:22.80ID:y5djTSPl0 IEの代わりは何使えばいいの?
3デフォルトの名無しさん (アウアウエー Sa0a-Rexm)
2020/08/30(日) 12:07:17.32ID:IcnEVpl4a 乙
4デフォルトの名無しさん (スッップ Sd22-WkEz)
2020/08/30(日) 12:41:50.27ID:wybDtxdZd 以下の特徴を持つ書き込みは無視するか罵倒されます。
・「教えて」「助けて」で始まる質問者の頭が悪いことが容易にわかる質問
・自分で考えるともせず全部作ってもらおうとする厚かましい質問
・VBA、マクロに関係ないExcelの質問
・自分のために利用するだけ利用してやろうと、後出しで条件を付け加える人
・「教えて」「助けて」で始まる質問者の頭が悪いことが容易にわかる質問
・自分で考えるともせず全部作ってもらおうとする厚かましい質問
・VBA、マクロに関係ないExcelの質問
・自分のために利用するだけ利用してやろうと、後出しで条件を付け加える人
5デフォルトの名無しさん (アウアウエー Sa0a-ifKp)
2020/08/30(日) 20:36:42.00ID:Cc0wen40a 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)
Dim ts As Object
Set ts = fso.OpenTextFile(file, ForReading)
'Call wb.Close(SaveChanges:=False)
Next file
End Sub
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)
Dim ts As Object
Set ts = fso.OpenTextFile(file, ForReading)
'Call wb.Close(SaveChanges:=False)
Next file
End Sub
6デフォルトの名無しさん (アウアウエー Sa0a-ifKp)
2020/08/30(日) 20:37:09.10ID:Cc0wen40a 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)
Line Input #fileToOpen, textLine
Cells(1, i).Value = textLine
i = i + 1
Wend
End Sub
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)
Line Input #fileToOpen, textLine
Cells(1, i).Value = textLine
i = i + 1
Wend
End Sub
7デフォルトの名無しさん (アウアウエー Sa0a-ifKp)
2020/08/30(日) 21:02:31.41ID:Cc0wen40a すみません。何とか事故解決しました。
もしこう書けばより良いとアドバイス頂けたら幸いです。
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
'Set wb = Workbooks.Open(file)
Dim ts As Object
Set ts = fso.OpenTextFile(file)
Dim i As Integer: i = 1
j = j + 1
Do Until ts.AtEndOfStream
Cells(j, i).Value = ts.ReadLine
i = i + 1
Loop
ts.Close
'Call wb.Close(SaveChanges:=False)
Next file
End Sub
もしこう書けばより良いとアドバイス頂けたら幸いです。
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
'Set wb = Workbooks.Open(file)
Dim ts As Object
Set ts = fso.OpenTextFile(file)
Dim i As Integer: i = 1
j = j + 1
Do Until ts.AtEndOfStream
Cells(j, i).Value = ts.ReadLine
i = i + 1
Loop
ts.Close
'Call wb.Close(SaveChanges:=False)
Next file
End Sub
8デフォルトの名無しさん (ワッチョイ 29e5-pBCo)
2020/08/30(日) 22:17:56.28ID:dZGkK/a70 入門レベルで横槍入れるようで申し訳ないのですが
forループ以前とループ内でのDim〜は何が違いますか?
forループ以前とループ内でのDim〜は何が違いますか?
9デフォルトの名無しさん (ワッチョイ a5ce-xiBb)
2020/08/30(日) 23:52:40.61ID:RQLT4uuu010デフォルトの名無しさん (ワッチョイ a5ce-xiBb)
2020/08/30(日) 23:59:24.87ID:RQLT4uuu0 >>7
宣言と初期化を一度に書きたくなる気持ちはわかるけど、マルチステートメントはやめた方がいい
宣言と初期化を一度に書きたくなる気持ちはわかるけど、マルチステートメントはやめた方がいい
11デフォルトの名無しさん (ドコグロ MMca-ftwo)
2020/08/31(月) 00:06:45.91ID:SE//WJVaM 誰に言われるまでもなく上に全部まとめて宣言しているわ
違うプロシージャにそのままコピペで流用して使わないのは消すだけ
違うプロシージャにそのままコピペで流用して使わないのは消すだけ
12デフォルトの名無しさん (ワッチョイ c13d-7m6G)
2020/08/31(月) 00:13:33.38ID:TQg4kwht013デフォルトの名無しさん (ワッチョイ 45cc-pyQU)
2020/08/31(月) 19:07:17.70ID:Lt7FggAF0 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
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:36.33ID:ZuoShitIa >>13
Month関数使えば判定できるとか
Month関数使えば判定できるとか
16デフォルトの名無しさん (ワッチョイ a5ce-xiBb)
2020/08/31(月) 20:25:23.41ID:Zj98ZIJ+0 >>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
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)
2020/08/31(月) 21:02:20.59ID:Lt7FggAF0 >>16
ありがとうございます
ありがとうございます
18デフォルトの名無しさん (ラクッペペ MM66-i8JQ)
2020/09/01(火) 16:02:43.57ID:IEy7mEwuM vba実行時
実行時エラー2147467259(80004005)エラーを特定できません
が出ます。
半月前は出ませんでした。
どうすれば良いでしょうか。
具体的に申しますと
pdfをテキストにコンバートする関数に
入った直後に出ます。
Dim objAcroApp As New Acrobat.AcroApp
Dim id As Long
id=objAcroApp.Show←ここで出ます
事情がありスマホで手打ちしました。
見苦しくすみませんがよろしくお願い申し上げます
実行時エラー2147467259(80004005)エラーを特定できません
が出ます。
半月前は出ませんでした。
どうすれば良いでしょうか。
具体的に申しますと
pdfをテキストにコンバートする関数に
入った直後に出ます。
Dim objAcroApp As New Acrobat.AcroApp
Dim id As Long
id=objAcroApp.Show←ここで出ます
事情がありスマホで手打ちしました。
見苦しくすみませんがよろしくお願い申し上げます
19デフォルトの名無しさん (アウアウクー MM11-1Npq)
2020/09/01(火) 19:54:21.29ID:GHp5MfoEM 小計シートのA列に日付があります
1.メニューシートでリストボックスを設置して、そこに小計シートのダブりを省いた日付を入れて選択できるようにしたいです
2.メニューシートの実行ボタンを押すと選択した日付の行全てを結果シートに出力したいです
どのような関数を使えば1、2を実現できるのでしょうか?
1.メニューシートでリストボックスを設置して、そこに小計シートのダブりを省いた日付を入れて選択できるようにしたいです
2.メニューシートの実行ボタンを押すと選択した日付の行全てを結果シートに出力したいです
どのような関数を使えば1、2を実現できるのでしょうか?
20デフォルトの名無しさん (ワッチョイ 4d10-t21d)
2020/09/01(火) 20:49:46.16ID:4J5+lU0z0 神経衰弱を作っています
Image1~52を並べて全てのImageにクリックされた時の処理を記述しているのですがImageがクリックされた時の処理をひとつにまとめる方法はないでしょうか?
Image1~52を並べて全てのImageにクリックされた時の処理を記述しているのですがImageがクリックされた時の処理をひとつにまとめる方法はないでしょうか?
21デフォルトの名無しさん (ワッチョイ 61da-1etN)
2020/09/01(火) 21:43:46.76ID:rkSCdRtt0 >>20
1つにまとめて、どこをクリックされたかは座標で特定するとか。
1つにまとめて、どこをクリックされたかは座標で特定するとか。
22デフォルトの名無しさん (ワッチョイ 61da-1etN)
2020/09/01(火) 21:46:04.84ID:rkSCdRtt0 >>18
vbsでも同じエラー出る?
vbsでも同じエラー出る?
23デフォルトの名無しさん (ドコグロ MMca-yRqa)
2020/09/01(火) 21:59:11.19ID:o1zup8QpM24デフォルトの名無しさん (ワッチョイ 0d7c-JMbW)
2020/09/01(火) 22:12:33.10ID:0zlN/jAw0 >>20
マクロ登録に引数を付けるかApplication.Callerを使う
マクロ登録に引数を付けるかApplication.Callerを使う
25デフォルトの名無しさん (ワッチョイ 4d10-t21d)
2020/09/01(火) 22:24:18.51ID:4J5+lU0z0 Application.callerよさそうですね
使ってみます
ありがとうございました
使ってみます
ありがとうございました
26デフォルトの名無しさん (ワッチョイ 27da-yCsQ)
2020/09/02(水) 02:29:09.58ID:wtN1DZWS0 >>19
一気に答えがで関数があると思うな
一気に答えがで関数があると思うな
27デフォルトの名無しさん (ワッチョイ 27da-yCsQ)
2020/09/02(水) 02:29:31.03ID:wtN1DZWS0 る
28デフォルトの名無しさん (ワッチョイ 5f2f-q/EU)
2020/09/02(水) 04:35:56.53ID:A3FRNSa90 >>20
一度、VBA コントロール配列 あたりでググってみると良いかもしれない
一度、VBA コントロール配列 あたりでググってみると良いかもしれない
29デフォルトの名無しさん (スププ Sd7f-2VA6)
2020/09/02(水) 06:20:17.47ID:PYA1799od >>20
クラス作ってWithEventsおすすめ。
クラス作ってWithEventsおすすめ。
30デフォルトの名無しさん (ワッチョイ e710-t/Jd)
2020/09/02(水) 20:49:21.06ID:hWT8nCmb0 神経衰弱を作っています
カードを2枚裏返して2枚の数字が同じだった
Image1.visible = falseで2枚を非表示にしています
ゲーム途中でコマンドボタンを押すと1から13までのランダムな数字の枚数だけ裏面のカードを表にしたいのですが今のコードだと既に非表示になっているカードまで表にする対象になってしまっていて13という数字を引いても5枚しかめくれないみたいな状態になってしまいます
どうすれば既に非表示になっているカードは除いて表面にする処理ができるようになるでしょうか?
ゲーム開始直後の状態であればちゃんと引いた数字分表面にすることができています
カードを2枚裏返して2枚の数字が同じだった
Image1.visible = falseで2枚を非表示にしています
ゲーム途中でコマンドボタンを押すと1から13までのランダムな数字の枚数だけ裏面のカードを表にしたいのですが今のコードだと既に非表示になっているカードまで表にする対象になってしまっていて13という数字を引いても5枚しかめくれないみたいな状態になってしまいます
どうすれば既に非表示になっているカードは除いて表面にする処理ができるようになるでしょうか?
ゲーム開始直後の状態であればちゃんと引いた数字分表面にすることができています
31デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/02(水) 20:58:13.32ID:RVYxtb8Vd 非表示の時は表示しなければいいのでは…
32デフォルトの名無しさん (ワッチョイ 5f1f-W64q)
2020/09/02(水) 21:06:16.30ID:wVSDLDLi0 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開く文字書き込み
こんな感じに開いてたら閉じる。違うファイルなら閉じて新たに開くってどうしたら
いいですか?
next i
配列の中 ファイル名*書込文字。
(0)001*abc (1)001*bca (2)001*dca (3)002*fed の様な配列の処理を
(0)で001.xlsを開いて文字書き込み
(1)開いてあるから文字書き込み
(2)同様
(3)001閉じる002開く文字書き込み
こんな感じに開いてたら閉じる。違うファイルなら閉じて新たに開くってどうしたら
いいですか?
33デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/02(水) 21:08:43.99ID:0x5o6h4cd >>32
その処理のどの部分で躓いてんの?
その処理のどの部分で躓いてんの?
34デフォルトの名無しさん (ドコグロ MM1f-th+2)
2020/09/02(水) 21:43:27.34ID:M5ACMng3M >>30
If Worksheets(シート名).Shapes("Image" & カード番号).Visible = False Then
If Worksheets(シート名).Shapes("Image" & カード番号).Visible = False Then
35デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/02(水) 22:11:52.19ID:0x5o6h4cd >>34
それだと非表示にしたカートまで表示される
それだと非表示にしたカートまで表示される
36デフォルトの名無しさん (アウアウカー Sa9b-vRCQ)
2020/09/02(水) 22:44:34.28ID:7eaUdZ9ha >>30
表裏の切り替えできてるなら裏かつvisibleだけ処理すりゃいいと思う
表裏の切り替えできてるなら裏かつvisibleだけ処理すりゃいいと思う
37デフォルトの名無しさん (ドコグロ MM1f-aCGe)
2020/09/02(水) 23:26:58.04ID:CEKOaVwIM >>35
じゃあ、trueに変えればいいじゃん
じゃあ、trueに変えればいいじゃん
38デフォルトの名無しさん (ワッチョイ 7f63-3NJ+)
2020/09/02(水) 23:43:34.57ID:4SR2iB8C039デフォルトの名無しさん (ワッチョイ 7f63-3NJ+)
2020/09/02(水) 23:44:24.75ID:4SR2iB8C0 sはこれでエラーが出ませんでしたが
↓
vbsは・・・
です。失礼しました。
↓
vbsは・・・
です。失礼しました。
40デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/02(水) 23:59:58.13ID:86SCKcxdd >>37
カードの非表示状態を管理するなりしないと単純にvisibleだけ見ても意味ないよ
カードの非表示状態を管理するなりしないと単純にvisibleだけ見ても意味ないよ
41デフォルトの名無しさん (スプッッ Sdff-W64q)
2020/09/03(木) 07:25:12.95ID:VXBXo8cBd >>33
次のファイルが同一ならそのままで、違うファイルなら閉じて開くの処理の仕方が分かりません。
次のファイルが同一ならそのままで、違うファイルなら閉じて開くの処理の仕方が分かりません。
42デフォルトの名無しさん (ラクッペペ MM8f-dQ4P)
2020/09/03(木) 09:49:18.05ID:8vHUVo2kM43デフォルトの名無しさん (ワッチョイ 5f80-uomc)
2020/09/03(木) 10:06:52.17ID:wpeUBEOu0 >>41
ファイル名保持して、ファイル名が同一ならそのまま、違ったら閉じて開くだけ?isbookopen使うとか?
ファイル名保持して、ファイル名が同一ならそのまま、違ったら閉じて開くだけ?isbookopen使うとか?
44デフォルトの名無しさん (ワッチョイ c7da-XrX+)
2020/09/03(木) 20:23:29.13ID:xDfSE2i1045デフォルトの名無しさん (ワッチョイ c7da-XrX+)
2020/09/03(木) 20:28:15.84ID:xDfSE2i10 あと、1回だけ成功したのなら、
馬鹿馬鹿しいと思うかも知れないけど、
DoeventsかSleepを入れてみるとか。
馬鹿馬鹿しいと思うかも知れないけど、
DoeventsかSleepを入れてみるとか。
46デフォルトの名無しさん (ラクッペペ MM8f-qH39)
2020/09/04(金) 12:46:00.80ID:lx1E7kKYM csvをある列でフィルタし
結果を別のブックに貼り付け
csvとして保存したところ
日付+時刻(ゼロ時)の列すべて
5桁の数字になります
どうしたら日付+時刻のままで
いてくれますか
結果を別のブックに貼り付け
csvとして保存したところ
日付+時刻(ゼロ時)の列すべて
5桁の数字になります
どうしたら日付+時刻のままで
いてくれますか
47デフォルトの名無しさん (ワッチョイ e77c-ALHH)
2020/09/04(金) 14:35:51.29ID:cB2Mz28T0 文字列として貼る
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 高市首相の答弁書に「台湾有事答えない」と明記 存立危機発言当時 ★2 [蚤の市★]
- 「偽サッチャー」「自滅的」「時代遅れ」 高市首相の経済政策を海外メディアが酷評 [蚤の市★]
- 【ド軍】山本由伸、WBC出場を決断!ドジャースが本人の意向を尊重、佐々木朗希はチームが故障歴を懸念で不参加 [鉄チーズ烏★]
- 米大統領報道官「日本と強固な同盟維持、中国とも協力」 [少考さん★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ ★2 [蚤の市★]
- 【テレビ】粗品「THE W」バッサリ「おもんない、レベル低い」審査員就任で「日テレが“血の海”に…」 [湛然★]
- 女の子集合!
- ゲームのストーリーを勉強するならお前らならどうやる?
- (*´ω`*)ドリーム
- 【未確認生ハメ情報】安倍晋三が高市早苗氏とチョメチョメしていたという噂が囁かれる。 [928194223]
- 【悲報】女さん「ハローワークで仕事を探してる3-40代の中年男性いるでしょ。あれ何?」 [483447288]
- 賞与出たからなんか買うって奴なんなの?
