◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

Excel VBA 質問スレ Part68 YouTube動画>5本 ニコニコ動画>1本 ->画像>8枚


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1598756127/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん (ワッチョイ dbda-8BP0)
2020/08/30(日) 11:55:27.33ID:Oy/VxFsh0
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付ける

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

※前スレ
Excel VBA 質問スレ Part67
http://2chb.net/r/tech/1593104489/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
2デフォルトの名無しさん (ワッチョイ 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の質問
・自分のために利用するだけ利用してやろうと、後出しで条件を付け加える人
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
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
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
8デフォルトの名無しさん (ワッチョイ 29e5-pBCo)
2020/08/30(日) 22:17:56.28ID:dZGkK/a70
入門レベルで横槍入れるようで申し訳ないのですが
forループ以前とループ内でのDim〜は何が違いますか?
9デフォルトの名無しさん (ワッチョイ a5ce-xiBb)
2020/08/30(日) 23:52:40.61ID:RQLT4uuu0
>>8
違いは見やすさだけ
機能はどこに書いても同じ
マイクロソフトは最初にまとめて書けと言ってる
10デフォルトの名無しさん (ワッチョイ 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:TQg4kwht0
>>7
Cellsの前にはワークシート名書いといた方が絶対にいいよ
CodeNameでいいから前に書いときな
13デフォルトの名無しさん (ワッチョイ 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
14デフォルトの名無しさん (アウアウウー Sa85-7m6G)
2020/08/31(月) 19:10:36.33ID:ZuoShitIa
>>13
Month関数使えば判定できるとか
15デフォルトの名無しさん (アウアウエー Sa0a-ifKp)
2020/08/31(月) 19:11:34.92ID:0S1gXD8ua
>>10
>>12
助言ありがとうございます。
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
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←ここで出ます

事情がありスマホで手打ちしました。
見苦しくすみませんがよろしくお願い申し上げます
19デフォルトの名無しさん (アウアウクー MM11-1Npq)
2020/09/01(火) 19:54:21.29ID:GHp5MfoEM
小計シートのA列に日付があります
1.メニューシートでリストボックスを設置して、そこに小計シートのダブりを省いた日付を入れて選択できるようにしたいです
2.メニューシートの実行ボタンを押すと選択した日付の行全てを結果シートに出力したいです

どのような関数を使えば1、2を実現できるのでしょうか?
20デフォルトの名無しさん (ワッチョイ 4d10-t21d)
2020/09/01(火) 20:49:46.16ID:4J5+lU0z0
神経衰弱を作っています
Image1~52を並べて全てのImageにクリックされた時の処理を記述しているのですがImageがクリックされた時の処理をひとつにまとめる方法はないでしょうか?
21デフォルトの名無しさん (ワッチョイ 61da-1etN)
2020/09/01(火) 21:43:46.76ID:rkSCdRtt0
>>20
1つにまとめて、どこをクリックされたかは座標で特定するとか。
22デフォルトの名無しさん (ワッチョイ 61da-1etN)
2020/09/01(火) 21:46:04.84ID:rkSCdRtt0
>>18
vbsでも同じエラー出る?
23デフォルトの名無しさん (ドコグロ MMca-yRqa)
2020/09/01(火) 21:59:11.19ID:o1zup8QpM
>>20
Imagename = Application.Caller
i = Mid(Imagename, 6)

あとは、Select Caseで割り振る
24デフォルトの名無しさん (ワッチョイ 0d7c-JMbW)
2020/09/01(火) 22:12:33.10ID:0zlN/jAw0
>>20
マクロ登録に引数を付けるか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 コントロール配列 あたりでググってみると良いかもしれない
29デフォルトの名無しさん (スププ Sd7f-2VA6)
2020/09/02(水) 06:20:17.47ID:PYA1799od
>>20
クラス作ってWithEventsおすすめ。
30デフォルトの名無しさん (ワッチョイ e710-t/Jd)
2020/09/02(水) 20:49:21.06ID:hWT8nCmb0
神経衰弱を作っています
カードを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開く文字書き込み

こんな感じに開いてたら閉じる。違うファイルなら閉じて新たに開くってどうしたら
いいですか?
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
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だけ処理すりゃいいと思う
37デフォルトの名無しさん (ドコグロ MM1f-aCGe)
2020/09/02(水) 23:26:58.04ID:CEKOaVwIM
>>35
じゃあ、trueに変えればいいじゃん
38デフォルトの名無しさん (ワッチョイ 7f63-3NJ+)
2020/09/02(水) 23:43:34.57ID:4SR2iB8C0
>>22
sはこれでエラーが出ませんでしたが
これでテストになっているのか疑問です。。(acrobatを操作しているように見えない
Sub ConvertFile()
Dim objAcroApp
Dim objAcroAVDoc
Dim objAcroPDDoc
Dim id
Dim js
Dim SaveName
id = objAcroApp.Show
id = objAcroAVDoc.Open("PDFへのパス", "")

ちなみに>>18のソースを本日数度起動してみたところ
1回だけ動作成功しましたww
プログラム以外のところに原因があるんでしょうか。
39デフォルトの名無しさん (ワッチョイ 7f63-3NJ+)
2020/09/02(水) 23:44:24.75ID:4SR2iB8C0
sはこれでエラーが出ませんでしたが

vbsは・・・
です。失礼しました。
40デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/02(水) 23:59:58.13ID:86SCKcxdd
>>37
カードの非表示状態を管理するなりしないと単純にvisibleだけ見ても意味ないよ
41デフォルトの名無しさん (スプッッ Sdff-W64q)
2020/09/03(木) 07:25:12.95ID:VXBXo8cBd
>>33
次のファイルが同一ならそのままで、違うファイルなら閉じて開くの処理の仕方が分かりません。
42デフォルトの名無しさん (ラクッペペ MM8f-dQ4P)
2020/09/03(木) 09:49:18.05ID:8vHUVo2kM
>>40
visibleプロパティで管理してるんだから問題ないだろ

13回選んで4回裏が出たら17回選べばいいんだよ
43デフォルトの名無しさん (ワッチョイ 5f80-uomc)
2020/09/03(木) 10:06:52.17ID:wpeUBEOu0
>>41
ファイル名保持して、ファイル名が同一ならそのまま、違ったら閉じて開くだけ?isbookopen使うとか?
44デフォルトの名無しさん (ワッチョイ c7da-XrX+)
2020/09/03(木) 20:23:29.13ID:xDfSE2i10
>>38
CreateObject("AcroExch.App")
CreateObject("AcroExch.PDDoc")
しなきゃダメなんじゃ・・。
そういう問題ではない?
45デフォルトの名無しさん (ワッチョイ c7da-XrX+)
2020/09/03(木) 20:28:15.84ID:xDfSE2i10
あと、1回だけ成功したのなら、
馬鹿馬鹿しいと思うかも知れないけど、
DoeventsかSleepを入れてみるとか。
46デフォルトの名無しさん (ラクッペペ MM8f-qH39)
2020/09/04(金) 12:46:00.80ID:lx1E7kKYM
csvをある列でフィルタし
結果を別のブックに貼り付け
csvとして保存したところ
日付+時刻(ゼロ時)の列すべて
5桁の数字になります
どうしたら日付+時刻のままで
いてくれますか
47デフォルトの名無しさん (ワッチョイ e77c-ALHH)
2020/09/04(金) 14:35:51.29ID:cB2Mz28T0
文字列として貼る
48デフォルトの名無しさん (ワッチョイ 7f8e-+abr)
2020/09/04(金) 16:31:17.78ID:9qR3rveJ0
>>46
VBAの話しか?
49デフォルトの名無しさん (ラクッペペ MM8f-qH39)
2020/09/04(金) 17:16:17.55ID:lx1E7kKYM
>>48
はぃ、vbaでそういう処理を書きました
50デフォルトの名無しさん (アウアウクー MMbb-DxLX)
2020/09/04(金) 19:53:46.53ID:F8mRPL3VM
一定間隔でマクロ実行する方法はなんとなくわかるのですが、不規則な間隔(5秒〜90秒)でマクロ実行したいのですが
どんなやり方がありますか?
51デフォルトの名無しさん (ワッチョイ c7da-XrX+)
2020/09/04(金) 20:18:00.24ID:1AlCas5O0
>>46
日付が5桁の数字って、44078とかだろうけど、
多分フィルタもCSVも関係ない。
値貼り付けしちゃってる。
52デフォルトの名無しさん (ワッチョイ c7da-XrX+)
2020/09/04(金) 20:24:24.36ID:1AlCas5O0
>>50
Rnd使うのが一般的なんだろうけど、アホな方法を挙げると、
誰かが作った不規則をパク
53デフォルトの名無しさん (ワッチョイ c7da-XrX+)
2020/09/04(金) 20:26:21.57ID:1AlCas5O0
ってくるとか。
例えばライブカメラの画像をDLして使うとか。
54デフォルトの名無しさん (ワッチョイ 27ce-n8ne)
2020/09/04(金) 22:27:33.32ID:awq2GZ8I0
>>50
マクロの最後にApplication.OnTimeを書く
現在時刻に乱数で秒数を足す
55デフォルトの名無しさん (ワッチョイ e710-t/Jd)
2020/09/04(金) 23:53:41.25ID:3ZUt+s6n0
モジュール1で定義した配列をモジュール2で使うにはどうすればいいですか?
モジュール1でdimではなくpublicで宣言すればいいのでしょうか?
56デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/04(金) 23:56:30.81ID:LK01+huQd
なんでそれをやってみないの
57デフォルトの名無しさん (ワッチョイ c763-3NJ+)
2020/09/05(土) 00:15:03.09ID:oZJVOAAi0
>>51
すべてご推察のとおりです。ありがとうございます。
xlPasteValuesで張り付けてます。
xlPasteAllだと年が月日の後になってしまいます(5/31/2020 0:00)

>>47さんのおっしゃる
「文字列として」貼り付ける設定を発見できません。
""で囲めば文字列として貼り付けられるのでしょうか。
58デフォルトの名無しさん (ワッチョイ 7f8e-+abr)
2020/09/05(土) 00:15:37.71ID:wG6iKMy+0
最近また馬鹿が出てきた
59デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/05(土) 00:20:53.60ID:dEfSwWqXd
>>57
セルの書式設定
60デフォルトの名無しさん (ワッチョイ 5f2f-3NJ+)
2020/09/05(土) 07:07:58.26ID:8ZVzqJQh0
CSVで保存したら書式通りで保存されたっけ?
61デフォルトの名無しさん (ワッチョイ 27ce-n8ne)
2020/09/05(土) 08:05:59.89ID:aR6FsABo0
>>60
される
62デフォルトの名無しさん (オッペケ Srbb-XehP)
2020/09/05(土) 10:12:38.88ID:LyoNVqbOr
A1に3、B1に100といれ、実行すると、

3から100行までを非表示にするマクロお願いします
63デフォルトの名無しさん (ワッチョイ 0701-zmOT)
2020/09/05(土) 13:47:16.04ID:CLMpHe/Q0
基本技術の試験勉強してるのですが、

https://www.fe-siken.com/kakomon/30_aki/pm13.html

この過去問の設問3のマクロの文章の和訳というか、各行がどんな処理をしているのか日本語で説明できる方いませんか

あと、変数iなんですが、なぜiなんでしょう

よろしくお願いいたします
64デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/05(土) 14:03:42.79ID:4XqPsYsKd
ループカウンタ用の変数名はとりあえずiにでもしとこうっていう昔からの名残
細かく言うと整数を表すIntegerのi
i、j、k〜nまで順によく使われる
65デフォルトの名無しさん (ワッチョイ 0701-zmOT)
2020/09/05(土) 14:08:56.71ID:CLMpHe/Q0
>>64
ありがとうございます
特にこだわる深い意味は無いのですね
助かります
6663 (ワッチョイ 0701-zmOT)
2020/09/05(土) 14:19:36.48ID:CLMpHe/Q0
何度もレスしてすいません。
問題の文章とVBAのマクロの文章を照らし合わせて回答をみると何となく答えがわかる気がしてきたのですが、

相対(a2,work_line,3)

がなぜ来店状況ワークシートのセルd列のことになるのか分かりません。
3列目なのでcだと思ったのですが…
67デフォルトの名無しさん (ササクッテロ Spbb-Yyeh)
2020/09/05(土) 14:51:37.42ID:OBeOSrHnp
>>64
indexかと思っていたんだが
68デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/05(土) 15:12:53.61ID:JRHWh/h7d
>>66
列番号ではなくA列から相対的に数えて何個右の列かってことだろう
69デフォルトの名無しさん (アウアウウー Sa8b-vi+Z)
2020/09/05(土) 15:15:25.53ID:jnQOfSyba
>>66
問題見てもないけど、相対って書いてあるからB列から始めてるんじゃ?
と思ったけどレス見ると3次元配列っぽいしよくわからん
70デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/05(土) 15:16:40.51ID:YqeHmb95d
相対(A2,work_line)も同じ考え方だぞ?
71デフォルトの名無しさん (ワッチョイ 7fdd-uomc)
2020/09/05(土) 15:19:54.14ID:Xd3OIwcX0
>>63
fortran起源説
72デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/05(土) 15:20:15.06ID:YqeHmb95d
vbaに直すとrange("A2").offset(work_line,3)
7363 (オッペケ Srbb-zmOT)
2020/09/05(土) 16:21:30.22ID:zirZG8//r
>>68
>>72
ありがとうございます!!
理解しました!
7463 (ワッチョイ 0701-zmOT)
2020/09/05(土) 16:23:09.92ID:ZUfl2WLX0
>>70
すいません
そもそもそれもよく分かってなかったのです。
ちなみに良かったらどういう意味が教えて欲しいです。
聞いてばかりで申し訳ありません。
75デフォルトの名無しさん (オッペケ Srbb-O+NZ)
2020/09/05(土) 16:25:38.15ID:STsU3nz1r
>>64
インデックスじゃないの?
76デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/05(土) 16:34:57.30ID:BMRcPhN/d
>>74
列がわかったなら行もわかるはずだが…
77デフォルトの名無しさん (ワッチョイ 7f8e-+abr)
2020/09/05(土) 17:24:34.57ID:wG6iKMy+0
>>74
そろそろ消えろ
78デフォルトの名無しさん (ドコグロ MM1f-aCGe)
2020/09/05(土) 17:30:09.65ID:k1PkCOGDM
>>74
相対(a2,行,列)
0の場合は省略可なので
相対(a2,行)とか相対(a2,,列)でもいい
79デフォルトの名無しさん (スフッ Sd7f-7sgX)
2020/09/05(土) 17:54:39.12ID:HmyJ6FBVd
>>78
それはvbaのoffsetの構文であって設問の問題文とは関係ないな
80デフォルトの名無しさん (ワッチョイ 27e5-EsR/)
2020/09/05(土) 18:10:48.71ID:BBnzOe5t0
>>62
の質問内容がひどすぎて
誰もくいつかないなw
81デフォルトの名無しさん (アウアウエー Sa1f-16Fo)
2020/09/05(土) 18:23:56.02ID:eBP4WmWUa
お金が発生するわけでもないし
8263 (ワッチョイ 0701-zmOT)
2020/09/05(土) 18:58:31.52ID:ZUfl2WLX0
>>78
ありがとうございます。
とても助かりました。
83デフォルトの名無しさん (ワッチョイ bff7-biH0)
2020/09/05(土) 20:42:59.70ID:XhaSpdgL0
>>62
Range(Rows(Range("A1").Value), Rows(Range("B1").Value)).Rows.Hidden = True
84デフォルトの名無しさん (ワッチョイ c7da-XrX+)
2020/09/06(日) 09:47:35.66ID:cKQMszzk0
>>57
値で貼り付けるなら、後から
.NumberFormatLocal = "yyyy/m/d h:mm;@"
85デフォルトの名無しさん (ワッチョイ c7da-XrX+)
2020/09/06(日) 09:49:52.25ID:cKQMszzk0
>>63
答えは簡単だが、質問が難しすぎる。
8663 (ワッチョイ 0701-zmOT)
2020/09/06(日) 14:01:01.76ID:spMqG8Fw0
>>85
上手く質問できなくて申し訳ありません。

全体的な単語の一つ一つの意味が知りたかったのです。

お手隙ならばで構わないのですが、

https://www.fe-siken.com/kakomon/30_haru/pm02.html

この問題の設問3の重みパラメータというのがどう作用して出力Zの値になるのか教えて頂けないでしょうか。
8763 (ワッチョイ 0701-zmOT)
2020/09/06(日) 14:02:20.47ID:spMqG8Fw0
あ、すみません。問題よく読んでませんでした。
これについてはレス直後理解しました。
ごめんなさい( ;ᯅ; )
8863 (ワッチョイ 0701-zmOT)
2020/09/06(日) 14:27:55.58ID:spMqG8Fw0
https://www.fe-siken.com/kakomon/30_haru/pm03.html

この設問1の答えなんですが、この文でどうして結合とか保護者の氏名と住所を抽出するのですか?
89デフォルトの名無しさん (ワッチョイ 2763-3NJ+)
2020/09/06(日) 14:33:06.47ID:PpfBKGYq0
>>84
これで出来ました
ありがとうありがとうありがとううううううううーー
90デフォルトの名無しさん (ワッチョイ 7f8e-+abr)
2020/09/06(日) 18:43:46.86ID:Mql9n0EK0
>>88
死ね
91デフォルトの名無しさん (ワッチョイ 4701-n8ne)
2020/09/07(月) 05:30:38.87ID:OoqPbQfP0
>>90
お前が死ね
ゴミ山猿の屑野郎
92デフォルトの名無しさん (ワントンキン MMab-AmFM)
2020/09/07(月) 12:55:41.51ID:ZbJzmFKoM
>>91
内容も読まずに書くなよクズ。SQLのことだろうが。
93デフォルトの名無しさん (ワッチョイ 0701-zmOT)
2020/09/07(月) 18:18:17.86ID:R5ozSk7c0
ここで質問したらダメだったみたいですね
該当スレとかあるのでしょうか
94デフォルトの名無しさん (スプッッ Sd7f-Lyqo)
2020/09/07(月) 18:26:10.30ID:aZP2Fcscd
>>93
http://2chb.net/r/welfare/1598921138/
95デフォルトの名無しさん (アウアウエー Sa1f-16Fo)
2020/09/07(月) 18:43:17.53ID:K46ocmR8a
>>88
これをどこで聞けばいいのかもわからなかったらFE受かるの難しいよ…
96デフォルトの名無しさん (テテンテンテン MM8f-Ccsn)
2020/09/07(月) 20:07:21.03ID:Yu9E5X6OM
VBA勉強しはじめて、ようやくOutlook連携とかzip圧縮とかやり始めたんだけど
Excelそのものの操作に関する情報と比べて、参考に出来る情報の質も量もガクッと落ちた気がする

やっぱ話題のpythonに切替えたほうが悩まずやれるのだろうか
97デフォルトの名無しさん (テテンテンテン MM8f-Ccsn)
2020/09/07(月) 20:09:11.40ID:Yu9E5X6OM
質も量も、っていうのはノンプログラマーの自分が探せる範囲って意味です
98デフォルトの名無しさん (ワッチョイ e7e6-dQ4P)
2020/09/07(月) 20:22:49.70ID:sgrgY4Mk0
zip.exe叩けばええやろ
99デフォルトの名無しさん (ワッチョイ 5f6d-4jJb)
2020/09/07(月) 20:51:37.54ID:/DR3/4oV0
目の前に答えが書いてあっても理解できない、答えだと気付けない
これが「馬鹿には無理」の意味
100デフォルトの名無しさん (テテンテンテン MM8f-Ccsn)
2020/09/07(月) 21:00:18.85ID:Yu9E5X6OM
半年ROMって勉強します押忍押忍押忍
101デフォルトの名無しさん (オイコラミネオ MM4f-kGCs)
2020/09/07(月) 21:22:51.97ID:JIC+p5t3M
何をしたいかによるけど、Windowsの操作の自動化っていう範疇ならPowerShellおすすめ
Comオブジェクトも使えるよ
102デフォルトの名無しさん (アウアウエー Sa1f-yOpk)
2020/09/07(月) 21:38:02.53ID:J1GBImUha
なにがおかしいの?
Sub func()
Dim url As String: url = "https://e-hentai.org/g/1727798/1fbe77a0a2/";
Dim buffer As String: buffer = ""
Dim objLinks As Object
Dim objIE As InternetExplorer
Set objIE = CreateObject("InternetExplorer.Application")
objIE.Visible = False

objIE.navigate (url)
Do While objIE.Busy Or objIE.readyState <> READYSTATE_COMPLETE
DoEvents
Loop

Call WaitFor(3) ' wait for 3 seconds

objLinks = objIE.document.getElementsByClassName("gdtm").outerHTML

Cells(1, 1).Value = objLinks

objIE.Quit
Set objIE = Nothing
End Sub

Function WaitFor(ByVal second As Integer)
Dim futureTime As Date: futureTime = DateAdd("s", second, Now)
While Now < futureTime
DoEvents
Wend
End Function
103デフォルトの名無しさん (ワッチョイ bff7-BGL1)
2020/09/07(月) 22:46:01.59ID:qahfABoQ0
IEはもう無くなるよ
104デフォルトの名無しさん (ワッチョイ 27ce-n8ne)
2020/09/07(月) 22:49:52.43ID:744b2nM10
>>102
Dim objLinks As String
105デフォルトの名無しさん (ワッチョイ bfc9-XrX+)
2020/09/07(月) 22:54:20.72ID:VQNIMFGd0
>>103
IEの代替え何使ったらいいの?
106デフォルトの名無しさん (ワッチョイ 27ce-n8ne)
2020/09/07(月) 23:07:32.69ID:744b2nM10
>>105
データをダウンロードするだけならブラウザを使わずに直接ネットアクセスした方が早くて簡単
色んな方法があるけどXMLHTTPとかWinHttpRequestとか調べてみ
107デフォルトの名無しさん (ワッチョイ bfc9-XrX+)
2020/09/07(月) 23:17:00.84ID:VQNIMFGd0
>>106
ありがとうございます


'JavaScriptを実行しFormを送る処理
objIE.Navigate "JavaScript:doAction('/文字列')"

みたいなことしないとアクセスできないサイトのデータが取得したいのですが
他に方法ありますか?
108デフォルトの名無しさん (ワッチョイ e7e6-n8ne)
2020/09/07(月) 23:22:23.18ID:sgrgY4Mk0
JavaScriptを読んで何やってるか調べろ
109デフォルトの名無しさん (ワッチョイ 27ce-n8ne)
2020/09/07(月) 23:49:39.86ID:744b2nM10
>>107
Form送信は単純なHTTPアクセスで代替できるケースが多いから、これもブラウザを使う必要はない
てか、WEBの構造はVBA関係ないし
110デフォルトの名無しさん (ワッチョイ e761-Mi9Z)
2020/09/07(月) 23:56:10.64ID:UwONkXQv0
エクセル2010です。
上書き保存時にすべてのシートでA1セルを選択するようにしたいのですが、
Ctrl+S時とボタンのクリックイベントで挙動が違うことにハマってます。
1枚目シートにactiveXコントロールのボタンを配置し、VBAの構成は以下です。
1. シートモジュール : ボタンのクリックイベントにThisworkbook.saveだけを書いています。
2. ThisWorkbookモジュール : beforeSaveイベントで3を呼び出し。
3. 標準モジュール : 全シートのA1セルを選択するSubプロシージャ。ForEachでまわすだけ。

Ctrl+Sの際は2→3でうまくいきます。
ボタン押下の場合は、1→2→3と流れてはいるものの、なぜか各シートがactivateされなず、activeSheet.Range("A1").Selectが働きません。
1のクリックイベントから直接3を呼び出すのは、うまく行きます。

何故このような挙動になるのか分からず数日ハマってます。
どなたか、ご教示よろしくお願いします。
111デフォルトの名無しさん (ドコグロ MM7b-aCGe)
2020/09/08(火) 02:03:49.70ID:weDKADyMM
>>110
for i= activeworkbook.worksheets.count to 1 step -1
apprication.goto activeworkbook.worksheets(i).range("a1")
next i
activeworkbook.save

スマホ打ちだから綴りミスはあるかも
112デフォルトの名無しさん (アウアウカー Sa9b-vRCQ)
2020/09/08(火) 07:47:00.42ID:vMdvrooDa
>>110
For eachで全シート回してるならActivateしなくても、
sh.Range("A1")で行けないか?
113デフォルトの名無しさん (アウアウカー Sa9b-vRCQ)
2020/09/08(火) 07:48:01.88ID:vMdvrooDa
>>112
間違えたsh.Range("A1").Selectだわ
114デフォルトの名無しさん (ワッチョイ 27da-XrX+)
2020/09/08(火) 10:40:31.23ID:C66iYfBu0
>>110
働かないという場合の原因で以下のことを調べてみ

1.実は働いていたがその後に別の動作をしたため働いていないように見える
2.働こうとしたが、なんらかの異常が出て失敗している
3.その処理が実行されていない(on errorやifの条件、イベント発生していないなど)
115デフォルトの名無しさん (ワッチョイ 272c-3NJ+)
2020/09/08(火) 11:03:00.55ID:0vfIbeP00
>>105
漏れは、yahoo のログインとか、
Ruby, Selenium Webdriver で、ブラウザを自動操作してる

単純なダウンロード・スクレイピングなら、RubyのNokogiri。
外部コマンドなら、curl, wget
116デフォルトの名無しさん (ラクッペペ MM8f-dQ4P)
2020/09/08(火) 11:52:57.99ID:POT3YWITM
Application.EnableEvents=Falseしてるとか?
117デフォルトの名無しさん (ワッチョイ 0701-4dlc)
2020/09/08(火) 16:58:59.99ID:qXkQmTRa0
“>-1”&i
て書いたときに >-2, >-3... っていうふうに比較値が意図せず負に進むんだけど正の値に足したい場合ってどうすれば良いでしょうか。
118デフォルトの名無しさん (アウアウウー Sa8b-vi+Z)
2020/09/08(火) 18:39:01.86ID:p9XW8v7Na
>>117
VBAの挙動の問題

-を文字列、1を数値として認識してる

そもそも、-1をダブルクォーテーションで括ってるのは文字列として-1を認識させたい時のみにするのが基本
なので、ダブルクォーテーションを取ってやれば意図通り動くはず
119デフォルトの名無しさん (ラクッペペ MM8f-dQ4P)
2020/09/08(火) 19:07:42.80ID:Pjd0b/NhM
へー、そんな挙動するんだ。知らなかった

>-11
>-12
>-13
になると思ってたよ
120デフォルトの名無しさん (ワッチョイ e77c-ALHH)
2020/09/08(火) 19:08:20.88ID:E23V8S4o0
>>113
activeじゃないシートはselectできないと思うが
121デフォルトの名無しさん (ワッチョイ e77c-ALHH)
2020/09/08(火) 19:10:47.69ID:E23V8S4o0
>>110
Forの中身が間違ってるとか別のブックを見てるとか
ほんとに選択したいシートが選択されてるか確認した?
122デフォルトの名無しさん (ワッチョイ 0701-biH0)
2020/09/08(火) 20:06:33.41ID:qXkQmTRa0
>>118
クォーテーション外してやってみたけど上手くいかないです...

初心者なんで拙いですが、一応自分で書いたものをのせます。
既出のデータを整理して2次元チャートを作成する目的です。

Dim cnt As Integer
Dim x As Long
Dim y As Long
x = 0
y = 0

For x = 0 To 10
For y = 0 To 10

cnt = WorksheetFunction.CountIfs(Range("B2", Range("B2").End(xlDown)) "<=" 0 + x, Range("B2", Range("B2").End(xlDown)) ">= -1" & x, Range("C2", Range("C2").End(xlDown)) "<= 0" & y, Range("C2", Range("C2").End(xlDown)) ">= -1" & y)

Cells(x , y) = cnt

Next y
Next x
123デフォルトの名無しさん (ワッチョイ e77c-ALHH)
2020/09/08(火) 20:34:38.38ID:E23V8S4o0
いつも人任せだな…
そのcountifの引数の中身が自分の意図した内容かなんで確認しないの?
124デフォルトの名無しさん (ワッチョイ 5fb5-/qgI)
2020/09/08(火) 21:43:07.59ID:MiWYYVaX0
もう30過ぎて勉強もなぁ…って手が進まない
VBAを知識をパンパンに詰め込んでああこれねって感じでカタカタと打ち込んでプロシージャ作りたいもんだわ
125デフォルトの名無しさん (ワッチョイ e77c-ALHH)
2020/09/08(火) 21:57:43.01ID:E23V8S4o0
考えることを人に丸投げしてるだけで勉強は関係がない
126デフォルトの名無しさん (ワッチョイ 5fb5-/qgI)
2020/09/08(火) 22:00:12.71ID:MiWYYVaX0
人に丸投げというかネットで拾ったものの組み合わせでいつも何とかしてしまう
知識がほとんど入らない
異動希望出してるしなぁ
127デフォルトの名無しさん (ワッチョイ 5f1f-W64q)
2020/09/08(火) 22:06:16.19ID:aT8iqlgZ0
エクセルの指定列から3列コピーしてその4列目に挿入して貼り付けた後セルに入ってる値を消すコードをRangeじゃなくてCellsでやりたいです。
clmtar=10
10〜13列をコピー
14列目に挿入
14〜17列目のセルの値クリア。
128デフォルトの名無しさん (ワッチョイ c73d-vi+Z)
2020/09/08(火) 22:11:08.52ID:+kf0/gdp0
>>127
コピー後の値を消すの?
元通りになるだけだと思うけど
129デフォルトの名無しさん (ワッチョイ 27da-XrX+)
2020/09/08(火) 22:29:42.46ID:C66iYfBu0
>>126
愚痴る暇があったら入門書かって1ページでもいいから読んでろ
130デフォルトの名無しさん (ワッチョイ 5fb5-/qgI)
2020/09/08(火) 22:34:56.39ID:MiWYYVaX0
>>129
すんません…なんか職場でおばちゃんがあれも作ってとか調子こいてるだけで
こりゃまた愚痴だわ
これぞ!っていう入門書ありますかね
イチからガチで鍛えてみるかな
131デフォルトの名無しさん (アウアウエー Sa1f-16Fo)
2020/09/08(火) 22:36:08.93ID:8mxHLcBxa
>>126
なんとかできてるならそれも実力のうちなのだと思うよ
楽しい、自分ならこうしてみたい、こうしたらどうなるのだろう
とかがないならそこまでだけど
132デフォルトの名無しさん (ワッチョイ 5fb5-/qgI)
2020/09/08(火) 22:40:05.68ID:MiWYYVaX0
ネットで検索
プロシージャを組み合わせたり簡単なところをイジる
出きたと思ったら会社のメルアドにプロシージャ貼り付けたテキスト送る
会社で組み合わせる
UserFormのボタンに割り当て
これでごまかしつつやってきた
圧倒的な知識が欲しいなぁと
133デフォルトの名無しさん (ワッチョイ 27da-XrX+)
2020/09/08(火) 22:47:12.09ID:C66iYfBu0
>>130
それすら他人に頼るようじゃいつまでたっても進まない
134デフォルトの名無しさん (ワッチョイ e77c-ALHH)
2020/09/08(火) 22:50:54.91ID:E23V8S4o0
今までどおり困ったら初心者ですとか勉強中ですとかで知識ないアピールで人にやらせて突っ込まれたら謎の正当化とどうでもいい言い訳で誤魔化してやっていくんだろうな
135デフォルトの名無しさん (ワッチョイ 5fb5-/qgI)
2020/09/08(火) 22:52:28.72ID:MiWYYVaX0
ネットで調べてなんとかなってしまう時代のせいだよね
俺は悪くない
136デフォルトの名無しさん (アウアウウー Sa8b-yCsQ)
2020/09/08(火) 23:27:06.50ID:HhRrDF1oa
そういう人が増えてきたからあんまり教えないようにしてる
137デフォルトの名無しさん (ワントンキン MM7a-nV8z)
2020/09/09(水) 00:19:56.45ID:akgtbWjMM
ゆとり世代の特徴だぞ
138110 (ワッチョイ 5961-RQWs)
2020/09/09(水) 00:23:30.44ID:Lvk20igu0
>110です。
書き込み後にいろいろググったところ、いくつかのサイトで
コードからの保存はbeforeSaveイベントが正常に働かない旨の記載がありました。
今回の事象もこれに当たるのかなと考えています。
そんな訳で、ボタンでの保存はenableEventsをfalseにして別処理にしました。
回答くださった皆様、ありがとうございました。
139デフォルトの名無しさん (ワッチョイ eab5-mjPJ)
2020/09/09(水) 00:53:57.72ID:0o8c0VF10
別にここで聞いても答えなんて返ってこないし期待してないのでご安心を
140デフォルトの名無しさん (ワッチョイ 39e6-Pwf7)
2020/09/09(水) 01:12:42.60ID:VoppH/up0
足し算がわかりませんとか言われても入門書でも読めとしか言えないよな
141デフォルトの名無しさん (アウアウウー Sa21-zN8f)
2020/09/09(水) 04:06:45.89ID:Y+JI74HRa
入門書読めと言うとどの入門書がいいか聞いてくるよ
142デフォルトの名無しさん (ワッチョイ 6a42-vvkI)
2020/09/09(水) 08:19:04.77ID:z9RILJ2v0
入門書を紹介すると今度はどこで買えばいいか聞いてくるよ
143デフォルトの名無しさん (ワッチョイ 11da-pVuC)
2020/09/09(水) 09:27:32.52ID:8tppu1V70
通販で買えって言うとお金がないって言ってくるよ
144デフォルトの名無しさん (ドコグロ MM12-1HGn)
2020/09/09(水) 09:43:27.85ID:9AZapVJXM
お金あげると姿をくらますよ
145デフォルトの名無しさん (ワッチョイ 397c-bL/7)
2020/09/09(水) 10:03:14.46ID:I5K9tGVf0
しかも捨て台詞付きで
146デフォルトの名無しさん (ブーイモ MM8e-+eY2)
2020/09/09(水) 10:37:20.74ID:KbsHkxtjM
すみません。ちょっと長くなってしまうのですがTreeViewをいじっているうちに分からない事があったので教えて下さい。
TreeViewの子ノードをD&Dでリストボックスにコピーする動作を作っていたのですが、ドラッグ開始時点のSelectedItemを取得しようとすると1度子ノードをクリックした上でD&Dを行う必要がありました。
その為、既定引数のIPOS,yPOSを使ってHitTestをSelectedItemに代入しようとしました。
しかしそれが上手く動作せず色々調べた結果、
xとyに*15をすると言う記述を見つけ試してみたところ、思い通りの動作を得られました。

しかしながらこの15はなんの15なんだ。他の環境ではこの数値は変わるのか。変わるならば何を元に算出すれば良いのだろうか。
という疑問が浮かびました。
お手数をお掛け致しますがお分かりになる方がいらっしゃいましたらご教授頂けませんでしょうか。
147デフォルトの名無しさん (ワッチョイ 6a2f-sa+Q)
2020/09/09(水) 14:26:55.25ID:dKuEV/F30
まずその15をかけるってどこに書いてあったんだよ
148デフォルトの名無しさん (アウアウカー Sa55-hUiG)
2020/09/09(水) 16:31:31.09ID:0Qh2iKtEa
Windows標準のシステム解像度だとピクセルとTwipsの比率が1:15だからってスタックオーバーフローに書いてあった
149デフォルトの名無しさん (ラクッペペ MM3e-AH3D)
2020/09/09(水) 17:07:35.99ID:cdbk3sfrM
c言語のdefineに相当する文法は無いですか?
constだと違和感がありますので
150デフォルトの名無しさん (ブーイモ MM8e-+eY2)
2020/09/09(水) 17:36:02.11ID:KbsHkxtjM
>>148
助かります
ありがとうございました

という事は使用環境次第では正常に動作しない場合も有り得るって事なのですね。対策を検討してみます。
151デフォルトの名無しさん (アウアウウー Sa21-PnJR)
2020/09/09(水) 17:50:55.91ID:jCqtOC3ba
>>149
どこに違和感があるのかを言わないと案を出せません
152デフォルトの名無しさん (ワッチョイ 2a1f-ah1O)
2020/09/09(水) 20:59:39.02ID:ynJDkc680
>>128
コピー後挿入したら隣に3列追加されてセルの長さもコピーした3列と同じになりますよね?
153デフォルトの名無しさん (ワッチョイ 397c-bL/7)
2020/09/09(水) 21:05:53.63ID:I5K9tGVf0
列幅をコピーすればいいのでは…
154デフォルトの名無しさん (ワッチョイ 3d3d-PnJR)
2020/09/09(水) 21:18:50.45ID:Uey8EdNp0
>>152
幅を一緒にしたいなら最初からそう書けば良かったのに
155デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/10(木) 00:02:31.06ID:a+RPoaYl0
>>149
あなたが思っているC言語のdefineの使い方は、コンパイラが置換するもので、定数の概念とは少し違いますよ?
156デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/10(木) 00:04:04.82ID:a+RPoaYl0
>>152
そもそも列の挿入操作が必須なのか?
157デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/10(木) 00:05:42.63ID:a+RPoaYl0
列の挿入なんてあちこちに影響するから、やりたがる理由がわからない。
158デフォルトの名無しさん (アウアウウー Sa21-zN8f)
2020/09/10(木) 01:40:18.04ID:JZj4+m/Aa
条件付き書式が壊れたりすると面倒
159デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/10(木) 02:24:17.86ID:a+RPoaYl0
自分の操作と同じ手順を踏みたいだけなんだろうね

プログラマではない素人感覚
160デフォルトの名無しさん (アウアウエー Sa52-psz/)
2020/09/10(木) 04:18:44.38ID:026ADmyCa
test
161デフォルトの名無しさん (ブーイモ MM8e-4twR)
2020/09/10(木) 07:50:51.47ID:T4cQI13RM
超初心者なんだけど
配列の中から指定値の近似値の座標を検索するのにいい感じの方法はないでしょうか
(以下、以上、完全一致全て含めての近似値)
162デフォルトの名無しさん (ラクッペペ MM3e-Pwf7)
2020/09/10(木) 08:50:52.35ID:l+lun8zfM
どうせ大した数じゃないんだろ
総なめしろよ
163デフォルトの名無しさん (アウアウウー Sa21-PnJR)
2020/09/10(木) 09:29:12.78ID:rdKJuFJTa
>>161
for eachで比較対象値と指定値を全て比較して、結果出力してその中でMIN関数使えば
164デフォルトの名無しさん (ワッチョイ 11da-pVuC)
2020/09/10(木) 10:03:54.29ID:QatXFD490
>>161
前もってソートした配列作って二分探索か、
配列の値-指定値の絶対値が最小になる値を探す
165デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 10:32:25.89ID:vUgEJ8vWd
Min(Abs(配列-指定値))
166デフォルトの名無しさん (ブーイモ MMc9-4twR)
2020/09/10(木) 12:18:21.67ID:tJgZROmkM
指定値と配列値の差分を絶対値にして比較した場合、
指定値が5だとして
配列  差分(ABS)
4     1
7     2
となり、最小の差分は1とわかる
座標を知りたいので指定値(5)-差分(1)=4となり、配列の中から4を検索して座標を調べればいいのかなって思ってたんだけど
絶対値で出てくると5-1か5+1どっちを検索すればいいか不明じゃないですか?
そこらへんを解決する方法があれば聞きたいです
167デフォルトの名無しさん (ラクッペペ MM3e-Pwf7)
2020/09/10(木) 12:33:38.92ID:l+lun8zfM
ひとつに絞りたいならお前がルールを決めればいい
お前に決定権がないなら保護者に聞け
168デフォルトの名無しさん (ワッチョイ 7d01-pVuC)
2020/09/10(木) 12:50:19.18ID:/arv21np0
ExcelVBAのフレームワークってないんですか?

PHPやJavascriptはまずフレームワーク覚えるもんだと思うのですが
VBAだとそういうのが見当たらなくって・・・
169デフォルトの名無しさん (ブーイモ MM81-m2CW)
2020/09/10(木) 12:52:37.90ID:sAyQhYLaM
見よう見まねで結構大掛かりなマクロを作った
情シスには程遠い事務の部署で
改善賞1万円
うーんもうちょい欲しかった
170デフォルトの名無しさん (スフッ Sd0a-EJMP)
2020/09/10(木) 13:06:54.18ID:PB4qSPsyd
オフイスを便利に使うためのお手軽言語でフレームワークの勉強とかやってたら非効率な上に大したメリットもない
171デフォルトの名無しさん (ラクッペペ MM3e-ruyw)
2020/09/10(木) 13:09:58.25ID:4uvZuCuyM
フレームワークという意味ではVBAそのものがVB6のOffice向けフレームワーク
さらに言えばExcel向けに特化したものがExcelVBA
他のOfficeソフトにもそれぞれのVBAがある
172デフォルトの名無しさん (ブーイモ MMc9-4twR)
2020/09/10(木) 13:11:29.05ID:XKC0VKf0M
>>167
一つに絞りたいというか最も近しい値を知りたいのです
指定値が5のとき、配列が4と7なら4を、3と6なら6の座標を調べたい
1万行は超えるから総なめはちょっと…
173デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 13:21:59.05ID:4mlwjCSed
>>172
パソコンにとっては「たった」1万行だよ
総舐めが一番簡単だし、開発時間も含めれば一番早い
174デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 13:23:29.76ID:4mlwjCSed
総舐めでもここでグダグタ言ってる間に結果が出る
175デフォルトの名無しさん (ラクッペペ MM3e-Pwf7)
2020/09/10(木) 13:38:32.36ID:l+lun8zfM
>>172
は? 質問は4と-4だろ?

もう俺が決めてやるよ
-4にしろ、はい解決
176デフォルトの名無しさん (ワッチョイ 6aad-+eY2)
2020/09/10(木) 13:41:25.58ID:Yq3PJL3D0
セルを弄くり回すとかじゃなくて配列のまま総舐めするなら1万行ぐらいすぐ終わるでしょう
指定した値aの近似値が欲しいなら
If a-x<=Array(i) And a+x>=Array(i) Then
とかで引っ掛かる奴を引っ張り出すなりなんなりすりゃあ良い
177デフォルトの名無しさん (ラクッペペ MM3e-Pwf7)
2020/09/10(木) 13:43:28.62ID:l+lun8zfM
あ、ごめん
俺が質問を勘違いしてたわ
178デフォルトの名無しさん (ワッチョイ 6aad-+eY2)
2020/09/10(木) 13:48:20.19ID:Yq3PJL3D0
近似値の範囲が不定で最も近い値を探すって言うならRank関数とかLarge関数とかSmall関数使うのも手
179デフォルトの名無しさん (ラクッペペ MM3e-Pwf7)
2020/09/10(木) 13:50:34.65ID:l+lun8zfM
>>168
各オブジェクトに多数のイベントが設定されているでしょ
windowsのプログラミングはイベントドリブンが基本
ブックが開いた、ボタンが押された、マウスが動いたなどのイベントに対するコードを書いていけばアプリケーションが完成する
180デフォルトの名無しさん (ワッチョイ 3dad-sCec)
2020/09/10(木) 18:35:00.61ID:VdzBOqiR0
すみません今宿題でこれやってるんですけど打ち込んでもなにも出ないのですがなぜでしょう
181デフォルトの名無しさん (ワッチョイ 3dad-sCec)
2020/09/10(木) 18:36:01.33ID:VdzBOqiR0
Excel VBA 質問スレ Part68 YouTube動画>5本 ニコニコ動画>1本 ->画像>8枚
これです
182デフォルトの名無しさん (ワッチョイ 6a42-vvkI)
2020/09/10(木) 19:09:29.54ID:yo745YZ80
打ち込んだだけで実行してないからじゃね
183デフォルトの名無しさん (テテンテンテン MM3e-Krlo)
2020/09/10(木) 19:30:20.82ID:L0+T18/AM
どこに打ち込んだかも分からないしなんとも
184デフォルトの名無しさん (ラクッペペ MM3e-Pwf7)
2020/09/10(木) 19:46:53.46ID:cO3BfNoWM
汚えコードだな
185デフォルトの名無しさん (ワッチョイ 6d63-PnJR)
2020/09/10(木) 19:55:23.47ID:T9YJeJvx0
>>166
コードが汚すぎる
186デフォルトの名無しさん (ワッチョイ 11da-pVuC)
2020/09/10(木) 20:10:09.84ID:QatXFD490
>>181
セルの幅や高さは初期状態?
187デフォルトの名無しさん (ワッチョイ 11da-pVuC)
2020/09/10(木) 20:12:24.09ID:QatXFD490
あ、なんでもない
188デフォルトの名無しさん (ワッチョイ 11da-pVuC)
2020/09/10(木) 20:17:20.03ID:QatXFD490
普通に動いたんで入力ミスとか環境の問題かな
189デフォルトの名無しさん (スップ Sdea-ah1O)
2020/09/10(木) 20:49:46.36ID:Rp5mNNXSd
パズルゲームを作ってます。

セルを奇数列から横2マス選択してドラッグさした場合に、移動先が同じ奇数列から始まる場所なら許可。偶数列から始まる場所に移動した場合は不可にして移動をキャンセルさせたいんですがどうしたら出来ますか?良いEVENTってあるんですかね?
190デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 21:52:44.31ID:WalExY5Hd
>>180
そのまま入力してちゃんと動いたから、問題文には間違いはない
Excel VBA 質問スレ Part68 YouTube動画>5本 ニコニコ動画>1本 ->画像>8枚

それにしても学校の宿題だとしたらひどすぎるな
先生がこんなに汚いコードしか書けないとか生徒がかわいそう
191デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 21:54:41.31ID:WalExY5Hd
ああ最後の方に入力ミスあったわごめん
192デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 21:56:12.36ID:WalExY5Hd
>>189
SelectionChange
193デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/10(木) 21:56:18.66ID:a+RPoaYl0
>>181
コメント行の終わりにシングルクォーテーションが付いているのは初めて見たw

コメントというより、文字列リテラルに見えてくるw
194デフォルトの名無しさん (ワッチョイ 3d3d-PnJR)
2020/09/10(木) 21:57:24.01ID:b8lNN7jK0
>>190
こんな意図がこんなに読みづらいコード初めて見たわ
195デフォルトの名無しさん (アウアウエー Sa52-v0oT)
2020/09/10(木) 22:01:54.82ID:qPrgFXQ2a
>>181
先生変数宣言しないの?
196デフォルトの名無しさん (アウアウカー Sa55-hUiG)
2020/09/10(木) 22:06:42.97ID:YMu2GFxia
教師は必ずしもコード書いてた人じゃないししゃあないんちゃう
197デフォルトの名無しさん (ワッチョイ 668e-0TEw)
2020/09/10(木) 22:22:10.32ID:6Lj7sAI40
>>180
馬鹿過ぎる帰れ
198デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 22:28:05.12ID:WalExY5Hd
>>193
HTMLみたいにコメントが改行で終わるとは限らない言語はまれによくあるけどな
それよりもインデントの汚さと、Cellsのパラメータにx, yを使ってるあたりがめちゃくちゃ気になる
199デフォルトの名無しさん (ワッチョイ 11da-pVuC)
2020/09/10(木) 22:28:20.02ID:QatXFD490
Kirakira1 のコードにそっくりなのが検索で見るかるけど
そっちでは変数宣言しているw
200デフォルトの名無しさん (アウアウウー Sa21-PnJR)
2020/09/10(木) 22:31:17.53ID:/qwml5cpa
これか
https://my-tax-nology.com/excel-vba-animation-rnd-function-cells-glitter
>>マクロ(Excel VBA)を使えば、簡単なアニメーションを作ることができます。
>>アニメーションを作っていると楽しいだけでなく、プログラミングのスキルアップに繋がります。

なるほど??
201デフォルトの名無しさん (アウアウエー Sa52-ndeh)
2020/09/10(木) 22:37:08.36ID:uWh6vQvPa
エクセルVBA は当分なくならないですかね
202デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 22:43:44.96ID:WalExY5Hd
>>200
VBAを教えてるサイトでコメントをシングルクォートで閉じたりカッコを全角で書くやつなんて世界に一人しかいない
本人ならDimやインデントはちゃんと書くはずだし、完全にパクリだな
203デフォルトの名無しさん (ワッチョイ 3dad-IT/D)
2020/09/10(木) 22:59:03.63ID:VdzBOqiR0
180ですなんとかできました。ド素人なんで申し訳ない
このコードはそんなできのいいものじゃないんですか?
先生凄く威圧的でいつもそんなんもわからんのかみたいな喋り方なんすけど
204デフォルトの名無しさん (ワッチョイ 39e6-7JDO)
2020/09/10(木) 23:10:15.32ID:8/CQSYne0
すまん
wsfやhtaでvbs書くとき 'コメント' って書くわ
エディタの色付けがjs用だから
205デフォルトの名無しさん (ワッチョイ 39e6-7JDO)
2020/09/10(木) 23:26:05.51ID:8/CQSYne0
>>203
「なんで乱数を整数化するのにRoundを使ってしまったんですか?」って聞いてみて
206デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/10(木) 23:27:44.84ID:a+RPoaYl0
他の言語でも行コメントで見出し風にするプロはそれなりにいる。

ただ、初心者に教える人間が行コメント構文を、ブロックコメント構文と同じ使い方をするのは、初心者を混乱させるだけで、何のメリットもない。
207デフォルトの名無しさん (ワッチョイ 3d3d-PnJR)
2020/09/10(木) 23:29:02.40ID:b8lNN7jK0
>>203
なんで変数宣言しないんですか?
なんでx1とかわかりづらい命名するんですか?
なんでx1とかを上書きするようなわかりづらい変数の使い方してるんですか?
インデントの使い方に意図はありますか?
6の意味が説明されないとわからないのは不親切ですね

などなど…色々質問してみたらいいよ
208デフォルトの名無しさん (スップ Sd0a-7JDO)
2020/09/10(木) 23:31:52.10ID:ewRWdYKCd
>>203
その先生は、少なくともVBAの知識だけは大したことないことは誰が見てもわかる
ほかの言語のエキスパートでVBAをバカにする人もいるけど、人に教えるんならちゃんとしろと思う

>>199
よく見つけたな
209デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/10(木) 23:31:53.48ID:a+RPoaYl0
>>205
それもなんか見ると気になるな。コードの順番も変だし、数値の精度やデータ型をわざとヘンテコにしているのかも謎。
210デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 23:33:45.89ID:ATM2a6JOd
>>205
Rndの定義から考えればIntを使うのが自然だけど、まあそこは100%間違いとは言い切れないからなあ
211デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/10(木) 23:33:50.53ID:a+RPoaYl0
その先生だと6は数値ではなく数字です!
マジックナンバーって何と言いそうw
212デフォルトの名無しさん (スフッ Sd0a-7JDO)
2020/09/10(木) 23:34:53.46ID:ATM2a6JOd
コードのおかしさは、その先生よりコピペ元のサイトの責任だろ
213デフォルトの名無しさん (ワッチョイ 39e6-7JDO)
2020/09/10(木) 23:37:35.65ID:8/CQSYne0
>>212
ドコモロは黙っててくれないか
214デフォルトの名無しさん (ワッチョイ 3d3d-PnJR)
2020/09/10(木) 23:43:13.95ID:b8lNN7jK0
>>212
教える側の立場として教材として使うかどうか判断したんだから元のところに責任はねーだろ
なんか改悪もしてるし
215デフォルトの名無しさん (ワッチョイ 7dda-SnFp)
2020/09/10(木) 23:50:48.35ID:Q3JELDTy0
ループの外でウエイトしてたら速すぎてキラキラしないんじゃ…。
紙に書いてある方。
216デフォルトの名無しさん (ブーイモ MM8e-7JDO)
2020/09/10(木) 23:52:06.33ID:2cDIJpauM
>>200
こいつもかなり怪しいな
i, jを宣言してないし、変数をゼロクリアしてるのも謎
217デフォルトの名無しさん (アウアウウー Sa21-PnJR)
2020/09/10(木) 23:53:08.37ID:/1fuNzSOa
>>215
確かに言われてみれば
キラキラの意味
218デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/11(金) 01:20:18.01ID:66INGyZB0
>>216
本業が税理士なのに、詳しくもないことをひけらかすやつだから、税理士としてもいまひとつの癖のあるやつだと思う。
219デフォルトの名無しさん (ワッチョイ a95f-Sism)
2020/09/11(金) 01:22:28.25ID:66INGyZB0
>>216 彼も他人のパクリなのかもね
220デフォルトの名無しさん (ワントンキン MM7a-nV8z)
2020/09/11(金) 01:27:34.96ID:iTcJm+RBM
ゆとり世代の馬鹿に教えるゆとりかよ
221デフォルトの名無しさん (スップ Sd0a-4Ha4)
2020/09/11(金) 08:33:42.89ID:L6SxevYWd
>>146
そいつはバグだと思うよ。
Mougで質問してた人がいて、俺も試したけどTreeViewでのD&Dで座標がバグってる。

で、15ってのはそのバグを何とか実情に合わせたものだと思う。
俺もその時似たようなことやって15っていう数字には覚えがある。
222デフォルトの名無しさん (ブーイモ MM81-+eY2)
2020/09/11(金) 09:37:00.89ID:mn04Qg6+M
>>221
>>146 です。色々調べた結果、TreeViewのMouseMoveやMouseDownのイベントで渡される座標が他のフォームとは異なりピクセルで渡される事が原因でした。
なのでGetDesktopWindow,GetDC,GetDeviceCapを用いてDPIを取得し、
取得した値で1440(1440twips=1Inch)を割り、
その値をピクセル数に掛ける事でポイントでの換算に成功しました。
標準の設定ですとDPIが96になるそうなので1440/96で15、となるようです。
223デフォルトの名無しさん (ワッチョイ 6a2f-sa+Q)
2020/09/11(金) 16:13:39.65ID:qEgHhc430
VB6だとScreen.TwipsPerPixelXってあったんだがなあ

VBAだとPointsToScreenPixelsXとかあるなと思ってみてみたけど、これ、つねに72DPIで計算するっぽいな
224デフォルトの名無しさん (スップ Sdea-ah1O)
2020/09/11(金) 18:44:31.89ID:+9zmYtvxd
>>192
それだと1回めの選択範囲で動いて、移動したら動きますよね?
1回目の行や列を記憶させて2回目で比較する感じですか?
225デフォルトの名無しさん (スップ Sd0a-4Ha4)
2020/09/11(金) 22:11:41.98ID:L6SxevYWd
>>222
>>223
うん、その辺みんな知ってるけどTreeViewの問題って違ってたと思うんだが。
226デフォルトの名無しさん (ワッチョイ 7910-lSnV)
2020/09/12(土) 08:12:41.83ID:cGm6fMBf0
動的配列に値を追加していきたいのですが要素番号を0ではなく1から始める方法はありませんか?
227デフォルトの名無しさん (ワッチョイ ea01-/mq1)
2020/09/12(土) 08:24:59.90ID:OyGZa+nz0
Sub testtttt()
Dim arr() As Variant

ReDim arr(1 To 1)
arr(1) = 10
ReDim Preserve arr(1 To 2)
arr(2) = 20
ReDim Preserve arr(1 To 3)
arr(3) = 30

MsgBox arr(1) & " " & arr(2) & " " & arr(3)
End Sub

ちょっとはぐぐれよな
https://www.relief.jp/docs/excel-vba-shift-array-index-to-1-start.html
228デフォルトの名無しさん (ブーイモ MM8e-EZp5)
2020/09/12(土) 08:28:00.30ID:FkIM4E0+M
『[ VBA ]「Option Base 1」使うなよな!反論は聞かない!』
229デフォルトの名無しさん (ワッチョイ 7d01-XADe)
2020/09/12(土) 15:06:14.92ID:X8G1U5XY0
アレイリスト使うほうがかんたんじゃね?
230デフォルトの名無しさん (ワッチョイ 11da-pVuC)
2020/09/12(土) 20:26:44.99ID:+6u/uPRn0
先頭を1にするのはセンスないね
231デフォルトの名無しさん (オッペケ Srbd-o3hV)
2020/09/14(月) 18:06:26.03ID:YLQY1Qz5r
i++とか+=使えないのマジで不便だな
前置インクリメントもできないし一行でもend ifとかloop書かなきゃいかんしめんどくさくね?
この言語もうちょい進化しないの?
232デフォルトの名無しさん (ブーイモ MMc9-+eY2)
2020/09/14(月) 18:10:50.73ID:CnoY9xmOM
1行でEnd If書きたくないならThenの後に半角スペースいれたら改行しないで処理書いてみ

++とかは禿同
233デフォルトの名無しさん (オッペケ Srbd-o3hV)
2020/09/14(月) 18:13:56.53ID:YLQY1Qz5r
>>232
おおこんなことが、、、
ありがとう!
234デフォルトの名無しさん (ワッチョイ 668e-0TEw)
2020/09/14(月) 18:15:50.60ID:LbAMjRkX0
>>231
馬鹿は死ねよ
235デフォルトの名無しさん (ワッチョイ 7910-lSnV)
2020/09/14(月) 19:51:50.83ID:ZpzZ2vr50
ガイジ君ブチ切れw
236デフォルトの名無しさん (ワッチョイ 6a42-vvkI)
2020/09/14(月) 19:57:09.34ID:lPVfhwtb0
ざわ・・ざわ・・
237デフォルトの名無しさん (ワッチョイ 668e-0TEw)
2020/09/14(月) 20:46:20.36ID:LbAMjRkX0
+=使えるだろうが
238デフォルトの名無しさん (ワッチョイ 0a4b-FgeY)
2020/09/14(月) 20:54:32.80ID:P2Bbq2Qk0
使えません
239デフォルトの名無しさん (ワッチョイ 668e-0TEw)
2020/09/14(月) 20:56:59.34ID:LbAMjRkX0
あー、VB.Netスレだと思ってた。スマン、死んでくる。
240デフォルトの名無しさん (ワッチョイ 0a4b-FgeY)
2020/09/14(月) 21:01:00.11ID:P2Bbq2Qk0
逝かないで
241デフォルトの名無しさん (ササクッテロレ Spbd-jNRp)
2020/09/14(月) 21:01:06.64ID:K/D9SivKp
制御構造は、キーワードの選び方がやや独特だけど、基本的なものについては、概ね他の言語と同等のことはできると思う。
どちらかというと、変数の宣言・定義が一緒にできないとか、配列・コレクションの要素参照が角括弧でなく丸括弧だとか、プロシージャ呼び出しの丸括弧の要否とかの方が不便さを感じるかな。まぁ、これらも慣れと言われればそれまでだが。
242デフォルトの名無しさん (ワッチョイ a95f-hUiG)
2020/09/14(月) 22:06:22.62ID:9LhT2bwK0
gotoとラベルでできるっちゃあできるけどcontinueとbreakが欲しい
243デフォルトの名無しさん (ワッチョイ 393d-jNRp)
2020/09/14(月) 22:20:37.59ID:8aASiVNY0
breakは、一応Exit 〜が概ね対応しているのでは(While〜Wendでは使えないけど)?
脱出するループを明示的に指定するので、breakより便利な場合もごくたまにある。もっとも、二重のForループから抜ける場合などは結局GoToに頼ることになるので中途半端ではあるけど。
244デフォルトの名無しさん (ワッチョイ 397c-bL/7)
2020/09/14(月) 23:27:12.72ID:EMg7ooaX0
俺もたまにラベルでcontinueするけどめちゃくちゃ見栄え悪くて嫌
245デフォルトの名無しさん (スップ Sd0a-4Ha4)
2020/09/15(火) 08:35:58.25ID:Ny+/GOwEd
>>232
>>233
基本、それは使わないな。
読みやすさとか構造の分かり易さ優先。
勿論、時と場合による。
246デフォルトの名無しさん (ワッチョイ 11cc-QmsY)
2020/09/15(火) 09:16:48.30ID:Ty4jOAMY0
ユーザーフォームの2つリストボックスで選択された値を変数に代入する方法を教えてください

■Module1
Public str As String

■ThisWorkbook
Sub tes1()

UserForm1.Show vbModeless
Range("A1").Value = str
End Sub

Sub tes2()
Range("A2").Value = str
End Sub
247デフォルトの名無しさん (ワッチョイ 11cc-QmsY)
2020/09/15(火) 09:17:03.49ID:Ty4jOAMY0
■UserForm1
Private Sub UserForm_Initialize()
Dim r As Long
For r = Year(Date) - 1 To Year(Date) + 2
UserForm1.ListBox1.AddItem r & "年"
Next r
For r = 1 To 12
UserForm1.ListBox2.AddItem r & "月"
Next r
UserForm1.Show vbModeless
End Sub

Private Sub OKbtn_Click()
str = Replace(UserForm1.ListBox1.Text, "年", "") & "_" & Replace(UserForm1.ListBox2.Text, "月", "")
Unload UserForm1
End Sub

テストで変数strをA1・A2に入れたいのですが、この方法だとどちらも入りません。
248デフォルトの名無しさん (テテンテンテン MM3e-FgeY)
2020/09/15(火) 09:33:07.65ID:q5KWnXWXM
ボタン押してstrに代入するところModule1.strじゃないとダメなんじゃないの
249246 (ワッチョイ 11cc-QmsY)
2020/09/15(火) 09:45:50.10ID:Ty4jOAMY0
>>248
試しましたがだめでした

追記
ブックを開いたまま、tes1を2回目に実行するとA1には書き込みますが、
ブックを開いて、1回目のtes1実行ではA1には書き込まれないようです。
250デフォルトの名無しさん (テテンテンテン MM3e-FgeY)
2020/09/15(火) 09:57:04.92ID:q5KWnXWXM
モードレスだから
ボタン押した時にUnload UserForm1する前にModule1.tes2を呼び出さないとだ

Sub tes1()
UserForm1.Show vbModeless
End Sub

Sub tes2()
Range("A1").Value = str
Range("A2").Value = str
End Sub
251246 (ワッチョイ 11cc-QmsY)
2020/09/15(火) 11:27:58.65ID:Ty4jOAMY0
>>250
ありがとうございました。解決しました
252デフォルトの名無しさん (ワッチョイ 799c-m1Uj)
2020/09/15(火) 18:56:31.81ID:Nzz3069/0
AccessVBAを使用しているのですが、標準モジュールを変数に格納する方法がわかりません。
フォームコントロールの様に変数に入れて扱う方法はありませんでしょうか。
253デフォルトの名無しさん (ワッチョイ 6de5-Pwf7)
2020/09/15(火) 19:29:57.34ID:pZ4d9dfu0
ありません
254デフォルトの名無しさん (ワッチョイ 97da-GUw/)
2020/09/16(水) 00:02:05.57ID:chmz5kZM0
Sub test()
MsgBox Me.TextBox1.Value
Me.Name="a"
Me.Name="Sheet1"
End Sub

1回目の実行 OK
2回目の実行 MsgBoxでエラー
3回目の実行 OK
4回目の実行 MsgBoxでエラー

なんでやねん!
255デフォルトの名無しさん (ワッチョイ b7da-Cup9)
2020/09/16(水) 01:13:07.34ID:fUx+IXsk0
>>254
F8 でステップ実行してみ、あとエラーの内容くらい書いてもよくね?
256デフォルトの名無しさん (ワッチョイ f79c-b3rt)
2020/09/16(水) 10:04:16.38ID:HoY0/Pv80
>>253
ありがとうございます。
フォームを格納できるなら標準モジュールも出来るのかと思って質問しました。
標準モジュール内に書かれた関数の引数として参照先の標準モジュールを渡したかったのですが、別の方法を考えてみます。
257デフォルトの名無しさん (ワッチョイ bf90-W2Jb)
2020/09/16(水) 18:43:38.23ID:DJD3HHCL0
動画ファイル(拡張子 mp4,avi等々)の長さ(時間)をvbaで得ること出来ませんかね。
動画用のプログラムでは出ているから何らか手段はあると思うのだけど。
258デフォルトの名無しさん (ワンミングク MM7f-7bR7)
2020/09/16(水) 19:23:25.54ID:u7LyhgECM
>>257
できる
はい、次
259デフォルトの名無しさん (ワッチョイ b7e5-cmNC)
2020/09/16(水) 19:55:21.82ID:KOE6L/fW0
>>257
拾い物、動くかどうかは知らん

Sub ボタン1_Click()
Dim Shell, Folder
Set Shell = CreateObject("Shell.Application")
Set Folder = Shell.Namespace(Range("A1").Value)
Fil = Dir(Range("a1").Value & "\*.*")
Rows("5:65536").ClearComments
i = 5
Do While Fil <> ""
For j = 0 To 40
Cells(i, j + 1).Value = Folder.GetDetailsOf(Folder.ParseName(Fil), j)
Next
i = i + 1
Fil = Dir()
Loop
Set Folder = Nothing
Set Shell = Nothing
End Sub
260デフォルトの名無しさん (ワッチョイ f7e6-W2Jb)
2020/09/16(水) 20:18:38.96ID:pG4LN1Ne0
手を抜くんじゃない!
まじめにヘッダー読み込んで解析しろよ
261デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/16(水) 20:21:47.41ID:0zA9ovKo0
ファイルのプロパティからは取れない場合もあるよ
262デフォルトの名無しさん (ワッチョイ 97da-Cup9)
2020/09/16(水) 21:31:45.86ID:chmz5kZM0
>>255
今環境ないんだけど、
アプリケーションの定義何とかか、
インデックス何とかか、
オートメーション何とかのどれか。
何か変なものがSetされちゃってるのかと思ったけど、
MeじゃMeしかないよね?
263デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/16(水) 22:10:00.45ID:jvSIB85Td
>>260
昔、解析したことがある。
aviとかは割と簡単だね。
264デフォルトの名無しさん (ワッチョイ 5701-Cup9)
2020/09/16(水) 23:12:03.30ID:dsrVDQ5Z0
すごく初歩的な質問ですみません

&演算子で文字列と数字をつないで文字列を作った時に
出来上がった文字列に""を付けなくていいのはなぜなのですか?

MsgBox "あいうえお" は""を付ける必要がある
MsgBox "A" & hoge は文字列扱いのはずなのに""を付けて MsgBox ""A" & hoge"のようにしなくていいのが解せません
265デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/16(水) 23:23:17.92ID:0zA9ovKo0
&とhogeは文字列ではなく演算子と変数
266デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/16(水) 23:24:34.57ID:0zA9ovKo0
""で囲ったら演算子でも変数でもないただの& hogeという文字列にしかならない
267デフォルトの名無しさん (ワッチョイ 5701-Cup9)
2020/09/16(水) 23:48:53.36ID:dsrVDQ5Z0
ありがとうございます

>""で囲ったら演算子でも変数でもないただの& hogeという文字列にしかならない
なるほど確かにです

では、&演算子でつなぐと文字列扱いになるという認識が間違っているのでしょうか?
それとも文字列扱いにはなるけど上記の理由から外すことになっているという感じでしょうか?
268デフォルトの名無しさん (ワッチョイ 973d-lnJt)
2020/09/17(木) 00:09:43.18ID:pIQJoJyT0
>>267
その場合、
hogeは文字列として認識してください
という命令を出している
つまり
文字列(”A”) と(&) 文字列(hogeという変数に入っている文字列) を繋ぎ合わせて表示してください
というのが”A” & hoge
269デフォルトの名無しさん (ワッチョイ bff7-Rz2h)
2020/09/17(木) 00:09:48.11ID:MJVBSNKC0
ダブルクォートには引数の囲むような意味はない
引数を囲む記号は丸括弧になる
たとえば X = msgbox("a" & hoge) みたいな書き方になる
返り値をとらない場合は()が省略可能ってだけ
270デフォルトの名無しさん (ワッチョイ 775f-gF9/)
2020/09/17(木) 00:11:18.08ID:D84tTl8o0
リテラルと変数について調べると理解できるかも
271デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/17(木) 00:13:09.47ID:ncMNPksn0
>>267
hoteの型は何なんだ
272デフォルトの名無しさん (ワッチョイ 9f2f-qc2B)
2020/09/17(木) 00:21:16.12ID:0EHVBisp0
値に型ってのがあるのを理解しよう
表示したいのは、"A"という値と変数hogeの値(を連結したもの)だろ

&演算子でつなぐと文字列扱いになるってのは、演算対象を文字列に変換して結合するってこと
この場合、hogeの値が文字列以外でも文字列に変換して評価するってことだ

基本を理解したいなら、なんの説明もなく&でつなぐと文字列扱いとかいう教え方するところは避けたほうが良いかな
とりあえず動けばいいってならまあすきにすればいいけど
273デフォルトの名無しさん (ワッチョイ f73d-luBG)
2020/09/17(木) 02:20:25.53ID:c2bYLY/G0
MsgBoxの第1引数は文字列型の値である必要があり、文字列型の値を表す式として典型的なのは、@文字列リテラルか、A文字列型の値が格納されている変数(文字列型変数)の参照。二重引用符は、文字列リテラルの表記方法に過ぎない。
&演算子は、本来、2つの文字列型の値を被演算数とする演算子だが、被演算数が文字列型の値と数値型の値であるような場合等は、適宜数値の方を文字列型の値に自動変換した上で本来の演算を行う……ということかと。重複になるが。
274デフォルトの名無しさん (ワッチョイ b7da-Cup9)
2020/09/17(木) 04:55:16.59ID:PzgKRL2g0
数値を文字に変換するなら CSTR がある
275デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/17(木) 07:47:55.65ID:iixTl117d
>>267
法則を暗記するからそうなる。
法則の仕組みを覚えるんだ。
276デフォルトの名無しさん (ワッチョイ b7cc-lMKa)
2020/09/17(木) 11:44:40.11ID:1/N+zsdG0
同じフォルダにある"〇〇"というCSVを開いて、そのシートの最終行を取得したいのですが
「インデックスが有効範囲にありません」というメッセージでとまります

Sub salegrp()
Workbooks.Open ThisWorkbook.Path & "\〇〇", ReadOnly:=False
MsgBox Sheets("〇〇").Cells(Rows.Count, 1).End(xlUp).Row
End Sub

他のブックの最終行を表示する方法を教えてください
(A列には最終行まで値が入っています)
277デフォルトの名無しさん (テテンテンテン MM8f-V038)
2020/09/17(木) 11:54:47.91ID:DZPRMbPmM
csv開いたてからActiveWork ook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Rowすれば
278デフォルトの名無しさん (ワッチョイ b7ce-W2Jb)
2020/09/17(木) 12:14:37.64ID:qGYgSA/Y0
>>276
必要なのは最終行に入ってるデータの内容?行数を知りたいだけ?
全データをワークシートに入れる必要がなければテキストファイルとして開いた方が早いかも
279デフォルトの名無しさん (ラクッペペ MM8f-gT2D)
2020/09/17(木) 12:24:52.75ID:D1QZID39M
Workbooks.Openの返り値をとってそれを操作する

なおRows.Countも省略せずにシート指定する
280デフォルトの名無しさん (ワッチョイ b7cc-lMKa)
2020/09/17(木) 13:03:15.94ID:1/N+zsdG0
>>277
できました。
281デフォルトの名無しさん (ワッチョイ 9f01-z5Vf)
2020/09/17(木) 16:10:59.23ID:mN4YvgPv0
>>267
Sub tessstttt()
Dim str1 As String
Dim str2 As String

str1 = "あいうえお"
str2 = "かきくけこ"

MsgBox str1 & str2 '結果「あいうえおかきくけこ」

MsgBox str1 & "かきくけこ" '結果「あいうえおかきくけこ」

MsgBox "あいうえお" & "かきくけこ" '結果「あいうえおかきくけこ」
End Sub
282デフォルトの名無しさん (ワッチョイ 9f01-z5Vf)
2020/09/17(木) 16:17:02.54ID:mN4YvgPv0
>>279

VBA続けるつもりならこっちでやれるようにした方が
283デフォルトの名無しさん (ワッチョイ 9f02-5MQP)
2020/09/17(木) 16:44:05.17ID:T9Rqn+gv0
他のbookやsheet絡むととたんに冗長になるんだよなぁ
Range(.Cell(a,b))とか .Cellの前にもブックやシート指定しないとならんし
284デフォルトの名無しさん (ワッチョイ 973d-lnJt)
2020/09/17(木) 17:02:14.36ID:pIQJoJyT0
>>283
むしろ1シートだけしか使わない場合でも、実効中に人がシート変更とかしても大丈夫なようにブック明記した方がいい
285デフォルトの名無しさん (アウアウカー Sa2b-gF9/)
2020/09/17(木) 17:07:16.63ID:N0wmq1hya
ブックとシート明示してworksheetオブジェクトの変数作ってそれ経由でアクセスさせるのが鉄板かね〜
286デフォルトの名無しさん (ワッチョイ 9fad-dpHK)
2020/09/17(木) 17:41:26.80ID:dgD4TP5z0
csvの最終行だったらテキスト形式でEOFまで吸い上げてってやった方が動作時間的には良さそうな気がした
287デフォルトの名無しさん (テテンテンテン MM8f-V038)
2020/09/17(木) 18:04:52.95ID:aPn4iHhdM
CSVの読み込みをしっかりやるならPowerQuery使おうみたいな話もあったりなかったり
288デフォルトの名無しさん (ワッチョイ 9f01-RDjc)
2020/09/17(木) 18:51:11.07ID:1zO/WKqm0
>>285
てか、基本でしょ
289デフォルトの名無しさん (アウアウウー Sa5b-lnJt)
2020/09/17(木) 18:59:48.75ID:DNVG/ozSa
>>288
鉄板と基本の違い教えて
290デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/17(木) 19:13:46.34ID:ncMNPksn0
シート明示してないコードほんと多い
よくやるわ
291デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/17(木) 19:55:58.19ID:iixTl117d
>>279
俺なんて、必ずBookから書くぜ。
WithとSetを多用することになるが。
292デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/17(木) 19:56:59.36ID:iixTl117d
>>283
その例ならRangeの前にも"."が必要。
293デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/17(木) 19:58:31.27ID:iixTl117d
>>286
うん、CSVはLine Inputで1行ずつ+Splitで分解にすることが多い。
294デフォルトの名無しさん (ワッチョイ 9fad-dpHK)
2020/09/17(木) 20:23:48.98ID:dgD4TP5z0
VBA覚えたての頃はいちいちアクティブシート切り替えてシート指定省いてたけど
Sheet1.Cells(a,b)って書く癖は絶対つけといた方が良いって今は思ってる
可読性が段違いだもん
暫く同じシートのセルをいじくりたおすならWithで目立つように囲ってやりゃあ良いし
295デフォルトの名無しさん (ワッチョイ 9f2f-qc2B)
2020/09/17(木) 20:32:12.03ID:0EHVBisp0
>>286
項目中に改行含むcsvとかも存在するからなぁ
汎用的なcsvを真面目にパースするとかなり面倒
そしてEXCELは最強のCSVパーサ(笑)
296デフォルトの名無しさん (ワッチョイ 9fb5-mxOi)
2020/09/17(木) 20:38:51.87ID:23KXp+DW0
なんつーレベルの高い話だよ
初心者が覚えようと思ってどんなもんかとスレを見たのが大間違いか
297デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/17(木) 21:39:36.45ID:ncMNPksn0
この先いつまで初心者を名乗るつもりか知らないがいちいちアピールしない方がいいよ
298デフォルトの名無しさん (ワッチョイ 97da-Cup9)
2020/09/17(木) 21:45:39.26ID:DqUtQRPA0
>>294
可読性以前に怖いんだよな。
アクティブシートが切り替わっちゃったらどうしようって。
実行中の操作とかで。
DoEvents挟まなきゃ絶対切り替わらないってならいいんだけど。
299デフォルトの名無しさん (ワッチョイ b7ce-W2Jb)
2020/09/17(木) 22:36:46.26ID:qGYgSA/Y0
可読性も考慮するならオブジェクト変数に入れたりWithで囲んだり、頻出する構文なら別Functionに飛ばすという手もある
めんどくさいけどバグを出すよりはマシ
300デフォルトの名無しさん (ワッチョイ 9f2f-qc2B)
2020/09/18(金) 01:50:57.23ID:V3SekzLi0
そもそもオブジェクト指定のないCellsがいつでもActiveSheetを参照すると思うなよ

シートモジュールに書いたCellsはそのシートを参照するんだぜ
301デフォルトの名無しさん (JP 0Hdf-iZ3/)
2020/09/18(金) 10:32:05.02ID:68qBgcmgH
VBAというよりVBSかもしれませんが
いろいろ試したのですが正規表現の(肯|否)定(先|後)読みに対応していないようなのですが認識に相違ありませんか?
また、擬似的に(肯|否)定(先|後)読みに対応させたコードを誰か公開していませんか?
302デフォルトの名無しさん (ワッチョイ b7ce-W2Jb)
2020/09/18(金) 14:09:52.14ID:1dkG1MHP0
>>301
多くのアプリで、正規表現はWindowsに標準で内蔵されてるDLLを使ってる
独自の仕様やバグがあるのは既知だから、それが気に入らない時は別のライブラリを見つけてくるしかない
303デフォルトの名無しさん (ワッチョイ 9f4f-aBI4)
2020/09/18(金) 17:55:04.61ID:vGT+RG4a0
VBSはスレ違いになるんだろうけどさー
今、仕事でそれで書かれたコード見てるんだよねー
VB.NetからVBAに戻るとそのインテリセンスの効かなさに辟易するけど
VBSで書かれたものはその比じゃないねー

参照もなーんも効かないところに持ってきて
インデントも正しく書いてないし
綺麗にスパゲティーコードになってるの見ると
殺意を覚えるわー

まぁVBS自体は同じファイルの中に
複数のクラスが書けたりするところは
VBAよりいいのかな?
304デフォルトの名無しさん (アウアウウー Sa5b-l0r7)
2020/09/18(金) 20:53:29.32ID:Ej6zlwK4a
見てるだけで殺意はないだろ
自分で分かりやすく直していけばいい
305デフォルトの名無しさん (アウアウエー Sadf-vKz6)
2020/09/18(金) 20:57:08.45ID:E6dIN4Hja
どんな人が書いたコードでも理解できるのがプロ
306デフォルトの名無しさん (ワッチョイ b7cc-lMKa)
2020/09/18(金) 20:57:17.16ID:nL5nIenz0
C列に"2007/3/26"などのような書式で年月日が入っていますが
それをC=年、D列=月、E列=日にしたいのですが

↓だと年が1905,月が1、日が26日のように変換されてしまいます。

Dim r As Long, dt As date
For r = 2 To 435
dt = CDate(cells(r,3))
Cells(r, 3) = Year(dt)
Cells(r, 4) = Month(dt)
Cells(r, 5) = Day(dt)
Next r
307デフォルトの名無しさん (ワッチョイ 9f4f-aBI4)
2020/09/18(金) 21:01:25.47ID:vGT+RG4a0
>>306
最初date型で取ってやれば確か年や月や日を取る関数が有ったと思うよー
じゃあねー
308デフォルトの名無しさん (JP 0Hdf-iZ3/)
2020/09/18(金) 21:05:10.29ID:3fDNLBctH
>>302
私が気に入りそうなものはありますか?
肯定先読み肯定後読み以上に高度な機能は求めていないのですが
309デフォルトの名無しさん (ワッチョイ 9f4f-aBI4)
2020/09/18(金) 21:10:13.79ID:vGT+RG4a0
ていうかそうしてんじゃん
出力先のセルの書式はどうなってるの?
コードを見た感じじゃ少なくとも3列目は
日付型みたいだけど
310デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/18(金) 21:14:07.50ID:Kp8J/oyZ0
>>306
year、month、dayの引数のdtの中身は2007/3/26ではない
311デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/18(金) 21:16:37.69ID:Kp8J/oyZ0
または3、4、5列目の表示形式をそれぞれy、m、dにしてる
312デフォルトの名無しさん (ワッチョイ 9fad-dpHK)
2020/09/18(金) 21:29:41.49ID:LhaPjq300
>>306
考えなしに書くからセンス皆無なコードだけど3列目の日付が文字列で入ってるならこんなんどうよ

Dim Ary(2 to 435,1 to 3) As Long,r As Long, a As String
For LBound(Ary,1) to UBound(Ary,1)
a = Sheet1.Cells(r,3).Value
Ary(r,0) = Split(a,“/“)(0)
Ary(r,1) = Split(a,“/“)(1)
Ary(r,2) = Split(a,“/“)(2)
Next

Range(Sheet1.Cells(2,3),Sheet1.Сells(435,5)) = Ary
313デフォルトの名無しさん (ワッチョイ b7ce-W2Jb)
2020/09/18(金) 22:40:09.47ID:1dkG1MHP0
>>306
Sub Macro1()
  Range("C2:C435").Copy
  Range("D2:E435").Select
  ActiveSheet.Paste
  Range("C2:C435").NumberFormatLocal = "yyyy"
  Range("D2:D435").NumberFormatLocal = "m"
  Range("E2:E435").NumberFormatLocal = "d"
End Sub
314デフォルトの名無しさん (アウアウウー Sa5b-lnJt)
2020/09/18(金) 22:48:07.19ID:mNDgEDOXa
>>313
くそこーどを貼るのはやめてあげて
315デフォルトの名無しさん (ワッチョイ 9f2f-qc2B)
2020/09/18(金) 23:02:36.64ID:V3SekzLi0
>>306
セルに表示されている文字とセルの値は別だって理解が必要

おそらく
C列の表示形式が日付になっているが、そこの値を数値の2007にした
数値の2007は日付にすると1905/6/29 その年だけが表示されている
同様に数値の3は1900/1/3、数値の26は1900/1/26

まあ、想定とは違うかもしれんが正しく動いてると思われるな
解決策は、表示したいのは数値なのか日付なのかちゃんと決めて然るべき値と書式を設定しろ
316デフォルトの名無しさん (ワッチョイ 9f2f-qc2B)
2020/09/18(金) 23:05:29.99ID:V3SekzLi0
つヵ、C列の値でC列に書き換えるとかしないで
元の値を別の列にもっとけば、VBAなしで関数だけで出来るだろうけど
317デフォルトの名無しさん (ワッチョイ 9f01-ybTh)
2020/09/19(土) 04:14:23.53ID:JSd39pzr0
C,D,E列に表示させたいのは「数値」であるにも関わらず
「日付」の表示形式になっているからおかしくなる

C,D,E列の書式設定→表示形式を日付から標準にする
こうするとC列は39167のような形で表示されることになるが
お構いなしにマクロを動かせば、意図した通りの動きになる

でどう?
318デフォルトの名無しさん (ワッチョイ 9f4f-aBI4)
2020/09/19(土) 07:38:40.10ID:kGiNzl5D0
>>305
理解出来るからこそ腹立たしいこともあるよー
例えばaとbとcってBooleanの変数を定義して
a = b = c とか書いてるやつ

まぁbとc が同じならaにTrueが、
違えばFalseが入るってことを期待して
書いてるなら見づらいけどまだ許せるよ
でもcにbが代入されてそのままaにbが
代入されるとか思って書いてたらしく
システムバグらせてそのままにしてたりとか
テストどうしてたんだとか思うよねー

正直こんなのに関わりたくないけど
仕事だからやるって感じだねー
319デフォルトの名無しさん (ワッチョイ 9f4f-aBI4)
2020/09/19(土) 07:43:05.72ID:kGiNzl5D0
あ、逆だった
bにcが代入されてaにbが代入されると
思ってたらしいってことね

まぁこの4日間は連休だし
そうじゃなくてもテレワークだから
気楽に適当にやるつもりだよー
320デフォルトの名無しさん (ワッチョイ b7da-Cup9)
2020/09/19(土) 07:51:21.74ID:oBjg4zik0
仕事の内容でそのソースを直せってことなら書き直せばいいんじゃねーの
そのまま残すと後任者に同じように思われるんだぜ
321257 (ワッチョイ bf90-W2Jb)
2020/09/19(土) 10:25:54.04ID:fwfEHGdP0
>>259
遅くなってしまいましてごめん。自分の欲しかった情報がこれで取れる
事ができました。

ありがと!
322デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/19(土) 15:00:02.54ID:TN+kKyJDd
>>320
その判断は結構難しい。
今動いてるものは、そのままにしておくというのが通常だ。

Accessでレコードセットループで回してる最中にその値でもって別のレコードセット開いたりを7、8回やって10分かけてデータ作ってるプログラムが有るんだけど、コレ、クエリ1つで出来るんじゃね?と思って試しに作ったら一瞬で出来る。

それでも、正式に変更することになるかと言えばならない。
こっちだってその辺は分かってる。
何かの時に、きちんと作り直しましょうという話になるまで置いとくもんで、むしろそんな話にならずにずっ―とそのままというのが殆ど。
323デフォルトの名無しさん (ドコグロ MMdf-RDjc)
2020/09/19(土) 15:56:27.98ID:nGfYM+wGM
>>322
なら
> でもcにbが代入されてそのままaにbが
> 代入されるとか思って書いてたらしく
> システムバグらせてそのままにしてたりとか
> テストどうしてたんだとか思うよねー
とか書くなよ
どうせ盛々で語ってるだけだろw
324デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/19(土) 15:59:42.46ID:TN+kKyJDd
>>323
いやいや、俺はその人じゃないから。
325デフォルトの名無しさん (ワッチョイ b7da-Cup9)
2020/09/19(土) 16:24:18.56ID:oBjg4zik0
>>322
重要な変更とは別で、こまかい高速化や最適化として変更するんだよ
それができないなら他人のコードを悪くいってはいけない
326デフォルトの名無しさん (ワッチョイ 9f4f-aBI4)
2020/09/19(土) 18:06:32.97ID:kGiNzl5D0
そうかーみんなそんな具合に考えてるのかー
でも悪いけどその場でチャチャっと直すことはしないよ
もちろん上に話を通すのは当然だけど
こんなぐちゃぐちゃな行き当たりばったりのコード書いてんだから直すんなら他への影響調査の時間貰う
まぁ当たり前だよねー
327デフォルトの名無しさん (ドコグロ MM2b-RDjc)
2020/09/19(土) 18:37:26.04ID:e5zvgWAXM
>>324
本人でもないのに
> でもcにbが代入されてそのままaにbが
> 代入されるとか思って書いてたらしく
> システムバグらせてそのままにしてたりとか
> テストどうしてたんだとか思うよねー
に対して
> 今動いてるものは、そのままにしておくというのが通常だ。
って言うの?
アホの上塗りにしかなってないけど… w
328デフォルトの名無しさん (ワッチョイ 9f2f-qc2B)
2020/09/19(土) 18:39:28.33ID:DdZzGNwy0
>>319
実際にそういう動きをする言語もあるからな

>>325
それは開発方法とフェーズによる
いつでも好き勝手コード弄れるような環境ばかりではない
まあ、VBAではあまりないだろうけど
329デフォルトの名無しさん (ドコグロ MM8b-RDjc)
2020/09/19(土) 18:41:22.13ID:HTxR1ogMM
>>326
お前の会社のレベルが低いだけだろ
まあそんな会社にしかいられない自分を省みたほうがいいなw
330デフォルトの名無しさん (ワッチョイ 9f4f-aBI4)
2020/09/19(土) 20:51:03.26ID:kGiNzl5D0
>>329
ふーん
そっちの会社ではそういうの見つけたら
調べないでチャチャっと直しちゃうのかー
よっぽど優秀なんだねー
俺みたいな無能にはとても怖くて出来ないやーw
331デフォルトの名無しさん (ドコグロ MM8b-RDjc)
2020/09/19(土) 21:40:33.28ID:b3MmLDI3M
>>326
お前以外にチャッチャッと直すなんて言ってる奴いないんだけどw

レベルの話は
> こんなぐちゃぐちゃな行き当たりばったりのコード書いてんだから
の部分な
332デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/19(土) 22:13:23.39ID:TN+kKyJDd
>>325
いや、そうじゃなくて…
そうか、確かにVBAはそれでメシ食ってる奴は少ないから分からんかもしれんな。

ウォーターフォールでやってて、プロジェクトの目的が決まってるのに、いくら高速化しても余計なことすれば怒られるのが当然なんだよ。
それが原因で不具合が出てみろ。
大変なことになるんだから。

確かに、思いつきでどんどん改変してく仕事も結構やったことある。
333デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/19(土) 22:16:29.20ID:TN+kKyJDd
>>327
開発全般によくある話として言ったまで。
cとかbとかの話に参加したわけじゃない。

動いてるなら、触らないというのはよくあることだ。
334デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/19(土) 22:21:26.21ID:TN+kKyJDd
>>328
確かに少ないかもね。
考えてみれば俺も今の職場で初めて。

でも他言語じゃよく聞く話だよな。
335デフォルトの名無しさん (ワッチョイ 9f01-RDjc)
2020/09/19(土) 22:26:15.60ID:cNAZP0Op0
>>333
話の流れが読めないバカということはよくわかった
336デフォルトの名無しさん (ワッチョイ b7ce-W2Jb)
2020/09/19(土) 22:48:23.19ID:RlUx9i/e0
どんなに簡単な修正でも、思い込みやミスは誰にでもある
うっかりエンバグする可能性があるから、先方から高速化などの要求がない限りは動いてる物を勝手に修正はしないのが基本かなあ
337デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/19(土) 23:01:33.58ID:Q45ivJBB0
修正するか確認してからじゃないとしないな
338デフォルトの名無しさん (ワッチョイ b7da-Cup9)
2020/09/20(日) 01:28:31.38ID:Hljg9CcL0
>>332
それは逆だ、今のコードが悪いかのを直したせいで不具合がおきるのは直し方が悪いせい
自分できちんと直す能力もない奴が今のコードが悪いとか語るなよ
339デフォルトの名無しさん (ワッチョイ b7da-Cup9)
2020/09/20(日) 01:34:05.40ID:Hljg9CcL0
というのは言い過ぎなのかもしれんな、直せる自信がないなら直さないでいいんじゃね
340デフォルトの名無しさん (ワッチョイ b7da-Cup9)
2020/09/20(日) 01:38:55.36ID:Hljg9CcL0
俺から見れば細かい変更もできない人が重要な処理を変更する方が不具合が起きるだろって思うが
341デフォルトの名無しさん (ドコグロ MMdf-RDjc)
2020/09/20(日) 03:34:03.51ID:G6tFT8m8M
なんで動いてるものの話になってるのかわからんけど元々の話は
> システムバグらせてそのままにしてたりとか
> テストどうしてたんだとか思うよねー
だから、修正ありきだろ
修正の手順はその組織で違うだろうけど
342デフォルトの名無しさん (アウアウエー Sadf-vKz6)
2020/09/20(日) 08:02:49.76ID:MxR9qqIJa
ここの会話見てると仕事してる時に戻ったみたいでイヤになる
343デフォルトの名無しさん (ワッチョイ 9f2f-5SD5)
2020/09/20(日) 08:29:09.75ID:lYpGB0SB0
技術的に可能(can)なのと
プロジェクトとして可能(may)なのはべつだって言ってるんだが

VBA使いを悪く言う気はないが
まともなプロジェクトでやってないから理解できないんだろうな
344デフォルトの名無しさん (アウアウウー Sa5b-FmA/)
2020/09/20(日) 09:11:52.63ID:jB/qzKKfa
内製なら結構気軽に弄るもんだよ
俺は以前はSIにいて今は自社サービス兼社内SEだから両方の立場がわかるけど、
システムって君のような外の人が思ってるほど重要なものでも神聖なものでもない
345デフォルトの名無しさん (ワッチョイ 9f01-RDjc)
2020/09/20(日) 09:13:39.89ID:WRa/xy2u0
だれも技術的に可能かどうかなんて言ってないのに意味不明なことを言い出してて笑う
346デフォルトの名無しさん (ワッチョイ 9701-aBI4)
2020/09/20(日) 10:58:42.70ID:uHe9qv/N0
企業や仕事がどういうものかを理解していない馬鹿ばっかりで草
347デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/20(日) 11:39:55.26ID:bN/HvUsh0
内製でも気軽に弄らないなぁ
348デフォルトの名無しさん (ワッチョイ 9f01-RDjc)
2020/09/20(日) 12:04:24.67ID:WRa/xy2u0
自分とか周りの数人しか使わないとかならリファクタリングで弄るケースもあるし全社レベルのシステムとかなら影響調査からってケースもあるわな
そのプログラムがおかしくなった時の影響度とかも関係するし
要はケースバイケース
349デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/20(日) 16:05:38.71ID:Q2tD94P+d
>>338
>>339
先のAccessの話なら直せる自信ならある。
というか、ここにいる奴で俺が出来ないんだったら出来る奴はいないと思うぜ。
それぐらい自信ならある。

ただし、まとも奴なら誰でも言うがバグを出さない自信は無い。
350デフォルトの名無しさん (ワッチョイ 9f01-RDjc)
2020/09/20(日) 16:13:52.61ID:WRa/xy2u0
ふと、

日本人のできません
韓国人のできます
中国人のできました

を信用しちゃダメ
って言うのを思い出した… w
351デフォルトの名無しさん (ワッチョイ d763-lMKa)
2020/09/20(日) 16:52:11.86ID:qZo3Wq6A0
>>348
だよな、さすがに自分とか周りの数人しか使わないとかなら
時間見て許可取ってリファクタリングするわ
自分が作ったツールやシステムなら空き時間見て少しづつリファクタリングだな

さすがに全社レベルのシステムで勝手にリファクタリングはないな
そもそも許可取るのが大変
352デフォルトの名無しさん (ブーイモ MMdb-8GmH)
2020/09/20(日) 20:23:41.76ID:r+WJtgDsM
VBAの後継言語がExcelに標準搭載されると知識も勉強時間も無駄になる
と考えてしまいVBAの学習が捗らないのですが、どうしたらよいでしょうか
353デフォルトの名無しさん (ワッチョイ b74b-35mx)
2020/09/20(日) 20:29:51.63ID:w1btmlsr0
開発する能力と言語の習熟は別と考えた方がいいと思うよ
弘法筆を選ばずって言うし
354デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/20(日) 20:39:12.03ID:Q2tD94P+d
>>352
そんな風に考えたことは無いなあ。
その時に必要だから覚えるんだよ。
355デフォルトの名無しさん (アウアウウー Sa5b-lnJt)
2020/09/20(日) 20:46:14.34ID:IR23Mwdta
VBAなんて勉強するもんじゃなくて使っていくうちにわかるもんだし
356デフォルトの名無しさん (アウアウエー Sadf-8NzO)
2020/09/20(日) 20:55:59.15ID:6QmidxOBa
セルの中身が
--------------------------
あああ325gsdsが|
aaaojgwe |
33333 |
|
いいksが |
bbb93502g |
^^^^^^^ |
|
|
888っふぁふぁ |
aaawopfjw |
f−bgんlsgさ |
-------------------------|
のような感じの際、「あああ325gsdsが」や「aaaojgwe」のように1行づつ取得する方法はあるでしょうか?
357デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/20(日) 21:02:07.06ID:bN/HvUsh0
vblfで分割
358デフォルトの名無しさん (ワッチョイ b74b-35mx)
2020/09/20(日) 21:04:12.62ID:w1btmlsr0
セル内の改行コードはCRとLFとCRLFがあるのでどれかに統一して
統一した改行コードでsplitすれば
359デフォルトの名無しさん (JP 0Hdf-iZ3/)
2020/09/20(日) 21:09:38.60ID:ce1O3kmIH
VBAやっててもオブジェクト指向が全然身につかないんだけどどうしよう
360デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/20(日) 21:30:48.40ID:Q2tD94P+d
>>358
セル内の改行はLFだよ。
キーボード入力ならの話だけど。
361デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/20(日) 21:31:49.13ID:Q2tD94P+d
>>359
VBAとは別にオブジェクト志向に親和性のある言語勉強すれば?

それがVBAにも役に立つよ。
362デフォルトの名無しさん (ワッチョイ b74b-35mx)
2020/09/20(日) 21:35:54.17ID:w1btmlsr0
>>360
よそからコピペしたりするとLF以外も混じるよ
念のため統一する方が安心
363デフォルトの名無しさん (ワッチョイ 9f42-xVpC)
2020/09/20(日) 22:02:19.77ID:BARJaSzG0
>>359
オブジェクト指向を身につけるためにVBAをやっているのか?
364デフォルトの名無しさん (JP 0Hdf-iZ3/)
2020/09/20(日) 22:16:21.98ID:ce1O3kmIH
>>361
>>363
フローチャートは書けても
オブジェクト指向というものがあるということがなんとなく判っていても
じゃあオブジェクト指向できっちり設計しようという発想が浮かばないというかまだ怖さがあるんだよね
MVCって言葉もネットサーフィンをして先週巡り合ったくらいの素人だから
とりあえず新たな設計手法を試そうと思っても
何に手をつければいいかわからん
365デフォルトの名無しさん (ワッチョイ 9f59-P295)
2020/09/20(日) 22:48:07.21ID:lUm0Ft460
=EVALUATE()を使ったらマクロだよって保存するときに言われた。
見た目関数なのに実はマクロっていうものが他にどんなのがあるか知りたいんだけど、こういうのなんて言うの?
検索ワードが思い付かないんだけど知ってたら教えて。
366デフォルトの名無しさん (スップ Sdbf-k5ub)
2020/09/20(日) 22:53:39.67ID:Q2tD94P+d
>>364
いや、VBAはあまりオブジェクト志向とは親和性がないんだよ。
VBAそのものの根幹はオブジェクトそのものを扱うし親和性も有るんだけど、それで何かを作る時には俺はあまりオブジェクト志向で作らないな。

それでも、感覚的にピッタリ来るときもある。
そういう感覚の為にも他言語の経験が役に立つ。

でも、VBAでオブジェクト志向って上級者じゃないとピッタリ来ないんじゃないかな。
367デフォルトの名無しさん (ワッチョイ b7ce-W2Jb)
2020/09/20(日) 23:22:55.87ID:szIFBvS40
>>365
Excel 4.0 マクロ
368デフォルトの名無しさん (ワッチョイ 9f59-P295)
2020/09/20(日) 23:26:29.37ID:lUm0Ft460
>>367
さんきゅー
369デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/20(日) 23:28:59.95ID:bN/HvUsh0
>>358
crでセル内改行はしない
370デフォルトの名無しさん (ワッチョイ d7e5-LDOI)
2020/09/20(日) 23:29:16.08ID:pX+ICxi/0
フレームワークどうするよ
371デフォルトの名無しさん (ワッチョイ b7ce-W2Jb)
2020/09/20(日) 23:30:38.40ID:szIFBvS40
そもそもVBAが古いMS-BASICの言語仕様をほとんどそのまま踏襲してるもんだからオブジェクト指向との親和性はあんまり高くない
まだVB.netの方が色々やりやすい
372デフォルトの名無しさん (ワッチョイ 9f4b-35mx)
2020/09/20(日) 23:38:32.30ID:wTyEOUZY0
>>369
セルをアクティブにするとCRでも改行するらしいよ
自分はそういうよくわからない挙動に振り回されたく無いから変換するよ
373デフォルトの名無しさん (ワッチョイ b7e5-cmNC)
2020/09/20(日) 23:40:59.31ID:XhiE7Cxv0
>>372
らしいよ
374デフォルトの名無しさん (ワッチョイ 9f4b-35mx)
2020/09/20(日) 23:44:11.30ID:wTyEOUZY0
LFとCRLFが混在するのは確かめたよ
なので片方に寄せてる
CRも混ざる可能性はあるのでついでに処理してるよ
375デフォルトの名無しさん (JP 0Hdf-iZ3/)
2020/09/20(日) 23:47:19.77ID:GTzW+qv5H
>>366
なるほどそうなんですね
別言語で勉強してみます
376デフォルトの名無しさん (ワッチョイ f77c-5MQP)
2020/09/20(日) 23:51:14.87ID:bN/HvUsh0
セル内で改行するとlfが入る
テキストファイルとかでcrlfで改行されたものをセルにコピペすればcrlfがそのまま貼り付けられるが、lf部分が改行されるだけでcrは無視される
377デフォルトの名無しさん (ワッチョイ 775f-VvsD)
2020/09/21(月) 23:04:27.19ID:lAfdaJg/0
もともとマック用のソフトウェアだから、改行コードが揃っていないんだ。
378デフォルトの名無しさん (アウアウウー Sa5b-l0r7)
2020/09/22(火) 09:46:47.28ID:9vuxubOza
で、そのままの仕様で残すんだろ
379デフォルトの名無しさん (アウアウウー Sa5b-l0r7)
2020/09/22(火) 09:47:44.43ID:9vuxubOza
変に直すと他で問題が起きるかもしれんし
380デフォルトの名無しさん (ブーイモ MM0e-VcBo)
2020/09/23(水) 18:03:19.32ID:a1crOWFAM
今開いてるエクセル3つを左右で3分割させるマクロとかありますか?
381デフォルトの名無しさん (ワッチョイ 4bda-b+lb)
2020/09/23(水) 18:23:33.24ID:18wwGwYm0
表示→整列じゃだめなのか?
382デフォルトの名無しさん (ワッチョイ 5fda-b+lb)
2020/09/23(水) 19:23:23.78ID:nN1KQy3b0
あるけど、マクロっていうかWindowsAPIで画面サイズ調整だろうな。
3画面用意する方が楽かも。
383デフォルトの名無しさん (ワッチョイ 6bce-S0Wo)
2020/09/23(水) 20:26:43.04ID:kiC/kEHG0
Windows.Arrange ArrangeStyle:=xlVertical
384デフォルトの名無しさん (ワッチョイ 12b5-VcBo)
2020/09/23(水) 20:34:38.55ID:Dfniq8Ns0
>>381
ありがとう
>>383
本当にありがとう

馬鹿すぎる質問して親切に教えてくれて本当に感謝
教えてくれたコードの方を頂きます
3画面揃ったときについでに分割させたら良い動きしてくれました

めちゃくちゃ後付けですみませんが
これを一番右でこいつは真ん中とか
任意の配置は流石に無理ですか?
出来そうなら自分でも何とか調べてみます
385デフォルトの名無しさん (ワッチョイ 6bce-S0Wo)
2020/09/23(水) 21:30:49.65ID:kiC/kEHG0
>>384
できる
386デフォルトの名無しさん (ワッチョイ 126d-6H/P)
2020/09/23(水) 22:06:19.89ID:gKXTj3UI0
こういう馬鹿の特徴は、少し教えるとつけあがって自分で考えることもせずあれもこれもとねだること
少しは頭を使えよ
387デフォルトの名無しさん (ワッチョイ 237c-F8K1)
2020/09/23(水) 22:26:51.67ID:uvIhcfbN0
特徴っていうかこれいつもの人
388デフォルトの名無しさん (ワッチョイ 5fda-b+lb)
2020/09/25(金) 20:09:48.08ID:48EvNsnc0
accdb   → 問題なく型指定出来る。
csv    → schema.iniで型指定出来る。
自シート → どうすんの? IMEX=1も利いたり効かなかったりで当てにならん。
389デフォルトの名無しさん (ワッチョイ 4bda-b+lb)
2020/09/25(金) 21:07:06.86ID:1nrszLVg0
そういう報告はいらないです
390デフォルトの名無しさん (ワイーワ2 FF6a-A++P)
2020/09/25(金) 21:36:41.69ID:WSuN06d1F
罫線の所属するセルについて質問です

セルの値を条件にして罫線の種類を変えようと考えているのですが、
隣合うセルの境界線はどちらのセルの罫線が優先されて表示されるのでしょうか?
よろしくお願いします
391デフォルトの名無しさん (ワンミングク MM42-KfQ2)
2020/09/25(金) 22:18:01.90ID:JBJKUwWVM
>>390
実験して報告よろしく
392デフォルトの名無しさん (ワッチョイ 5fda-b+lb)
2020/09/25(金) 22:34:46.55ID:48EvNsnc0
後から指定した方だな。
思いっきり拡大すれば、線が2本引いてあるのが見えるのかと思ったが、そんなことはなかった。
ちなみに、ストIIで2人同時に投げ技をかけた場合、どちらが優先されるのかはランダムで50%/50%らしい。
393デフォルトの名無しさん (ワッチョイ 03ef-b+lb)
2020/09/25(金) 23:34:29.90ID:3gugGrYy0
>>390
これ、たしか罫線の種類で、基本ごっつい順に優先順位があったはず
ついでに、セルの書式設定で罫線設定すると、隣のセルの罫線設定も消えたり変わったりする
394デフォルトの名無しさん (ワッチョイ 4b49-b+lb)
2020/09/26(土) 11:57:49.22ID:aYgi9d/P0
太いほうだった(Excelばーじょん2016)
Excel VBA 質問スレ Part68 YouTube動画>5本 ニコニコ動画>1本 ->画像>8枚

印刷境界とかは分けて認識されてるから、なんだかんだ自分のコードを検証したほうがいいな
395デフォルトの名無しさん (ワッチョイ 4b49-b+lb)
2020/09/26(土) 13:23:27.50ID:aYgi9d/P0
あ、宣言とかしときながらシート指定するん忘れてやがる
396デフォルトの名無しさん (ワッチョイ 5f01-b+lb)
2020/09/26(土) 19:01:46.19ID:J5kcfwi60
ワラタ
397デフォルトの名無しさん (ワッチョイ 5fda-b+lb)
2020/09/26(土) 20:07:30.98ID:wDXyaCpN0
getElementBy飽きたんだけど、RPA的制御じゃなくて、htttp通信を駆使してどうにかする、みたいのない?
APIとか使えない古いシステムに対して。
398デフォルトの名無しさん (ワッチョイ 4bda-b+lb)
2020/09/27(日) 07:29:13.82ID:KJpIeh7z0
htttp通信がわからんがセキュリティー的に問題起きるんじゃね
399デフォルトの名無しさん (ワッチョイ 168e-jKyR)
2020/09/27(日) 15:17:02.78ID:a7rnW+2W0
htttpは、ハイパー・トンマ・トンチンカン・タコ・( ´,_ゝ`)プッの略かな
400デフォルトの名無しさん (スップ Sd52-OmYe)
2020/09/27(日) 15:27:50.06ID:o5RjmHqkd
>>397
アセンブラやりたいってこと?
というのと同じ話。
InternetExplorer.Applicationじゃ無くてもみんなgetElementBy使う。

こういう便利なものを放棄するならhtmlのソースを自前テキスト処理で頑張るしかないと思うが。

普通はmsxml2.xmlhttpとかでソース取得して、それをDocumentに入れてgetElemetsByだな。
401デフォルトの名無しさん (ワッチョイ 5f01-b+lb)
2020/09/27(日) 17:34:22.53ID:V5qiYsAI0
>>397
その辺は自作ライブラリでビブラートに包めばOK
402デフォルトの名無しさん (テテンテンテン MMde-Pn4v)
2020/09/27(日) 18:37:04.65ID:ZqjiPey8M
>>401

> >>397
> その辺は自作ライブラリでビブラートに包めばOK

震わせてどうすんのさ。オブラートだろって釣られた
403デフォルトの名無しさん (ワッチョイ 5fda-b+lb)
2020/09/27(日) 18:40:59.82ID:6iq7bspN0
>>400
マジか!
xmlがどうとか、APIがないとダメなんだと思ってたわ。
404デフォルトの名無しさん (ワッチョイ 5fda-b+lb)
2020/09/27(日) 18:44:20.59ID:6iq7bspN0
ん?
それだと、逆に何のためにGUI操作(IE制御)の方法があるの?
初心者用?
405デフォルトの名無しさん (スップ Sd32-OmYe)
2020/09/28(月) 07:43:08.08ID:VRZutR0gd
>>403
勘違いしてる。
別のAPI使ってるということだ。
で、別のAPIにもgetElemetByが出てくると言ってる。
406デフォルトの名無しさん (ワッチョイ 922f-ozis)
2020/09/28(月) 13:09:33.23ID:LAwWa5+y0
RPA的制御がなにかよくわからんが
getElementしたくなかったら、API利用してxml取得しろみたいな話を言われたんじゃないか
それでAPI使えないけどgetElementしない方法ないの?と

取得できるものがhtmlなら、すなおにgetElementしとけ 以上
ちなみにxmlだろうとhtmlだろうとcsvだろうと、それは多くの場合httpで取得してるだろうがな
407デフォルトの名無しさん (オイコラミネオ MM6e-oFxJ)
2020/09/28(月) 15:51:42.57ID:m7hqrCGdM
>>402
オブラートに包んでもおかしくないか
普通ラップするとかカプセル化するとか言うんじゃ・・・

>>404
どれもhttp通信でデータを取得できる共通点があるだけで、目的はそれぞれ違う

IEクラスはブラウザを操作する為のコンポーネントの一部
mshttpクラスはIEがスクリプトでhttp通信をするためのコンポーネントの一部
WinHttpRequestクラスはWindowsがhttp通信をするためのコンポーネントの一部
(コンポーネントっていうのはプログラムの部品として使うのが想定されている小さいプログラムのこと)

それぞれ色んなシステムで使えるようにCOMインターフェースっていう取説のようなものが実装されていて、VBAはそのおかげで間借り出来てるだけ
どれもVBAの為だけに作ったプログラムではない

ちなみにIEクラスの利点として、ブラウザ上でjsが実行されているページにアクセスすることができる点がある
408デフォルトの名無しさん (スップ Sd32-PD9b)
2020/09/28(月) 16:26:17.24ID:gMLgNw+wd
それをVBAでやる意味は何?
もっと他に簡単に出来る言語でやれは?
409デフォルトの名無しさん (ラクッペペ MMde-T5KC)
2020/09/28(月) 16:37:22.01ID:oE/worxcM
結果をexcelで扱うならVBAが最適では?
410デフォルトの名無しさん (テテンテンテン MMde-AIC5)
2020/09/28(月) 18:37:13.13ID:jqaTJ4CpM
CSVで吐いてExcelで開くだけだろう
411デフォルトの名無しさん (ワッチョイ 124f-OaTC)
2020/09/28(月) 19:21:37.82ID:JyFvX52s0
あーい
あーい
ああああーい
412デフォルトの名無しさん (ワッチョイ 1663-QTQj)
2020/09/28(月) 21:25:16.14ID:d76PIxro0
質問させていただきます

ユーザーフォームのテキストボックスにフォーカスがあたってる(入力状態)でwindowsのデスクトップがアクティブもしくは他アプリケーションがアクティブを検知することはできますでしょうか?
タッチパネルなどでユーザーフォーム外をタッチしてしまった時を検出したいです。
できるのであればご教授願いたい…
413デフォルトの名無しさん (ワッチョイ b35f-OzOo)
2020/09/29(火) 00:06:40.59ID:bEee4vhd0
Windowオブジェクトにどんなプロパティがあるんだっけ
414デフォルトの名無しさん (ワッチョイ b35f-QE0L)
2020/09/29(火) 00:29:27.68ID:zU8eGPuC0
フォームのdeactivateイベント拾ってテキストボックスのフォーカス状態見て処理するとかどうかな
415デフォルトの名無しさん (ワッチョイ 237c-F8K1)
2020/09/29(火) 00:32:40.28ID:zjqvAHva0
deactivateは用途が違う
416デフォルトの名無しさん (ワッチョイ 4b2c-ozis)
2020/09/29(火) 00:49:54.82ID:Iz7+ZlTk0
HTML, XML, CSV などのスクレイピングなら、
Ruby で、Nokogiri, Selenium Webdriver などが簡単

curl, wget でも、ファイルをダウンロードできるし

Rubyで、nokogiri, curl を使った例

require 'nokogiri'

html = `curl http://www.example.com/`

doc = Nokogiri::HTML( html )

elements = doc.css( "h1" )
puts elements.first.content #=> Example Domain
417デフォルトの名無しさん (ワッチョイ 23e6-T5KC)
2020/09/29(火) 06:58:50.11ID:iE38wEdU0
外部プロセスの起動、待機、出力の取り込みまで実装してくださいよ
418デフォルトの名無しさん (ワッチョイ 5f01-b+lb)
2020/09/29(火) 09:56:21.75ID:UZS7qkIf0
Rubyの自動運転は使いやすかったけど
早々にサポート切られたから印象悪い
419デフォルトの名無しさん (アウアウウー Sa43-QTQj)
2020/09/29(火) 11:55:53.23ID:NIgnBYPca
>>413
調べて見ましたがそれっぽいものは発見できませんでした…

>>414
>>415さんのおっしゃる通りブックやユーザーフォームのDeactivateイベントでは機能しませんでした。
420デフォルトの名無しさん (スッップ Sd32-OmYe)
2020/09/29(火) 23:34:39.45ID:Rcn+G4xKd
VBAでやる意味?
VBA以外だとアホな操作が必要だぞ。

1.Excelを閉じる。
2.他言語で実行。
3.csvをExcelで開く。

全くアホらしい。
運用についての考え方がまるで違う。

他言語でやる場合ってのはバッチ処理なのか?
それしか無いのか?
そういうブツ切りでデータ加工していくというなら寧ろExcelなんぞ使わん。
421デフォルトの名無しさん (ワッチョイ e3da-yeTY)
2020/09/30(水) 00:00:14.29ID:BPaZHsLq0
>>407
jsしたかったらIEするしかないのね。
今時のHPほぼ全滅じゃん。
422デフォルトの名無しさん (ワッチョイ b3e6-2+Dn)
2020/09/30(水) 00:36:25.50ID:5bnpK3a00
>>419
WINAPIでポーリング
Excel VBA 質問スレ Part68 YouTube動画>5本 ニコニコ動画>1本 ->画像>8枚
423デフォルトの名無しさん (ワッチョイ 53ce-2+Dn)
2020/09/30(水) 06:50:20.08ID:RkFeWfqX0
イルカのカイル
424デフォルトの名無しさん (ワッチョイ f35f-67ZW)
2020/09/30(水) 16:18:36.41ID:7F4wikGt0
>>419
そのマルチタスク、マルチウィンドウを否定したい理由は何なの?
425デフォルトの名無しさん (ワッチョイ cf63-dtjG)
2020/09/30(水) 16:57:41.88ID:QOxpj5qw0
>>424
フォームのテキストボックスに機器の計測値が入るようになっており
テキストボックスにフォーカスがあたってない状態で計測値が送られてくると値が取れないのでおじーちゃんたちにも気づくようにフォーカスが離れた時に警告ユーザーフォームを出したいのです。他アプリケーションなどを立ち上げる事も想定されます。

>>422
情報ありがとうございます
画像の通りやってみましたがイルカさんは働いてくれませんでした…
426デフォルトの名無しさん (ワントンキン MM9f-hUkp)
2020/09/30(水) 20:43:21.94ID:2p9V72Q+M
>>425
アホとしか言えんわ
そもそも設計が間違えてる
427デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/09/30(水) 21:46:10.98ID:d9KXZKY60
>>425
値を入れる部分を直せよ
428デフォルトの名無しさん (ワッチョイ ffe6-2+Dn)
2020/09/30(水) 22:51:09.04ID:wQcBlxXT0
RPAとか使ったらこんなおぞましいものができたりするのかな?
でも普通はExcelぐらいサポートしてるよな。。。
429デフォルトの名無しさん (ワッチョイ b37c-Uy5C)
2020/09/30(水) 23:05:33.83ID:FnwBo45S0
むしろRPA向きの案件だと思う
430デフォルトの名無しさん (テテンテンテン MM7f-vZte)
2020/10/01(木) 01:07:42.33ID:lGabW6tFM
>>425
> フォームのテキストボックスに機器の計測値が入るようになっており
wの前にデータ取得しとるわなw

>テキストボックスにフォーカスがあたってない状態で計測値が送られてくると値が取れない
wそんな業務データを取りこぼすとか意味不明w

>のでおじーちゃんたちにも気づくように
wなんだ?老害か?w
431デフォルトの名無しさん (ワッチョイ 7f4b-3DJV)
2020/10/01(木) 01:18:01.34ID:eVzeZjSn0
意味がわからないなら黙ってればいいじゃない
432デフォルトの名無しさん (ブーイモ MMff-gZNM)
2020/10/01(木) 07:38:17.90ID:v/kjpRq5M
業務用ツール作るのってホント大変よな……
使いたい人向けに配信するんじゃなくて、使わされる人に使ってもらうツールだからどんなに優しいUIにしても平気で想像を上回るイレギュラーな操作して動かなくなった!ポンコツめ!みたいなクレーム出してくる人もいるし
単純に新しい物を使いたくないからってワザとメチャクチャな操作したりもしてるんだろうけど
ツールを要求してくる上の人達は現状の環境で対応出来るようにしたいからExcelのマクロでどうにかしてよ!とか言ってくるし、VBAはなんでも出来る魔法のツールだと思ってるし

長々と愚痴ってスマンな
スレチだよな
433デフォルトの名無しさん (スッップ Sd1f-nakg)
2020/10/01(木) 07:49:06.10ID:H0TKMoBwd
Windowsの標準のユーザーインターフェイスを意識しないと、使いやすいと思ったものが結局つかいにくくなる。

フォーカスがあたってなくても計測値が取れるように作るという発想が無いのが厳しい。
そんなこと出来ないなら根本から違うユーザーインターフェイスを採用すべき。

こういう処理でユーザーに何かさせる必要は無い筈。
434デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/01(木) 10:04:49.32ID:+ML6JMtp0
初心者がツール作るように言われたら大変なんだろうな、俺は大変だと思ったことないが
435デフォルトの名無しさん (ラクッペペ MM7f-62ru)
2020/10/01(木) 10:34:23.83ID:6DJ6J+GDM
タブレットでバーコードリーダーのキーボード入力モードでも使ってるんだろうなと想像

COMで操作できるライブラぐらい付いているだろうからそれ使えば解決
436デフォルトの名無しさん (ワッチョイ cf63-dtjG)
2020/10/01(木) 16:54:34.45ID:Ld5Ou2iR0
>>435
まさにおっしゃる通りで作業進捗をバーコードで管理するものを作りました。
次は工程内のチェックシートと計測値などのトレーサビリティです禿げそう
とりあえず計測器具も試用で借りてる段階なのでメーカーにライブラリの事聞いてみます…
437デフォルトの名無しさん (テテンテンテン MM7f-vZte)
2020/10/01(木) 17:12:49.41ID:W6bAQtLIM
>>431
知ってた
438デフォルトの名無しさん (アウアウエー Sadf-ywH8)
2020/10/01(木) 18:58:16.32ID:9Yax9dsIa
>>434
かっけぇ
439デフォルトの名無しさん (ワッチョイ ff1f-Fuq4)
2020/10/01(木) 21:36:53.69ID:dM4yb7Ap0
罫線で囲われてたり、色塗りされたりするセルをマウスでドラッグ移動した時移動した場所は何もなくるなるのを罫線のみを残す方法ってありませんか?
簡単に言うと罫線で作った表の形式を保持したい。
440デフォルトの名無しさん (オイコラミネオ MMa7-gXeV)
2020/10/01(木) 21:50:29.37ID:5ESnmk3DM
>>439
テンプレートを隠しシートに保存しておいて、
ボタン押下で書式をコピペしてくるってどう?
441デフォルトの名無しさん (ワッチョイ e33d-9f2k)
2020/10/01(木) 22:00:05.10ID:gLHdGUpR0
>>439
切り貼りじゃなくてコピーアンドペーストした後に元のところの数式と値をクリア(右クリック+N)すればよいのでは
442デフォルトの名無しさん (ワッチョイ ff02-Uy5C)
2020/10/01(木) 23:26:28.37ID:ywfP0KwV0
changeイベントで常に罫線引くことしか思いつかん
443デフォルトの名無しさん (ワッチョイ b37c-Uy5C)
2020/10/01(木) 23:48:07.63ID:2OGRwJxy0
移動できないようにする
444デフォルトの名無しさん (ワッチョイ e3da-yeTY)
2020/10/02(金) 01:42:30.77ID:MWdBgx4Q0
セルをマウスでドラッグって何だよ?
エクセルで将棋でもやるの?
445デフォルトの名無しさん (ワッチョイ f35f-67ZW)
2020/10/02(金) 01:43:49.39ID:ChxT/cO/0
>>425
それExcel VBAでやるものではない。
自分のやりたいようにやりたければ、Windows SDKでの開発をしてください。
446デフォルトの名無しさん (ワッチョイ f35f-67ZW)
2020/10/02(金) 01:49:29.59ID:ChxT/cO/0
>>439
そもそも手順というものを考えた方がいい。
移動する前の情報を移動先には持ってくるが、移動元にはその情報を適用しないのはなぜ?
447デフォルトの名無しさん (ワッチョイ d3cc-gW4a)
2020/10/02(金) 10:09:18.16ID:A7BNHAQE0
指定したフォルダ内の全てのCVSファイルを配列に追記していき対のですが、コードを教えてください
配列の0列目(1次元目)にはそれぞれのCSVファイルのファイル名をいれたいです。

Sub Sptyou()

Dim FolderPath As String, buf As String, TargetDate As String

'■フォルダを指定する
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = 0 Then
MsgBox "キャンセルされました。"
Exit Sub
End If
FolderPath = .SelectedItems(1)
End With
'■指定されたフォルダ内の全てのCSVファイルを開いて、そのファイルA列からGH列を配列に入れていく
ReDim BiforeArraybar(1, 190) As Variant
448447 (ワッチョイ d3cc-gW4a)
2020/10/02(金) 10:09:56.74ID:A7BNHAQE0
つづき

buf = Dir(FolderPath & "*.csv")

Do While buf <> ""
Open buf For Input As #1 'インプットモードでファイルを開く
Line Input #1, TargetDate
Do Until EOF(1) 'ファイルの終点まで
Line Input #1, Tardt '開いたファイルを上から順に読み込んでいき、変数TargetDateに代入していく
If Split(TargetDate, ",")(1) = "" Then Exit Do
'配列に追記する
ReDim Preserve BiforeArray(Ubound(BiforeArray) + 1 To ??, 1 To 190) = Sprit(TargetDate,",")
Loop
Close #1
buf = Dir()
Loop

End Sub
449デフォルトの名無しさん (ブーイモ MM27-gZNM)
2020/10/02(金) 10:42:45.10ID:cHoSzh9XM
ReDim Preserveで操作可能なのは最右端の次元だけだから2次元配列で1次元目に使いたいなら一旦反転させた状態で操作して出力時にWorksheetfunction.transpose使って吐き出す必要があるぞ
いまいち最終目的が分からなかったから取り合えず読んでて気になった所だけ
450デフォルトの名無しさん (ワッチョイ d32c-G8Sl)
2020/10/02(金) 10:56:02.65ID:ooD45Zz30
Linux のcat なら、複数のファイルを連結できるけど
451デフォルトの名無しさん (ラクッペペ MM7f-62ru)
2020/10/02(金) 12:25:22.61ID:XdHW2/g2M
win dosならcopyで連結できるけど
452デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/02(金) 12:29:54.55ID:a296oIK60
>>448
内側のLoop内で Tardt ってのが気になった
453447 (ワッチョイ d3cc-jreG)
2020/10/02(金) 13:32:21.66ID:A7BNHAQE0
>>449

右端にファイル名を入れるにはどうしたらいいですか?

それと、配列のUpperをどう設定したらいいですか?
454デフォルトの名無しさん (ワッチョイ ff6d-Zm3W)
2020/10/02(金) 15:56:01.43ID:7/1+1goB0
また馬鹿な質問者か。それともいつもの厚かましい馬鹿か?
455デフォルトの名無しさん (ラクッペペ MM7f-62ru)
2020/10/02(金) 16:13:26.37ID:XdHW2/g2M
右端の次元と右端の列では話の次元が違うけどわざとやってんのかなー?

excelなんだからとりあえずシートに格納すればいいと思うんだけどなー
配列に1行づつ追加するよりはやいんじゃね?
VBは動的配列無いんだからパフォーマンス出すには頭を使わにゃいかんよ
行数をキーにしたDictionaryもいいかもね
456デフォルトの名無しさん (ワッチョイ ffad-gZNM)
2020/10/02(金) 16:51:14.94ID:p6rjz1Jr0
>>453
配列のUpperが何を意味してるのかいまいち分からんがこんな感じで良いんか?

Line Input #1, TargetDate
BeforeArray(0, Ubound(BeforeArray, 2)) = ファイル名
For文[1〜190](BeforeArrayにSplit(TargetDate, ″,″)を放り込む)
ReDim Preserve BeforeArray(0 to 190, Ubound(BeforeArray, 2)+1)
Do Until EOF(1)
Line Input #1, TargetDate
For文[1〜190](BeforeArrayにSplit(TargetDate, ″,″)を放り込む)
ReDim Preserve BeforeArray(0 to 190, Ubound(BeforeArray, 2)+1)
Loop
457デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/02(金) 18:32:48.78ID:a296oIK60
>>453
こういうことじゃないのか

targetdata = buf & "," & targetdata
458デフォルトの名無しさん (ワッチョイ e3da-Kk5w)
2020/10/02(金) 22:17:00.26ID:MWdBgx4Q0
>>455
サイドブレーキを使う坂道発進をダサイと感じるようなもので、
どう考えてもシート格納が合理的なのに、無理して配列を使うわけですよ。
459デフォルトの名無しさん (ワッチョイ d32c-G8Sl)
2020/10/02(金) 23:43:54.67ID:ooD45Zz30
CSV の規格では、各要素をクォート文字で囲めば、
各要素中に、列区切り文字も入れられる

"a,b", x

Ruby などのCSVライブラリを使わず、
自力で、列区切り文字で分割すると、バグるだけ

CSVの規格を知らない香具師が、よくやってる
460デフォルトの名無しさん (ワッチョイ 7f4b-3DJV)
2020/10/03(土) 00:18:46.98ID:DSTQ9BDR0
csvに規格ってあったんだ
461デフォルトの名無しさん (ワッチョイ f35f-MSJL)
2020/10/03(土) 07:11:14.79ID:umHauNXS0
ExcelでCSVをダブルクリックで開いて編集、上書きして事故る人が多いね
462デフォルトの名無しさん (ワッチョイ ff01-V07v)
2020/10/03(土) 07:17:22.78ID:NCQ7EVNV0
>>460
一応あるけど結局Excelで読めないとダメって言うケースが大多数だったりする
http://www.kasai.fm/wiki/rfc4180jp
463デフォルトの名無しさん (ワッチョイ 53ce-2+Dn)
2020/10/03(土) 08:43:50.77ID:2jz2H7gQ0
そのRFCって、たくさんあるローカルルールの1つを紹介してるだけだよな
強制力もなさそうだし、現時点ではあんまり意味がなさそう
464デフォルトの名無しさん (ワッチョイ f35f-67ZW)
2020/10/03(土) 11:51:59.59ID:ylT9+9xh0
>>459
マイクロソフトの製品はそれに沿っているものがあるが、クォーテーションがついたり、つかなかったりするのは、人間にとってもタチが悪く、完全に失敗した仕様と結論が出ている。
465459 (ワッチョイ d32c-IT45)
2020/10/03(土) 13:01:37.98ID:/wA+nWqo0
列区切り文字は、必要なければ省略できる

つまり、x も、"x" も同じ。
全ての要素に、付けてもよい

ただし、"a,b" みたいに要素内に、
行区切り文字・列区切り文字・クォート文字を含む場合は、省略できない
466459 (ワッチョイ d32c-IT45)
2020/10/03(土) 13:03:38.87ID:/wA+nWqo0
>>465
修正

>列区切り文字は、必要なければ省略できる
クォート文字は、必要なければ省略できる
467デフォルトの名無しさん (ワッチョイ 7f4b-3DJV)
2020/10/03(土) 13:04:25.84ID:DSTQ9BDR0
できないって言われましても強制力無いですし
468デフォルトの名無しさん (ワッチョイ ff2f-G8Sl)
2020/10/03(土) 13:34:48.02ID:zZGrTJee0
まあそもそも多数の実装が出てからそれ集めて決めた仕様だからな
469デフォルトの名無しさん (ワッチョイ e3da-Kk5w)
2020/10/03(土) 19:43:36.45ID:WrZNWJut0
そういやあれ何だろうな。
QueryTableだとセル内改行でずれるのに、
ADOだとずれないとか。
470デフォルトの名無しさん (ワッチョイ 6309-gW4a)
2020/10/04(日) 19:09:07.88ID:mqiPq7lq0
配列を戻す自作関数を呼び出し先Subから複数回実行して、配列を結合したい
んだけど、どうすればできますか? redim preserveとUBoundを使うのかも
しれないけど、いい感じにまとまったコードが書けない。
例えば、下の関数を、別のSubから2回実行させて、
「Ary(3) ※中身:path1,path2,path1,path2」
の結果を得たいです。

Function TestFunc()
Dim testPath(1)
testPath(0) = "path1"
testPath(1) = "path2"
'return
TestFunc = testPath
End Function
471デフォルトの名無しさん (ワッチョイ 6309-gW4a)
2020/10/04(日) 19:09:08.25ID:mqiPq7lq0
配列を戻す自作関数を呼び出し先Subから複数回実行して、配列を結合したい
んだけど、どうすればできますか? redim preserveとUBoundを使うのかも
しれないけど、いい感じにまとまったコードが書けない。
例えば、下の関数を、別のSubから2回実行させて、
「Ary(3) ※中身:path1,path2,path1,path2」
の結果を得たいです。

Function TestFunc()
Dim testPath(1)
testPath(0) = "path1"
testPath(1) = "path2"
'return
TestFunc = testPath
End Function
472デフォルトの名無しさん (ワッチョイ 6309-gW4a)
2020/10/04(日) 19:09:56.24ID:mqiPq7lq0
連投すいません
473デフォルトの名無しさん (スッップ Sd1f-+ya4)
2020/10/04(日) 19:15:03.93ID:l1LxtJm7d
注意

ID:mqiPq7lq0

いつもの馬鹿です
474デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/04(日) 21:13:23.82ID:3bz1Ts/P0
>>471
検索したらいいんじゃね
475デフォルトの名無しさん (ワッチョイ b37c-Uy5C)
2020/10/04(日) 21:42:10.14ID:NRUY+ZF00
>>471
例えとかいい感じとかじゃなくて正確にコードを提示してどの部分をどうしたいのか明確に説明した方がいいよ
476デフォルトの名無しさん (スッップ Sd1f-EBv7)
2020/10/04(日) 21:43:28.32ID:hlbFeQNpd
後出し続けて全部作ってもらおうという魂胆の奴だぞ
477デフォルトの名無しさん (オッペケ Sr47-owA3)
2020/10/05(月) 01:21:09.51ID:Roj0MJiCr
VBAからIEを操作して、タグを指定して.valueやselctedで自動化しているのですが、ヤフオクの商品説明だけどうしても値の挿入ができません。
Tabや近い要素をフォーカスしたりクリックし、SendkeyなどでShift +Tabからエンダーなど試していますが、一向に解決できません。
直接でか無くてもカーソルが点滅させれれば、クリップボード経由で貼り付けるような仕様にしようと考えています。
478デフォルトの名無しさん (ワッチョイ d32c-IT45)
2020/10/05(月) 07:08:41.25ID:z7kgQPv30
漏れは、Ruby, Selenium Webdriver で、ブラウザを自動操作して、
send_key で、ユーザー名・パスワードを自動入力して、ヤフーにログインしてる

require "selenium-webdriver"

options = Selenium::WebDriver::Chrome::Options.new
options.add_option( :detach, true ) # ブラウザを切り離す
options.add_argument( '--start-maximized' ) # 画面最大

driver = Selenium::WebDriver.for :chrome, options: options
driver.manage.timeouts.implicit_wait = 10 # default timeout

driver.navigate.to "https://login.yahoo.co.jp/config/login_verify2?.src=ym";

element = driver.find_element(:id => "username")
element.send_key "ユーザー名"

driver.find_element(:id => "btnNext").click

element = driver.find_element(:id => "passwd")
element.send_key "パスワード"

driver.find_element(:id => "btnSubmit").click
479478 (ワッチョイ d32c-IT45)
2020/10/05(月) 07:11:02.53ID:z7kgQPv30
そもそも、IE なんか動くのか?

漏れは、Chrome
480デフォルトの名無しさん (バットンキン MMc7-7HYc)
2020/10/05(月) 12:57:11.88ID:BlyIycRMM
>>475
すみません。

Sub test
Dim i,ary()
For i = 1 to 2
ary = TestFunc ※ary配列の要素の最後に呼び出した配列を追加していきたい
Next
End
481デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/05(月) 13:22:13.75ID:PJYbs+y10
配列に配列を追加するのを初心者がつくるなら
追加する2つの配列と結果を格納する配列の計3つを用意して順番に格納すればできないかな?
482デフォルトの名無しさん (ワントンキン MMe7-hUkp)
2020/10/05(月) 14:35:29.71ID:8f5Gi5TxM
>>480
いい加減にしろや糞が
483デフォルトの名無しさん (ワッチョイ ff2f-IT45)
2020/10/05(月) 14:54:20.99ID:3En1oQ3G0
>>471
redim preserveとUBoundを使うのかも

まあしかし、その処理ほんとに配列でやるのが良いのか検討したほうが良いんだが
VBAコレクション系弱いからなぁ
484デフォルトの名無しさん (ワッチョイ d3da-y5MG)
2020/10/05(月) 15:05:07.42ID:PJYbs+y10
検索すればすむのにね
485デフォルトの名無しさん (バットンキン MMc7-7HYc)
2020/10/05(月) 17:50:38.43ID:BlyIycRMM
>>481
>>483
ありがとうございました。
486デフォルトの名無しさん (ブーイモ MMe7-k/5x)
2020/10/05(月) 17:58:27.13ID:FAPvswgpM
喧嘩腰だなあ
何しにきてんのさ
487デフォルトの名無しさん (アウアウウー Sa27-y5MG)
2020/10/05(月) 18:26:34.61ID:KW0b9HJla
くれくれ君だからしょうがないだろ
488デフォルトの名無しさん (ラクッペペ MM7f-62ru)
2020/10/05(月) 19:48:49.79ID:UUAqkjmTM
>>484
F1キー押す方が早くね?
489デフォルトの名無しさん (ワッチョイ 53ce-2+Dn)
2020/10/05(月) 19:51:04.71ID:0f3oInSL0
>>488
押すだけならワンキーだけど、オンラインヘルプはそこからが長い
490デフォルトの名無しさん (ワッチョイ d3da-Kk5w)
2020/10/06(火) 10:31:57.17ID:9/35+5mY0
大人の対応でうまく誘導してやろうぜ
491デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/07(水) 19:45:01.41ID:FTOZLATq0
下記のように特定の文字を削除して、改行をやめて1行文にしたいのですがコードのご教示いただけないでしょうか


やんやんつけ棒§
めちゃ美味い

ポテトチップス§
めちゃ美味い



やんやんつけ棒めちゃ美味い

ポテトチップスめちゃ美味い
492デフォルトの名無しさん (テテンテンテン MM86-J9E+)
2020/10/07(水) 20:04:32.74ID:7ZMz7DKjM
まともなテキストエディタ(VSCodeとかサクラエディタとか)で開いて正規表現置換で§¥r¥を空に置換すればよい
493デフォルトの名無しさん (テテンテンテン MM86-J9E+)
2020/10/07(水) 20:05:03.03ID:7ZMz7DKjM
訂正
§¥r¥n
494デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/07(水) 20:27:15.03ID:FTOZLATq0
>>492
なるほど…めちゃ助かります。ありがとうございます。
495デフォルトの名無しさん (ワッチョイ 8ae6-SfJD)
2020/10/07(水) 21:05:04.00ID:8t5FIA980
もっと面白い質問しろよ
496デフォルトの名無しさん (アウアウウー Sa2f-tQNK)
2020/10/07(水) 21:08:11.63ID:EPmDsevha
やんやんつけ棒って何?
497デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/07(水) 21:08:37.26ID:FTOZLATq0
申し訳ありません、もう一点

A1:私は実は理学部出身
A2:の元々は地質学者です
A3:
A4:こうした南鳥島で
A5:
A6:レアアースの濃集が
A7:起こる
A8:
A9:というのは
A10:
A11:特徴的な層準に

A1:私は実は理学部出身
  の元々は地質学者です
A2:こうした南鳥島で
A3:レアアースの濃集が
  起こる
A4:というのは
A5:特徴的な層準に


下の行に文字列 → 2行の文章として、改行を入れてExcelの1マスにまとめる
下の行が空白 → 1行の文書なのでそのまま

これをなんとかVBAで自動化したいのですが記述を教示願えますでしょうか

面白くない質問ですみません…
498デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/07(水) 21:11:26.09ID:JTTOzasI0
>>497
その条件2つそのままコードに直していけるよ
499デフォルトの名無しさん (ワッチョイ cbda-xYNh)
2020/10/07(水) 21:17:21.39ID:ueKkqa210
改行がLfなのかCrなのかCrLfなのか知らんが
Replace("改行入りの文字列", vbLf, "")
500デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/07(水) 21:58:27.94ID:JTTOzasI0
>>499
そんなことしたら改行しなくなるが…
501デフォルトの名無しさん (ワッチョイ ca6d-zMau)
2020/10/07(水) 22:16:39.68ID:XaxSLEYL0
いつものクレクレ君かな
502デフォルトの名無しさん (ワントンキン MM3a-pCej)
2020/10/07(水) 22:51:28.53ID:7uT04k8fM
・コードを要求
・追加で教えて

いつもの人だね
503デフォルトの名無しさん (ワッチョイ 8ae6-KV+F)
2020/10/07(水) 22:54:48.87ID:8t5FIA980
普通に書けばできることを聞く意味が分からん

もしかして書けないの?
書けないならやめればいいのに
504デフォルトの名無しさん (ドコグロ MM02-dHQN)
2020/10/07(水) 22:56:25.93ID:Az9cGqg8M
>>498
>>499
ありがとうございますm(__)m
505デフォルトの名無しさん (ワッチョイ 67da-xYNh)
2020/10/08(木) 01:49:40.56ID:584FeZ4r0
>>497
VBAに慣れている人なら簡単に自動化というかVBAで組める内容ではある
問題はこの程度の内容を質問するより先に、自力でできるとこまで自分で
やらなかった最初の一歩が間違っているんだと思う
506デフォルトの名無しさん (アウアウウー Sa2f-J9E+)
2020/10/08(木) 09:04:33.67ID:BqKPxLQJa
CSVとして保存
VSCode等のまともなエディタで開く
([^¥r]+)¥r¥n([^¥r]+)を”$1¥r¥n$2”に置換
¥r¥n¥r¥nを¥r¥nに置換
Excelにインポート

>>492同様にワンショットでいいならこんな感じでいけるんじゃね
507デフォルトの名無しさん (ワッチョイ 67da-tQNK)
2020/10/08(木) 14:32:22.56ID:584FeZ4r0
それができないのが初心者
508デフォルトの名無しさん (ブーイモ MM76-HnI9)
2020/10/08(木) 15:37:32.47ID:d1cy1ieUM
クレクレ君のより煽ってる奴のがうざいんだけどね
VBAだけが人並にできるからこのスレにいつも欠かさず覗きにきてる感じか?
いつものお前が邪魔ですよお
509デフォルトの名無しさん (ワッチョイ 0668-xYNh)
2020/10/08(木) 15:59:16.76ID:btiqMG+Y0
>>508
大丈夫スルーしてるから
遠まわしでも構うと同列に
510デフォルトの名無しさん (ワントンキン MM3a-R/IE)
2020/10/08(木) 17:05:05.08ID:+6fedHspM
>>508
くれくれ君本人乙
511デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/08(木) 19:30:11.76ID:bwT1M8vM0
>>507
できないことは問題じゃない
やろうとしないことが問題
512デフォルトの名無しさん (ワッチョイ 1b63-dHQN)
2020/10/08(木) 19:55:49.61ID:YPYO8uSI0
たしかにやろうとしないことが問題
てのは御指摘のとおりですね。すみません。
映像制作を生業としてますが普段tipsを聞くのりで聞いてしまいました。
513デフォルトの名無しさん (ワッチョイ ca4f-+ixC)
2020/10/08(木) 20:04:37.46ID:KjDVO4Tm0
>>512
5chなんて便所の落書きなんだからそれでいいと思う。
ただ、まともな返事を期待して馬鹿を見ても仕方ない場所でもあるけれど。
514デフォルトの名無しさん (スフッ Sdea-gn5F)
2020/10/08(木) 21:04:52.28ID:DcpygGCOd
ただでさえ印象悪いのにどうでもいい言い訳まで付けてさらに印象悪くするよくあるパターン
515デフォルトの名無しさん (ワッチョイ 6bda-q18j)
2020/10/09(金) 00:24:11.53ID:t8qEIjmh0
Dim dw As Date
Dim i As Integer

Sub test()
'ランダムに並び替える

Randomize
'乱数を入れる
For i = 1 To 200
Cells(i, 2) = Rnd()
Next i

'乱数で昇順並び替え
Range("A1:B200").Sort _
Key1:=Range("B1"), Order1:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
SortMethod:=xlPinYin

'乱数を削除
Range("B1:B200").Clear

dw = DateAdd("S", 5, Now)
Application.OnTime dw, "test"

End Sub
516デフォルトの名無しさん (ワッチョイ 6bda-q18j)
2020/10/09(金) 00:26:14.42ID:t8qEIjmh0
>>515
のdw = DateAdd("S", 5, Now)
Application.OnTime dw, "test"
を入れると、
「実行できません。このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。」
となってしまいます。

「マクロのセキュリティ」は「すべて有効」にしています。

どうすればいいでしょうか
517デフォルトの名無しさん (ワッチョイ 4a2f-Dl/i)
2020/10/09(金) 00:56:17.14ID:8xBy2vBw0
>>516
そのプロシジャを標準モジュールに書く

CellsとかRangeとか、ちゃんとシート指定しといたほうが良いぞ
518デフォルトの名無しさん (ワッチョイ 6bda-q18j)
2020/10/09(金) 01:28:40.34ID:t8qEIjmh0
>>517
できました!
>CellsとかRangeとか、ちゃんとシート指定しといたほうが良いぞ
わかりました

ありがとうございました。
519デフォルトの名無しさん (ワッチョイ 0f41-ICsZ)
2020/10/09(金) 16:14:30.36ID:SmS5zjtB0
1,1,2,2,3,4,4,4,5,6

1-1,1-2,2-1,2-2,3,4-1,4-2,4-3,5,6
に変換したいのですが、どういうコード書けばよいのでしょうか?
520デフォルトの名無しさん (ワッチョイ 4aad-YPNF)
2020/10/09(金) 16:19:59.95ID:5DciVe+j0
連想配列使ってカウントするか(0 to 対象の値のMax)の配列を用意して、Array(対象の値)にカウントするかが1番頭使わなくて済むかな?
521デフォルトの名無しさん (ブーイモ MM76-HnI9)
2020/10/09(金) 16:55:39.01ID:9cfuJ5OLM
かなり前だけどこのスレで教わったアドバイスが今やってることでピンときた
タブ増やして進めてくより
userformをhideとshowで工程進めてくみたいにしたほうがいいわ
ありがとうかなり前に教えてくれた人!
522デフォルトの名無しさん (アウアウウー Sa2f-5jeW)
2020/10/09(金) 17:52:44.19ID:OU1KT8YFa
>>519
fori=1 to 要素数(※要素数はカンマで区切られた数)
数字=数字 & “-” & i
next i
みたいな感じで
前の数字と違ったら数字をリセット
(iが1ならこの処理はしない)
要素がひとつなら処理せず次のiに
523デフォルトの名無しさん (ワッチョイ 2a4b-XTxo)
2020/10/09(金) 18:03:17.75ID:klvVBjUq0
next i って書く人嫌い
524デフォルトの名無しさん (ササクッテロ Sp03-+ixC)
2020/10/09(金) 18:15:01.53ID:FzRk+nqKp
かなり前の話と言えば
昔Privateで書かれたプロパティを
外部から取得する方法を書いてた人がいたけど
あれどうやるんだったっけ
525デフォルトの名無しさん (ワッチョイ 03e5-SfJD)
2020/10/09(金) 18:33:13.76ID:/2wG1kS20
内部から漏洩させるのが確実
526デフォルトの名無しさん (ワッチョイ 03e5-SfJD)
2020/10/09(金) 18:36:07.52ID:/2wG1kS20
>>523
それ以前にまったく要望を満たしていない
527デフォルトの名無しさん (スプッッ Sd8a-Kms5)
2020/10/09(金) 21:13:45.01ID:hr48HmJ4d
>>517
俺はブックも必ず指定するけどね。
528デフォルトの名無しさん (スプッッ Sd8a-Kms5)
2020/10/09(金) 21:15:25.62ID:hr48HmJ4d
>>519
どうしたいのかもう少し言葉で説明してくれる?
529デフォルトの名無しさん (ワッチョイ cbda-xYNh)
2020/10/09(金) 21:41:09.60ID:KqgB0xuS0
>>519
普通にカウントアップして、1から2に、2から3に上がるときにカウンターリセット。
530デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 21:44:54.18ID:VcvC9Dp/0
1つしかなかった時に連番を付けない処理が一手間多くて面倒
データの先読みが必要になる
531デフォルトの名無しさん (ワッチョイ 0668-xYNh)
2020/10/09(金) 21:49:11.48ID:5R2Ih+qA0
出力タイミングを次の数字を見てからにすれば楽
532デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/09(金) 21:49:18.81ID:2P2kQgrz0
1個でも複数でも変わらない
おかしな考え方してるんだろう
533デフォルトの名無しさん (ワッチョイ 8ae6-SfJD)
2020/10/09(金) 21:49:40.29ID:hWEYACMU0
>>528
1.処理速度
2.低コスト
3.低ステップ
4.読みやすさ

優先順位はとりあえずこんな感じで頼むわ
534デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:02:55.54ID:VcvC9Dp/0
次の数字を見るかどうかの所で配列の最後かどうかも判定する必要があって面倒
シンプルでうまい方法があるんなら言葉じゃなくてコードで答えてくれ
535デフォルトの名無しさん (ワッチョイ 0b3d-5jeW)
2020/10/09(金) 22:06:14.03ID:rNmj4HJx0
splitでカンマ区切りの配列化
instrで個数確認
かね?
536デフォルトの名無しさん (ワッチョイ 0b3d-5jeW)
2020/10/09(金) 22:07:17.45ID:rNmj4HJx0
>>534
Uboundで判定して抜ければいいじゃん
537デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:19:01.76ID:VcvC9Dp/0
>>536
ちゃんと動くコード書いてみて
538デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:24:25.52ID:VcvC9Dp/0
Sub Macro1()
  Dim a(), b()
  a = Array(1, 1, 2, 2, 3, 4, 4, 4, 5, 6)
  u = UBound(a)
  ReDim Preserve a(u + 1)
  ReDim b(u)
  a(u + 1) = a(u) + 1
  x = a(0) + 1

  For i = 0 To u
    If a(i) - x Then
      c = 1
    Else
      c = c + 1
    End If
    If c = 1 Then
      b(i) = a(i)
      If a(i) = a(i + 1) And u - i Then b(i) = b(i) & "-1"
    Else
      b(i) = a(i) & "-" & c
    End If
    x = a(i)
  Next

  Debug.Print Join(b, ",")
End Sub
539デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 22:47:08.38ID:VcvC9Dp/0
これよりシンプルにするのは俺には無理だった

Sub Macro1()
  Dim a$(), b()
  a = Split("1,1,2,2,3,4,4,4,5,6", ",")

  u = UBound(a)
  ReDim Preserve a(u + 1)
  ReDim b(u)
  a(u + 1) = a(u) + 1
  x = a(0) + 1

  For i = 0 To u
    b(i) = a(i)
    c = c + 1
    If a(i) - x Then c = 1
    If (c > 1) + (c = 1) * (a(i) = a(i + 1)) * (u - i) Then b(i) = b(i) & "-" & c
    x = a(i)
  Next

  Debug.Print Join(b, ",")
End Sub
540デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/09(金) 23:08:21.94ID:VcvC9Dp/0
b(i) = b(i) & "-" & c

b(i) = b(i) & -c
541デフォルトの名無しさん (ワッチョイ 672c-Dl/i)
2020/10/09(金) 23:19:19.22ID:760t1BpC0
プログラミングのお題スレにも、たまにあるけど、
次の要素を先読みするのは面倒

スタックのpeek みたいに、要素を読み取るだけで、削除しない関数があればよい
542デフォルトの名無しさん (ワッチョイ 672c-Dl/i)
2020/10/10(土) 06:22:18.37ID:BjcbKuib0
Ruby では、

# 一旦、整数の2次元配列にする。[[1, 1], [2, 2], [3], [4, 4, 4], [5], [6]]

result_ary = input_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ).
chunk_while{ |prev, nxt| prev == nxt }.each_with_object( [ ] ) do |ary, acc| # 蓄積変数は配列
if ary.length == 1
acc.push( ary[ 0 ] )
else
ary.each_with_index do |num, idx|
acc.push( "#{ num }-#{ idx + 1 }" )
end
end
end

puts result_ary.to_a.join( "," ) # カンマ区切り
543542 (ワッチョイ 672c-Dl/i)
2020/10/10(土) 06:24:55.49ID:BjcbKuib0
>>542
修正

># 一旦、整数の2次元配列にする。[[1, 1], [2, 2], [3], [4, 4, 4], [5], [6]]
一旦、文字列の2次元配列にする
544542 (ワッチョイ 672c-Dl/i)
2020/10/10(土) 06:29:37.77ID:BjcbKuib0
>>542
修正

>result_ary = input_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ).
result_ary = "1,1,2,2,3,4,4,4,5,6".split( "," ).
545デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/10(土) 06:39:31.44ID:WLqCacU70
データの種類が少なければ連想配列
546デフォルトの名無しさん (ワッチョイ 0668-xYNh)
2020/10/10(土) 09:37:35.06ID:ejDp+I1j0
先読みって考えるから面倒なのでは?
後出しって考えればいいのでは?
547デフォルトの名無しさん (ワッチョイ ca01-yf4V)
2020/10/10(土) 09:43:21.90ID:VjEh1Ow80
てかあの程度の仕様なら自分で書けよって思う
あれぐらいで書けないってのは根本的にプログラミングの基礎分かってないでしょ
forとifで一度自分で書いてみろと
548デフォルトの名無しさん (ワッチョイ 9f7c-eFyE)
2020/10/10(土) 11:33:09.64ID:ZZ8h2+k60
書く気が無いからコードくれと言ってるんじゃないの
549デフォルトの名無しさん (ワントンキン MM3a-R/IE)
2020/10/10(土) 12:12:33.28ID:PwUkT7dUM
いつものあいつでしょ
550デフォルトの名無しさん (ワッチョイ 0332-HnI9)
2020/10/10(土) 14:51:13.18ID:l6OboMxr0
書けない奴「いつもあいつでしょ」
551デフォルトの名無しさん (ワントンキン MM3a-R/IE)
2020/10/10(土) 15:12:08.20ID:PwUkT7dUM
煽って自演のいつもの馬鹿
552デフォルトの名無しさん (ワッチョイ 0332-HnI9)
2020/10/10(土) 15:36:01.73ID:l6OboMxr0
おじさん「煽ってなんちゃら」
553デフォルトの名無しさん (ラクッペペ MM86-SfJD)
2020/10/10(土) 15:38:43.61ID:VaQE37nUM
バグってハニー
554デフォルトの名無しさん (ワントンキン MM3a-pCej)
2020/10/10(土) 17:43:29.69ID:aEE68DdLM
いつものあいつ確定
555542 (ワッチョイ 672c-JAxH)
2020/10/10(土) 22:30:05.80ID:BjcbKuib0
データベース変換などは、Ruby のEnumerable のメソッドを見て、
シェル芸とか、プログラミングのお題スレの問題を解いた方がよい

VBA は可読性が悪すぎて、作っても再利用できない。
OSS で全会社共通で、RubyのEnumerable 相当のメソッドを作って公開するべき!

他言語ではたいてい、Rubyと等価のメソッドを作る
556542 (ワッチョイ 672c-JAxH)
2020/10/10(土) 22:31:31.39ID:BjcbKuib0
>>555
修正

>データベース変換などは
データ変換などは
557デフォルトの名無しさん (ワッチョイ ca4f-+ixC)
2020/10/11(日) 00:52:32.73ID:l/QRoUUr0
>>555
布教活動ご苦労さん
必要になったら勝手にRubyスレに行くから
帰っていいよ
558デフォルトの名無しさん (ワッチョイ b301-NY7j)
2020/10/11(日) 08:15:59.41ID:qzIChT2z0
>>555
データ変換てのは基本的な作法さえ知ってればEnumerableメソッド使わなくても特に困ることもないだろう
ただのループ構造をこねくり回してるだけでそのためにメソッドを割り当てるなんてお仕着せもいいところ
559デフォルトの名無しさん (ワッチョイ ca01-d5Pu)
2020/10/11(日) 10:01:12.40ID:QZ/HZvxF0
>>557-558
なぜ相手するんだ…
560デフォルトの名無しさん (ワッチョイ 6b63-JAxH)
2020/10/11(日) 12:29:43.68ID:lH9sVzvl0
Acrobatを使用したプログラムを複数回実行すると初回だけ成功し
2回目以降は
実行時エラー2147467259(80004005)
エラーを特定できません
となります(idに代入する行でエラー)
終了処理に不備があってacrobatのプロセスが残っているのではと思いましたが
色々なサイトを見ても解決がわからない状態です。
どうすれば治りますか。
プログラムは次のレスを参照ください。
561デフォルトの名無しさん (ワッチョイ 6b63-JAxH)
2020/10/11(日) 12:30:03.99ID:lH9sVzvl0
Dim objAcroApp As New Acrobat.AcroApp
Dim objAcroAVDoc As New Acrobat.AcroAVDoc
Dim objAcroPDDoc As New Acrobat.AcroPDDoc
Dim id As Long
Dim js As Object
Dim SaveName As String

id = objAcroApp.Show
id = objAcroAVDoc.Open(FilePath, "")

Set objAcroPDDoc = objAcroAVDoc.GetPDDoc()
Set js = objAcroPDDoc.GetJSObject
SaveName = FolderPath & "\" & Replace(FileName, ".pdf", "")

'変換のうえテキストファイルとして保存
js.SaveAs SaveName & ".txt", "com.adobe.acrobat.plain-text"

'PDFファイルを変更無しで閉じる
id = objAcroAVDoc.Close(1)

'Acrobatアプリケーションを終了する。
id = objAcroApp.Hide
id = objAcroApp.Exit
Set js = Nothing
Set objAcroAVDoc = Nothing
Set objAcroApp = Nothing
562デフォルトの名無しさん (ワッチョイ cbda-xYNh)
2020/10/11(日) 18:37:51.01ID:7Qx+aWsY0
どこだか忘れたけど、閉じる・解放はこの順番じゃないとダメって書いてあるサイトがあったぞ。
563デフォルトの名無しさん (ワッチョイ 07ce-KV+F)
2020/10/11(日) 20:12:54.59ID:WEczn1o20
オブジェクト型にNothingを代入しても、参照ポインタが書き換わるだけでメモリが解放されるわけじゃないんで、順序はそれほど重要じゃない
564デフォルトの名無しさん (ワッチョイ 67da-xYNh)
2020/10/11(日) 21:39:34.57ID:CPiGYYUg0
>>560
必ず再現するなら同じ現象が発生する最小のコードを作ってみ
565デフォルトの名無しさん (ワッチョイ 4a2f-JAxH)
2020/10/11(日) 23:29:10.26ID:gmCwGThW0
>>561
とりあえずDimでNewするのやめて様子見てみ
566デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)
2020/10/12(月) 01:35:39.95ID:EUVfONAL0
どうやって再度、実行できているのか?

仕事ができない人がよく言う説明。
567デフォルトの名無しさん (ワッチョイ 672c-JAxH)
2020/10/12(月) 08:27:00.05ID:CsRHImZw0
>>560
タスクマネージャーを起動して、プロセスを終了させてから、実行すれば?
568デフォルトの名無しさん (ラクッペペ MM86-SfJD)
2020/10/12(月) 10:12:47.93ID:5eYbb8SbM
アクロバットがすぐに終了しないのは体感でも分かるレベル
569デフォルトの名無しさん (ワッチョイ 6f5f-e5Pm)
2020/10/12(月) 18:47:34.51ID:EUVfONAL0
2回目以降から1回目に戻る手順くらい書けよ!
570デフォルトの名無しさん (ワッチョイ 07ad-yGJI)
2020/10/12(月) 21:34:54.79ID:mxOFfEsA0
おもいついた
>>530
最後にsubstituteでまとめて消せばよくね?
571デフォルトの名無しさん (ワッチョイ 67da-tQNK)
2020/10/12(月) 23:43:56.93ID:k3Vmfe+e0
時間を戻そう
572デフォルトの名無しさん (ワッチョイ ca4f-+ixC)
2020/10/13(火) 08:13:53.62ID:548t3foS0
>>561
objAcroAppにCloseメソッドがあってそれを実行していないとかいうオチだったりして
573デフォルトの名無しさん (ワッチョイ ca01-d5Pu)
2020/10/13(火) 09:32:19.92ID:2dX+mfF30
>>572
普通の頭持ってたら
id = objAcroApp.Exit
がそれだと思うだろうに…
574デフォルトの名無しさん (ワッチョイ 6749-xYNh)
2020/10/13(火) 10:34:47.53ID:lK6RB09G0
「.CloseAllDocs」 ってメソッドもAcrobat.AcroAppにはあるらしいな
そしてExitだけじゃプロセスが残ることもあるらしい

まあAcrobatの環境ないから検証も何もできんけど、
安全取るならExitしたあとにプロセス監視してkillするしかないんじゃね
途中でエラー落ちしてもプロセスのこっちゃうらしいし

ちなみにどうでもいいが個人的にはExitとCloseは、意味的に異なると思う
だからExitとCloseが両方あってもおかしくないとは思う
でもExitがCloseを包括していても、それはそれでありだとも思う
Acrobat.AcroAppの公式ドキュメント見れてないからワイには答えが出せんわ
575デフォルトの名無しさん (ワッチョイ 9f63-F9zC)
2020/10/15(木) 08:48:14.01ID:wrF56cyr0
>>560です
皆さん本当にありがとうございます。
みなさんのご意見をプログラムに反映した後、
ソースを最小(adobeをオープン・クローズするのみ)
にしてもエラーです・・・(次レス参照)

タスクマネージャには
adobe CEF helper、adobe update serviceがありますが
前者は消しても湧いてきているように見えます。
パソコン再起動してもダメ、日付が変わってもダメです。

しかし、エラーになったあとちょうど24時間経過すると
無事実行できるようになることがわかりました・・・
24時間後の数分前はエラーでしたが
数分後は無事実行できました。

ちょうど24時間で消えるプロセスが存在するんだと思いますが
何かご存知のかた居ましたらご教示ください・・・
576デフォルトの名無しさん (ワッチョイ 9f63-F9zC)
2020/10/15(木) 08:49:26.67ID:wrF56cyr0
ソースを最小にするためところどころコメントアウトしてます
Dim objAcroApp As Acrobat.AcroApp
Dim objAcroAVDoc As Acrobat.AcroAVDoc
' Dim objAcroPDDoc As Acrobat.AcroPDDoc
Dim id As Long
' Dim js As Object
' Dim SaveName As String

Set objAcroApp = CreateObject( "AcroExch.App" )
Set objAcroAVDoc = CreateObject( "AcroExch.AVDoc" )
id = objAcroApp.Show
id = objAcroAVDoc.Open(FilePath, "")

' Set objAcroPDDoc = objAcroAVDoc.GetPDDoc()
' Set js = objAcroPDDoc.GetJSObject
' SaveName = FolderPath & "\" & Replace(FileName, ".pdf", "")

'変換のうえテキストファイルとして保存
' js.SaveAs SaveName & ".txt", "com.adobe.acrobat.plain-text"

'PDFファイルを変更無しで閉じる
id = objAcroAVDoc.Close(1)

'Acrobatアプリケーションを終了する。
id = objAcroApp.CloseAllDocs←どっかのサイトでobjAcroApp.Hideの前に入れてました
id = objAcroApp.Hide
id = objAcroApp.Exit
' Set js = Nothing
Set objAcroAVDoc = Nothing
Set objAcroApp = Nothing
577デフォルトの名無しさん (ワッチョイ 5b2c-F9zC)
2020/10/15(木) 09:20:24.96ID:7eWumHpU0
起動設定で、プロセスを殺すと、また再起動するアプリがある。
ウィルスチェックなどの、何かをチェックするアプリ

必ず、最低1つは起動しておくタイプのアプリ

そういうアプリは使わない方がよい。
何をチェックして、本社に送っているか、怪しい

会社に問い合わせて、再起動を止めるような設定を聞けば?
578デフォルトの名無しさん (スププ Sdbf-K5sQ)
2020/10/15(木) 10:57:30.25ID:LAL4jdY0d
区分1〜10のデータが記録されたcsvを区分ごとにExcelシート毎(シート名は1〜10)に分割して読み込むvbaがどうしても出来ません…
ご教示いただけないでしょうか…
579デフォルトの名無しさん (ワッチョイ 5b49-fMdf)
2020/10/15(木) 11:36:34.23ID:+kinuzul0
そんな説明でわかるわけがないので、
そこまで頑張って作ったコードとエラーメッセージを提示するのが最低限
そして、自分で何を試行したのかも説明すること
580デフォルトの名無しさん (ワントンキン MMbf-QVAX)
2020/10/15(木) 12:20:58.11ID:k/WlCRMPM
いつもの人
581デフォルトの名無しさん (ワッチョイ 5b2c-F9zC)
2020/10/15(木) 13:02:07.76ID:7eWumHpU0
Ruby なら、これで最初の列だけを、出力できる

require 'csv'

# CSV ファイルを、1行ずつ処理する
CSV.foreach( "a.csv" ) do |row|
puts row[ 0 ]
end
582デフォルトの名無しさん (ワッチョイ 9f6d-sSL1)
2020/10/15(木) 14:36:16.06ID:sVQ5bVjI0
>>581
C#スレで恥を晒したRuby荒らしは帰れよ
583デフォルトの名無しさん (ワッチョイ 8bda-fMdf)
2020/10/15(木) 19:36:00.91ID:GQ796pt70
簡単かどうかなんてどうでもいい。
200万件のデータをADO+SQLより速く処理できるならRuby使ってやらなくもないが。
どうなんだい?
無理ならイラネ。
584デフォルトの名無しさん (ワッチョイ 9fb5-K72c)
2020/10/15(木) 19:54:07.37ID:hF5+vxPB0
もう時代遅れなのはわかってるけど
会社が2019に更新してまだまだ使う気満々なので
そして配布が出来ないと困る
585デフォルトの名無しさん (テテンテンテン MM7f-RGwm)
2020/10/15(木) 21:24:39.62ID:Dg+UC/FqM
>>583
ルビ糞基地外の味方をするつもりはないけど、DBがボトルネックならRubyだろうが何だろうが速さは変わらんよ
586デフォルトの名無しさん (ワッチョイ 9fe6-lr1q)
2020/10/15(木) 21:53:38.55ID:3DKNzMNt0
俺の解釈だとこんな感じ

Sub Macro1(Filename, Fieldname)
Set ws = Workbooks.Open(Filename).Sheets(1)
Set pvt = ws.PivotTableWizard(1, ws.UsedRange)
pvt.PivotFields(Fieldname).Orientation = 1
pvt.PivotFields(Fieldname).Orientation = 4
pvt.ColumnGrand = False
For Each r In pvt.DataBodyRange: r.ShowDetail = True: Next
End Sub
587デフォルトの名無しさん (ワッチョイ fb19-F9zC)
2020/10/15(木) 23:19:16.95ID:fOL5OZab0
>>562
はこのサイトかな
http://pdf-file.nnn2.com/?p=6
588デフォルトの名無しさん (ワッチョイ 8bda-fMdf)
2020/10/16(金) 19:09:16.33ID:Hr39/iau0
>>587
多分それ。
589デフォルトの名無しさん (ワッチョイ bb5f-snog)
2020/10/16(金) 19:55:23.45ID:rggqlWcj0
PDFファイルの件は、マクロの記録でやるとどうなるのか、確認すればいいんじゃないの?
590デフォルトの名無しさん (ワッチョイ 8bda-fMdf)
2020/10/16(金) 21:55:06.26ID:Hr39/iau0
なあそれ、マクロの記録をするとどうなるか確認してから言ってるのか?
591デフォルトの名無しさん (ワッチョイ 9f42-B8Ym)
2020/10/16(金) 22:07:10.71ID:9Da+1I/Z0
モチのロンだぜ
592デフォルトの名無しさん (ワッチョイ 5bda-fMdf)
2020/10/16(金) 22:24:45.68ID:tI22s9TB0
モロのチンだぜ
593デフォルトの名無しさん (スップ Sdbf-huX3)
2020/10/18(日) 16:09:00.37ID:SMfw56kvd
>>533
そういうことじゃねえ。
594デフォルトの名無しさん (ワッチョイ 05da-tMQb)
2020/10/21(水) 23:21:44.77ID:w3Ug/D8p0
Excel VBA 質問スレ Part68 YouTube動画>5本 ニコニコ動画>1本 ->画像>8枚
595デフォルトの名無しさん (テテンテンテン MMe6-B6QP)
2020/10/22(木) 03:14:09.06ID:RxEiNjgnM
こまけぇこたぁ
    いいんだよ!!
  /)
 //)  __
`/ 二つ/⌒⌒\
| ニ⊃ (●)(●)\
/\ノ|⌒(_人_)⌒|
 / > ヽニノ <
596デフォルトの名無しさん (スプッッ Sd02-4ynI)
2020/10/22(木) 08:49:00.24ID:8kbg1eIjd
まだVBAなんて使ってる人がいてビックリ
懐かしい言語だよね
597デフォルトの名無しさん (テテンテンテン MMe6-B6QP)
2020/10/22(木) 09:02:14.12ID:OZW0tgCBM
Excel2000から20年なんて家電製品なら普通ですよ
598デフォルトの名無しさん (ラクッペペ MMe6-E8a6)
2020/10/22(木) 12:37:02.60ID:QXcT5+jPM
Excel5.0からだよ
16ビットだよ
599デフォルトの名無しさん (ドコグロ MM15-o6QC)
2020/10/22(木) 12:37:11.57ID:N0tQIHiYM
>>596
今現在Excel入ってりゃ必ず使えるのはVBAだけだから
まあ最近の言語に比べりゃ色々面倒な部分はあるけどちょっとしたツール程度ならなんとかなるぐらいの機能はあるし
600デフォルトの名無しさん (ワッチョイ 05cc-LA9s)
2020/10/22(木) 17:17:13.81ID:8WoYrv7v0
A1に"2020/10/22"のように日付が入っています。
その日付が土曜日の場合、その月の何回目の土曜日かを調べるコードを教えてください。
601デフォルトの名無しさん (テテンテンテン MMe6-FUnU)
2020/10/22(木) 17:41:32.24ID:V9nm7cr3M
嫌です
602デフォルトの名無しさん (ラクッペペ MMe6-E8a6)
2020/10/22(木) 18:23:26.36ID:jxPHtPQlM
22÷7
603デフォルトの名無しさん (ワッチョイ 86c3-m/xB)
2020/10/22(木) 18:50:04.05ID:lPQIKdWd0
>>600
その日付は木曜日です
604デフォルトの名無しさん (ワッチョイ e1d2-o8Qw)
2020/10/22(木) 18:56:20.17ID:CJ3HroyY0
int((日-1)/7+1)
605デフォルトの名無しさん (アウアウウー Sa45-S+8T)
2020/10/22(木) 19:08:32.49ID:XgRR6MjRa
days
606デフォルトの名無しさん (ワッチョイ 21da-tMQb)
2020/10/22(木) 20:00:05.75ID:Nlv/Qw7G0
>>596
ここでRuby教を広めようとしても無駄ですよ
607◆QZaw55cn4c (JP 0H52-MyFb)
2020/10/22(木) 20:38:01.04ID:RiQFyYLuH
>>599
そうそう、それに win32api のほとんどを呼び出すことができるんですよね
608600 (オイコラミネオ MM69-joA3)
2020/10/22(木) 20:54:38.55ID:EVMbdUMSM
〉〉604
ありがとうございます
609デフォルトの名無しさん (ワッチョイ ee8e-rRPK)
2020/10/22(木) 21:21:26.60ID:hm8FUbN60
いつものあいつか
610デフォルトの名無しさん (ワッチョイ d163-MACq)
2020/10/22(木) 22:49:46.23ID:kity+iCG0
FileSystemObjectの参照設定

VBAの中でできないのかな?
611デフォルトの名無しさん (ワッチョイ c2e6-dcnK)
2020/10/23(金) 00:04:14.15ID:1WodYwaj0
エディタの支援が不要ならCreateObjectでええやん
612デフォルトの名無しさん (スプッッ Sd02-oXyV)
2020/10/23(金) 00:50:10.47ID:g9AT+l9rd
>>610
出来る。
613デフォルトの名無しさん (テテンテンテン MMe6-B6QP)
2020/10/23(金) 01:26:42.51ID:ykqFrr6rM
>>610
出来ない
614デフォルトの名無しさん (アウアウウー Sa45-TzND)
2020/10/23(金) 02:25:13.53ID:YKSIT3mga
>>610
出来まい
615デフォルトの名無しさん (スッップ Sda2-AC5c)
2020/10/23(金) 02:48:18.20ID:bmMgVHIId
競馬のオッズの取り込み教えて欲しい。
616デフォルトの名無しさん (ワッチョイ 02ad-dZ3m)
2020/10/23(金) 08:33:21.77ID:TKI7l+v40
複数のセルに纏めて背景色を付けたい場合についてです
指定のセルは離れているためRangeで範囲選択では済ませられないです
Unionを使用するのも手ではありますが動作速度に影響を及ぼすので最終手段としたいです

そこで背景色をつけるセルのAddressを取得して一次元配列に格納し
.Range(Join(Array, ",")).Interior.CoIor = CLng("&H00FAFAFA″)
で着色しようとしたのですが、どうもこの連結方法の場合、連結数が一定数を超えるとエラー停止してしまう様です

なので何か別のアプローチはないものかと模索している最中なのですがもしよろしければお知恵をお借りしたいです
617デフォルトの名無しさん (アウアウカー Sa89-VmZc)
2020/10/23(金) 08:37:04.87ID:WT7JJPgTa
自分で思いつかないようなテクニカルなやり方してもあとで読む人が大変だし普通に配列ループでいいじゃん
618デフォルトの名無しさん (ブーイモ MM76-H07y)
2020/10/23(金) 09:16:49.94ID:0vnMylCPM
VBAで済む事をわざわざ他言語でやる池沼よりマシ
619デフォルトの名無しさん (ワッチョイ 05da-tMQb)
2020/10/23(金) 10:42:10.63ID:9+IFx01J0
>>616
一定数を超えるとエラーになるってわかっているんだから一定数を超えないようにすればいいんじゃね
620デフォルトの名無しさん (ワッチョイ 02ad-dZ3m)
2020/10/23(金) 11:02:14.72ID:TKI7l+v40
>>619
不特定多数が使用する業務のスケジュール管理をするツールで、描写したスケジュール表を平日、土曜日、日曜祝日の3パターンで着色する必要があるんですけど、業務期間が長いとどうしても超えてしまう場合が発生するんですよね
業務期間に制限を設けるわけにもいかないですし
配列に格納してんだからループで一定数おきに着色ってのも考えたんですけどUnionより遅くなるっぽいんで最適化を諦めてUnionで繋げちゃうかーって思ってはいるんですが、その前にここで聞いてみて何かヒント貰えたらなーと
621デフォルトの名無しさん (ワッチョイ 8249-5+f8)
2020/10/23(金) 12:29:02.31ID:u/a/wHRt0
あまり編集をしないのであれば、条件付き書式で勝手に色がつくようにするとか
622デフォルトの名無しさん (ワッチョイ 3901-3XbD)
2020/10/23(金) 13:40:00.08ID:DQVFwAwV0
>>616
Join(Array, ",") ← こいつがエラー起こすって感じなの?
String 型は最大20億文字数らしいね
あるいは.Rangeが受け付けないのか

一応ググってみるとRangeの引数は255文字までというのが出て来る
これに引っかかってるんじゃねえの
623デフォルトの名無しさん (ワッチョイ 3901-3XbD)
2020/10/23(金) 13:51:36.68ID:DQVFwAwV0
>一次元配列に格納し

これでループ回したところで体感できるような速度差は出ないと思うがな
むしろRange内の文字列引数処理のほうが時間食われるんじゃないかと
Union・・・どんなもんだろねぇ
624デフォルトの名無しさん (ワッチョイ 02ad-dZ3m)
2020/10/23(金) 13:51:42.41ID:TKI7l+v40
>>622
なるほど
引数上限の255文字が原因っぽいですね
んー……そうするとやっぱり複数範囲をカンマ区切りでーは上限が発生しちゃいますよねぇ
625デフォルトの名無しさん (テテンテンテン MMe6-FUnU)
2020/10/23(金) 14:36:51.59ID:ITa0Mrx5M
255件程度ならどんな方法でもさして時間変わらないのでは
screenupdating切れば一瞬で終わりそう
626デフォルトの名無しさん (ラクッペペ MMe6-E8a6)
2020/10/23(金) 15:36:44.43ID:wfU4S4ZzM
数秒が待てないというのはイベント駆動でもさせる気なの?
627デフォルトの名無しさん (ワッチョイ 8201-ZFHv)
2020/10/23(金) 15:48:23.96ID:BdUYZCjc0
エクセルでマリオカートを作ります
628デフォルトの名無しさん (ワッチョイ 21da-tMQb)
2020/10/23(金) 18:52:38.00ID:uwgUvjOA0
エクセルでねぇ・・。
実質DirectX頼りだろう。
セル書き換えじゃ60fps出ないし。
629デフォルトの名無しさん (ワッチョイ cd7c-z4aL)
2020/10/23(金) 19:17:52.04ID:knErP7D20
255個ぐらいで数秒もかかるのはおかしい
630デフォルトの名無しさん (ワッチョイ 05da-tMQb)
2020/10/23(金) 19:24:37.35ID:9+IFx01J0
ヒントならもらったろうに、あとはどう実装するかは自力で試行錯誤やればいいんじゃね
631デフォルトの名無しさん (ワッチョイ 02ad-dZ3m)
2020/10/23(金) 19:38:40.04ID:TKI7l+v40
処理範囲的には
.Range(”M11:Q1011,T11:X1011,【中略】,CF11:CJ1011“).Interior.CoIor
ぐらいです

全体で1万弱程のステップがあって他ファイルの読込やグラフの生成、データファイルの出力等があり、全体の処理時間が10秒前後なので
この処理を軽くした所で焼け石に水なのは分かってはいるんですが、
オブジェクトの操作を極力減らして動作時間を軽減したいなぁと思っています

次の操作箇所を強調する為にRange(″M20,M20″).Selectみたいな操作を使ったので、これの応用で広域処理も行けるかなぁと思ったんですがダメみたいですね
お騒がせ致しました
お忙しい中ご意見等頂きありがとうございました
632デフォルトの名無しさん (ワッチョイ 05da-tMQb)
2020/10/23(金) 21:25:05.79ID:9+IFx01J0
問題に取り組む姿勢がおかしい
633デフォルトの名無しさん (ワッチョイ 3901-3XbD)
2020/10/23(金) 21:51:10.18ID:DQVFwAwV0
>>631
>他ファイルの読込

俺はこいつが異様に遅くて困ってる
100万個ほどのデータをCSVから読ませてるんだけど6世代i5で3分、セレロンだと10分とかかかる
Lineで1行ずつ読んでるせいなんだろうけどQueryだと早いんだろうなあと思いながら面倒で手を付けてなかった
これを機にやってみるかなぁ
実際相当早くなるもんかね?
634デフォルトの名無しさん (ワッチョイ 0242-Kbrf)
2020/10/23(金) 22:37:29.74ID:jmwa0xlU0
何をやってるかにもよるがそもそも一度に全部読み込まなきゃいいんじゃね
635デフォルトの名無しさん (ワッチョイ fd5f-zec2)
2020/10/23(金) 23:22:27.59ID:/Kxbsbpt0
曜日の色付けなんてWEEKDAY関数と条件付き書式で良くないか?
曜日ごとに文字列記入するところはマクロにしてるけど
636デフォルトの名無しさん (ワッチョイ 3901-3XbD)
2020/10/24(土) 06:26:18.80ID:Uy2SF5SV0
>>634
>一度に全部読み込まなきゃ

そうやねぇ・・・
週ごとにデータを集計してんだけどいまんところ一括で読み込ませてる
常時PC立ち上がってる環境だから逐次データ吸い上げていけば一番いいんだけどそうなると小手先の変更じゃなくて大枠に手を加えなきゃなんなくなるのが頭痛いところ
てかこんなのエクセルでやらせんなよって話でもあるんだけどそうはいかない
637デフォルトの名無しさん (ワッチョイ 02ad-dZ3m)
2020/10/24(土) 08:29:55.58ID:Q0nf4D4p0
>>635
それでも良いんですけど、行ごとに工程の開始日と終了日を設定して工程の期間のセルは計画達成率ごとに緑、黄、橙、赤って着色する必要があり、その着色は開始日が平日なら土日祝日は着色しない、開始日が土日祝日なら期間中全てのセルを着色
とかやるんで条件書式でやるのかなり面倒なんですよね
ユーザーには進捗率をスケジュール表に記入させるんですけど今日以降の進捗率は入力があっても認識から外さなければならないって仕様もあったりするんで
638デフォルトの名無しさん (ワッチョイ cd7c-z4aL)
2020/10/24(土) 10:23:24.93ID:EYzilKe/0
そのぐらいなら自分なら条件付き書式でやる
639デフォルトの名無しさん (アウアウウー Sa45-TzND)
2020/10/24(土) 10:53:59.72ID:Fj5xdFDia
毎回全部のデータつくりなおすのか
差分だけやるとか分割するとかしないのね
640デフォルトの名無しさん (ラクッペペ MMe6-1Dkg)
2020/10/24(土) 12:24:40.86ID:9i+KquaLM
あるフォルダに複数のエクセルがあります。
シートは必ず一枚。
一番ファイル名が短いエクセルに
他のエクセルのシートをコピーしてまとめたい。
どう書けば楽ですか。
641デフォルトの名無しさん (ササクッテロ Sp11-xxau)
2020/10/24(土) 12:36:09.77ID:Gp+9LQQ1p
>>640
一番短いファイル名で同じ長さのものが有った時点で破綻

次の方どうぞ〜
642デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/24(土) 12:41:50.27ID:hS/lv/UK0
その問題を作った先生を問い詰めろ!
643デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/24(土) 12:43:08.02ID:hS/lv/UK0
>>640
前提条件にリアリティがなさすぎるw
644デフォルトの名無しさん (ワッチョイ 05da-tMQb)
2020/10/24(土) 13:11:38.58ID:uN2dIIGs0
>>640
「わかりません」って書いとけばいいよ
645デフォルトの名無しさん (ワッチョイ 224b-FUnU)
2020/10/24(土) 13:18:00.47ID:Lxq4fMOo0
>>640
その通り書けば楽です
646デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/24(土) 13:35:27.35ID:hS/lv/UK0
エクセルがあるとは何ですか?
647デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/24(土) 13:37:23.43ID:hS/lv/UK0
Excelファイルのことを単にExcelと呼ぶのも違和感がある。
648デフォルトの名無しさん (ラクッペペ MMe6-1Dkg)
2020/10/24(土) 13:45:51.01ID:9i+KquaLM
>>641
同じ長さになることはありません
説明不足ですみません
649デフォルトの名無しさん (ワッチョイ cd7c-z4aL)
2020/10/24(土) 13:46:27.15ID:EYzilKe/0
何を条件にした楽なのか?
650デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/24(土) 15:19:09.43ID:hS/lv/UK0
ファイル名のことなんてあとで考えればよい。

まず手順を考えてください。

ファイル名は重要ではありません。
651デフォルトの名無しさん (ワッチョイ ee8e-rRPK)
2020/10/24(土) 15:29:59.50ID:VJA5Q+pD0
いつものあいつっぽい
652デフォルトの名無しさん (ワッチョイ 05cc-BPyH)
2020/10/24(土) 15:59:31.92ID:h35l0z5Z0
シート"土曜日の小計"のA2から、祝日と会社の休業日以外の土曜日を書いていくマクロを考えています。

(シートカレンダーのA列に日付、B列にA列の日付が祝日であれば"1"が入力してあり、C列に会社の休業日なら"1"が入力してあります)

このマクロだと、「424 オブジェクトが必要です」になります。どう書けば良いですか?



Dim a As Long,r As Long

a = 2

For r = 1 To 365

 If Weekday(DateAdd("d", r, Date)) = 7 And _

   Worksheet.Function.VLookup(DateAdd("d", r, Date), Sheets("カレンダー"), 2, False) <> 1 And _

    Worksheet.Function.VLookup(DateAdd("d", r, Date), Sheets("カレンダー"), 3, False) <> 1 Then

Sheets("土曜日の小計").Cells(a, 1) = DateAdd("d",r,Date)

  a = a + 1

End If

Next bc
653デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/24(土) 17:14:11.51ID:hS/lv/UK0
>>652
http://officetanaka.net/excel/vba/error/execution_error/error_424.htm
654デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/24(土) 17:16:31.42ID:hS/lv/UK0
>>652
可読性の悪さw
655デフォルトの名無しさん (ワッチョイ ee8e-rRPK)
2020/10/24(土) 17:22:25.13ID:VJA5Q+pD0
土曜日のことを聞いていたのは例のあいつ
656デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/24(土) 17:24:29.58ID:hS/lv/UK0
>>652
どのワークシートなのか指定がないけど?
657デフォルトの名無しさん (ワッチョイ 2e02-tMQb)
2020/10/24(土) 19:06:56.46ID:kz7Ernxq0
例のあいつが好きな人か
658デフォルトの名無しさん (ワッチョイ cd7c-z4aL)
2020/10/24(土) 19:44:26.47ID:EYzilKe/0
オブジェクトの指定も無いし存在しない命令も書いてあるし
659デフォルトの名無しさん (スプッッ Sd02-oXyV)
2020/10/24(土) 19:53:11.40ID:rvK7EvYrd
>>610
個別的になるが出来る。
Application.VBE.ActiveVBProject.References.AddFromFileを使う。

VBEを弄るからセキュリティがザルだ。
わかってる奴以外は使わないことをお勧めする。
660デフォルトの名無しさん (ドコグロ MM4a-stnX)
2020/10/24(土) 20:28:18.61ID:UZJZIrrqM
>>652
Sheets("カレンダー")のあとにセル範囲を書けば動くんじゃね
661デフォルトの名無しさん (スププ Sda2-AOxM)
2020/10/24(土) 21:19:11.38ID:9VZVkXWLd
理解しないまま適当にいじって、エラーが出る位置を見直そうともせず修正丸投げか
662デフォルトの名無しさん (ワントンキン MMd2-++O/)
2020/10/24(土) 23:09:15.96ID:ZLw1Oaa2M
だっていつもの人だもの
663652 (ワッチョイ 05cc-BPyH)
2020/10/24(土) 23:35:43.13ID:h35l0z5Z0
>>653

どこにSetをつければいいか分かりません





>>652

どうやって指定すればいいですか?





>>660

Worksheet.Function.VLookup(DateAdd("d", r, Date), Sheets("カレンダー").Range("A:C"), 2, False) <> 1



でも同じでした
664デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/25(日) 01:39:45.83ID:eXluQ9/t0
うるさい
665デフォルトの名無しさん (ワンミングク MMd2-lCrg)
2020/10/25(日) 02:05:19.43ID:mQ0mp2TEM
>>663
いい加減にしろや
死ね
666デフォルトの名無しさん (ワッチョイ 05da-tMQb)
2020/10/25(日) 11:43:41.49ID:R1nDOxYO0
>>663
基本的なことができてないようなので職場の他の人に頼んだ方が早いだろう
667デフォルトの名無しさん (ワッチョイ ee63-9Kcm)
2020/10/25(日) 12:51:32.04ID:6oKLzf6v0
ある変数に、なんでもいいから100文字セットしたい場合って
どの関数使えばいいの?

str = "*****..."(100文字)
と書くのはダサいから嫌です
668デフォルトの名無しさん (ワッチョイ cd7c-z4aL)
2020/10/25(日) 12:58:10.18ID:cOgZifE90
ダサいとする基準は?
669デフォルトの名無しさん (ワッチョイ 895f-fj89)
2020/10/25(日) 13:44:52.27ID:eJOhPHQ60
>>667
WorksheetFunction.Rept("あ" ,100)
670デフォルトの名無しさん (スプッッ Sd02-oXyV)
2020/10/25(日) 14:25:26.14ID:f7KUnMgPd
>>667
String(255,"*")
671デフォルトの名無しさん (スプッッ Sd02-oXyV)
2020/10/25(日) 14:26:14.56ID:f7KUnMgPd
100文字か。
String(100,"*")
672デフォルトの名無しさん (アウアウウー Sa45-TzND)
2020/10/25(日) 14:53:37.82ID:SDXJVscja
>>667
その質問のほうがダサい
673デフォルトの名無しさん (ワッチョイ ee63-9Kcm)
2020/10/25(日) 17:29:34.56ID:6oKLzf6v0
>667
です
669-671
おかげさまでできました有難う天才たち
674デフォルトの名無しさん (ワントンキン MMd2-++O/)
2020/10/25(日) 19:06:05.20ID:DNLjJymIM
やっぱりいつものあいつでしたとさ
675デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/25(日) 19:23:20.13ID:eXluQ9/t0
なんでもいいという要件がわからない。
676デフォルトの名無しさん (ワッチョイ 05da-tMQb)
2020/10/25(日) 20:13:10.48ID:R1nDOxYO0
からかわれている
677デフォルトの名無しさん (ワッチョイ cd7c-z4aL)
2020/10/25(日) 20:37:35.14ID:cOgZifE90
というかバカにされてるなたぶん
678デフォルトの名無しさん (ワッチョイ d163-9Kcm)
2020/10/25(日) 21:38:09.03ID:eeV8PNBf0
複数行まとめてコメントアウトしたい場合
どう書けばいいですか
一行ずつ'を入れたくないです。
679デフォルトの名無しさん (アウアウウー Sa45-ot4R)
2020/10/25(日) 22:03:05.56ID:D3cPjOx/a
選択されたら行範囲をすべてコメント化/コメント解除はツールバーにある
そのバーが非表示だと表示しなければダメだが
あと、推奨されるかは分からないけど、

#if 0 then

コメント化したい行

#end if

とかよくやります
680デフォルトの名無しさん (アウアウウー Sa45-ot4R)
2020/10/25(日) 22:04:11.05ID:D3cPjOx/a
出だし
選択された行範囲…
です
681デフォルトの名無しさん (アウアウウー Sa45-ot4R)
2020/10/25(日) 22:18:31.00ID:D3cPjOx/a
自分で書いておいてなんだけど、#でぃれくてぃぶによるコメントはお勧めしません
知っておいてよいかも、で
682デフォルトの名無しさん (ワッチョイ 02ad-dZ3m)
2020/10/25(日) 23:22:51.95ID:JTBNO/Ek0
>>678
行の末尾に半角スペースとアンダーバーを入れて次の行と繋げてしまうとか?
683デフォルトの名無しさん (ワッチョイ 05da-tMQb)
2020/10/26(月) 00:23:04.45ID:qmNjcSj20
>>678
数行程度の編集作業で手を抜くってのはどうかな
むしろそのコメント残さないで削除した方がいいんじゃね
一時的に処理を分けるならプロシージャとかで追い出して呼び出し部分をコメントにするとかあるけど
684デフォルトの名無しさん (ワッチョイ fd5f-orSx)
2020/10/26(月) 12:01:16.14ID:fNFJMgyU0
>>678 は釣り
685デフォルトの名無しさん (ワッチョイ 05da-TzND)
2020/10/26(月) 14:18:17.78ID:qmNjcSj20
やっぱりそうか
686デフォルトの名無しさん (ワッチョイ eef2-dv2+)
2020/10/26(月) 22:12:59.62ID:jYeoL4370
元々スプレットシート使ってて最近vba始めたんだけど
エクセルのvbaではスプレットシートで言うとこのsetvaluesみたいなのはないの?
2次配列をシートに貼り付けるみたいなことしたいんだけど
687デフォルトの名無しさん (ワッチョイ eef2-dv2+)
2020/10/26(月) 22:13:37.01ID:jYeoL4370
2次配列じゃなくて多次元配列でした
688デフォルトの名無しさん (ワッチョイ 65ce-gGz3)
2020/10/26(月) 22:18:23.63ID:LUihbr1y0
>>687
VBAは2次元配列限定でRangeに代入すればまとめて書き込んだり読み取ったりできる
689デフォルトの名無しさん (ワッチョイ c2e6-E8a6)
2020/10/27(火) 00:26:27.42ID:bFDGidnH0
VBAはなぜか裏技っぽい文法が好きらしい
Midステートメントなんて最悪
690デフォルトの名無しさん (ワントンキン MMd2-++O/)
2020/10/27(火) 01:13:56.57ID:86zqMFTdM
>>686
>>689
釣られないように
691デフォルトの名無しさん (ワッチョイ eef2-dv2+)
2020/10/27(火) 02:21:37.66ID:rqaBQIGU0
>>688
何度もすいません
例えばこんな感じでrangeの範囲がわからない場合rangeのとこどうしたらいいの?

dim tmp
tmp = worksheets("sheet1").usedrange
worksheets("sheet2").range()= tmp
692デフォルトの名無しさん (ワッチョイ eef2-dv2+)
2020/10/27(火) 02:24:20.74ID:rqaBQIGU0
ソース間違いです

dim tmp
tmp = worksheets("sheet1").usedrange.value
Worksheets("sheet2").range()= tmp
693デフォルトの名無しさん (スッップ Sda2-rRPK)
2020/10/27(火) 02:30:47.78ID:9HNq6CFYd
例のあいつ
694デフォルトの名無しさん (ワントンキン MMd2-gpcg)
2020/10/27(火) 11:38:27.45ID:ptoZa2VhM
Wordの2ページ目以降にラベルを追加する方法について教えてください

エクセルからWordを呼び出して、ラベルを追加しようとしています
以下のように記載しました

Set newDoc wdApp.Documents. Add
newDoc.Shapes.AddLabel msoTextOrientationHorizontal, 35, 300, 30, 20

AddLabelの第二引数(300になっているところ)を増やせば2ページ目以降に追加されると思いましたが消えてしまい上手くいきません

すみませんがどうすればいいかご教示お願いいたします
695デフォルトの名無しさん (スップ Sda2-oXyV)
2020/10/27(火) 12:32:20.10ID:g67UH/S6d
>>692
それ、Rangeの範囲わかるよね。
696デフォルトの名無しさん (ワッチョイ eef2-dv2+)
2020/10/27(火) 16:07:03.53ID:rqaBQIGU0
>>695
わからない場合です
いちおうuboundとかで出せるのは分かるけど流石にこれだと増長すぎるかなと
worksheets("sheet2").range(cells(1,1),cells(ubound(tmp),ubound(tmp,2))) = tmp
697デフォルトの名無しさん (ワッチョイ e163-3xd8)
2020/10/27(火) 18:11:55.01ID:l1bcXJEN0
VBAを使うには記述の冗長さは諦めたほうがいい
その書き方で大正解だ
698デフォルトの名無しさん (ワッチョイ e163-3xd8)
2020/10/27(火) 18:13:10.53ID:l1bcXJEN0
VBAの何が終わってるってこう言う書き方に少しも疑問を覚えない老害がいっぱいいるんだよな
699デフォルトの名無しさん (アウアウウー Sa45-TzND)
2020/10/27(火) 18:22:43.09ID:qZwcfAyua
一旦変数にいれればいいんじゃね
700デフォルトの名無しさん (テテンテンテン MMe6-FUnU)
2020/10/27(火) 18:42:07.59ID:6WpiGXJ0M
疑問に思ったところでどうしようも無く無いか
自分でクラスでも作るとか?
701デフォルトの名無しさん (ワッチョイ ee63-S+8T)
2020/10/27(火) 18:50:59.46ID:D9T+kNV20
冗長にしたくなければテーブル使うのが1番手っ取り早いかなぁ
プロパティの分かりづらさとネット検索結果の貧弱さは仕方ない
702デフォルトの名無しさん (ワッチョイ fd5f-zec2)
2020/10/27(火) 19:33:07.02ID:w/TzFTqy0
>>697
resizeはどうだ?
703デフォルトの名無しさん (ワッチョイ fd5f-zec2)
2020/10/27(火) 19:35:27.63ID:w/TzFTqy0
最近おもいついたこと
ワークシート関数→波紋
VBAマクロ→幽波紋
704デフォルトの名無しさん (ワッチョイ 21da-tMQb)
2020/10/27(火) 23:01:35.17ID:o6G0sPC10
>>689
裏技っぽいかは知らんがこれ好き
a = b = c
705デフォルトの名無しさん (ワッチョイ 0563-9Kcm)
2020/10/27(火) 23:03:09.41ID:gj2Ohu8L0
>>679
ありがとうお勧めではないそうですが
教えてくださった方法でコメントアウトできたので
使いますww
706デフォルトの名無しさん (アウアウウー Sa45-ot4R)
2020/10/27(火) 23:05:41.35ID:WVQXu4mGa
代入が式の言語だと、結果 a、b、c が同値になるし、イヤだなぁ…
707デフォルトの名無しさん (アウアウウー Sa45-ot4R)
2020/10/27(火) 23:13:03.58ID:WVQXu4mGa
>>705
[表示]-[ツールバー]-[編集] で表示られるアイコンの左から9番目で選択範囲を一括コメント化、その右のアイコンでコメント解除
それも試してみてください
708デフォルトの名無しさん (アウアウウー Sa45-TzND)
2020/10/27(火) 23:23:37.13ID:2iVpt4JMa
>>704
おれは嫌い
709デフォルトの名無しさん (ラクッペペ MMeb-4t7V)
2020/10/28(水) 06:32:08.53ID:MUExsF8QM
マクロ実行後、
エクセルファイルを保存しようとすると
プライバシーに関する注意
というメッセージが出ます。
出ないよう設定できるようですが
セキュリティ的に不安です。
皆さんどのような対処をされてますか

いったんエクセルを全部終了するくらいしか
思いつきません
710デフォルトの名無しさん (テテンテンテン MMeb-1WjG)
2020/10/28(水) 06:48:10.23ID:MGib4+U5M
マクロ実行後、 ←この時点で手遅れ
711デフォルトの名無しさん (ラクッペペ MMeb-4t7V)
2020/10/28(水) 08:53:47.67ID:MUExsF8QM
>>710
実行前に他のエクセルを終了するのが
一般的でしょうか
712デフォルトの名無しさん (ドコグロ MMfd-frLi)
2020/10/28(水) 12:22:09.47ID:VqefcRCnM
>>704
好きとか嫌いとかじゃなくて
If b = c Then
a = True
Else
a = False
End If
みたいなコード書くなら
a = b = c
ッて書いた方が楽じゃね?
713デフォルトの名無しさん (テテンテンテン MMeb-gykd)
2020/10/28(水) 12:26:16.35ID:SBFJNMXDM
後から見直すときに前者の方が見やすい
書く時に楽かどうかは別にどうでもいいです
714デフォルトの名無しさん (ワッチョイ 0bba-CXnf)
2020/10/28(水) 13:08:13.57ID:Gcn0+siH0
a = (b == c)
ならいいんだけどなぁ
715デフォルトの名無しさん (ラクッペペ MMeb-rMvQ)
2020/10/28(水) 13:28:06.88ID:ArgZkv9MM
インタプリタの時代にif文の構文解析が遅いからって可読性皆無の謎の数式書いてた思い出
716デフォルトの名無しさん (ワッチョイ 8bf2-+/f8)
2020/10/28(水) 15:35:13.90ID:0lSgHaJH0
>>697
教えてくれてありがとうございます
これが普通なんですね
仕方ないので暫くはこれで大人しく頑張ってみます
何か荒れてたとこに変な質問して申し訳ありませんでした
717デフォルトの名無しさん (ドコグロ MM63-frLi)
2020/10/28(水) 18:57:08.32ID:koZ0sZlBM
>>696
冗長とか増長とか言う前にシートを指定せずにcells( )とか使うのはバグの元、せめて
With Worksheets("sheet2")
.Range(.Cells(1, 1), .Cells(UBound(tmp), UBound(tmp, 2))) = tmp
End With
にした方がいい
718デフォルトの名無しさん (テテンテンテン MMeb-gykd)
2020/10/28(水) 19:02:36.90ID:SBFJNMXDM
withはなんか嫌い
719デフォルトの名無しさん (テテンテンテン MMeb-1WjG)
2020/10/28(水) 19:10:52.23ID:URI3IFfrM
DAIGO監修マッチングアプリ
720デフォルトの名無しさん (ワッチョイ 93e6-rMvQ)
2020/10/28(水) 19:13:48.38ID:Aw3ALjki0
..でもうひとつ上のwithが使えるとか変な拡張してほしい
721デフォルトの名無しさん (ワッチョイ f15f-CXP8)
2020/10/28(水) 19:29:16.70ID:n4xiXKpa0
>>717
With ThisWorkbook.Worksheets("sheet2")
.Cells(1, 1).Resize(UBound(tmp), UBound(tmp, 2))) = tmp
End With
おれはブックから指定しないと気が済まんな
722デフォルトの名無しさん (ブーイモ MMcb-Z7cj)
2020/10/28(水) 19:32:00.41ID:XiKqUxDYM
withはなんか嫌い
723デフォルトの名無しさん (ワッチョイ f15f-5dFy)
2020/10/28(水) 19:40:24.53ID:8aJXN6gS0
Sheetオブジェクトにbookから指定したシート格納して扱うことが多いかなー
724デフォルトの名無しさん (ワッチョイ 93e6-rMvQ)
2020/10/28(水) 19:43:09.41ID:Aw3ALjki0
SetしたらNothing警察がウルサイんだよ
725デフォルトの名無しさん (ワッチョイ f15f-CXP8)
2020/10/28(水) 19:44:40.32ID:n4xiXKpa0
Withじゃないと他人がつけたSheetやRangeの変数名を把握するの大変じゃない?
726デフォルトの名無しさん (スップ Sd33-xx6n)
2020/10/28(水) 19:49:35.60ID:HcvuYFHJd
>>696
???
worksheets("sheet2").usedrange.value= tmp
じゃ駄目なのか?

範囲の文字が欲しいなら
worksheets("sheet2").usedrange.address
とかでも駄目?
727デフォルトの名無しさん (ワッチョイ 132f-G7xE)
2020/10/29(木) 12:00:49.68ID:xpkBYj/E0
>>726
sheet1と2じゃUsedRangeの範囲が違うだろ
sheet1の範囲取得しないと
728デフォルトの名無しさん (スップ Sd33-xx6n)
2020/10/29(木) 12:27:28.32ID:wp9TtuK3d
>>727
意味が分かった。
ならアドレスでOK。
アドレス違うなら関数作れ。
入ってる二次元配列がどんなであろうと貼り付け先1セル指定で貼り付く奴。
729デフォルトの名無しさん (アウアウウー Sa9d-LNIG)
2020/10/29(木) 18:28:14.85ID:2VkEHk3qa
背中にお婆さんがはり付いているよ
730デフォルトの名無しさん (ワッチョイ 8bf2-+/f8)
2020/10/29(木) 21:30:53.07ID:4HKKGi1r0
vba配列操作貧弱すぎてつらい
731デフォルトの名無しさん (ワッチョイ c1da-CXnf)
2020/10/30(金) 14:29:28.42ID:mCzxAGXk0
ならVBAやめなよ
732デフォルトの名無しさん (ワッチョイ 8bda-YFxM)
2020/10/31(土) 00:00:44.18ID:OI+kPxFG0
無理にやる必要わない
UB人口少ないし
733デフォルトの名無しさん (ワッチョイ 2b02-d+DX)
2020/10/31(土) 19:30:50.69ID:ihhGxqs70
複雑な部分はpowershellでやれ
734デフォルトの名無しさん (ワッチョイ c1da-CXnf)
2020/10/31(土) 20:06:28.46ID:p/A/SH820
そしてそっちのスレでやれ
735デフォルトの名無しさん (ラクッペペ MMeb-UPla)
2020/11/01(日) 06:21:53.30ID:eo7/HsaKM
Excel add-insならJavaScriptでExcelを操作できる
https://docs.microsoft.com/ja-jp/office/dev/add-ins/excel/excel-add-ins-overview
736デフォルトの名無しさん (ワッチョイ 9163-skIi)
2020/11/01(日) 13:18:53.92ID:RpKdwAj80

老害がいっぱいでしょう
737デフォルトの名無しさん (ワッチョイ 9963-fDVG)
2020/11/01(日) 14:06:41.78ID:wVa8LgII0
会社でxlsmファイルを次の担当に引き継ぐことになりました。
microsoft scripting runtimeの設定をそのファイルに施してあります。
次の担当者は自分で設定しなくても普通に使えるんでしょうか。
それとも自分で開発タブを表示するところから設定しないと
エラーになってしまうのでしょうか。
738デフォルトの名無しさん (ワッチョイ 13ad-pe6I)
2020/11/01(日) 14:29:30.14ID:rqDSIn020
参照設定はユーザー毎じゃなくてファイル毎に設定
739デフォルトの名無しさん (ワッチョイ 8b8e-JnB3)
2020/11/01(日) 14:51:11.65ID:HO7tvAnU0
>>737
なぜやってみないの?ゆとりなの?
740デフォルトの名無しさん (ワッチョイ 9963-fDVG)
2020/11/01(日) 15:54:59.46ID:wVa8LgII0
やってみたところ>>738の印象だったのですが
実際どーなのかなあって思いまして・・
741デフォルトの名無しさん (ワッチョイ 8bf2-+/f8)
2020/11/01(日) 17:10:27.45ID:osQdZjWG0
一時期excelでpthon使えるようになるとかあったけどあれどうなったんだ
正直ちょっと期待してたんだけど
742デフォルトの名無しさん (ワイーワ2 FF63-OHB4)
2020/11/01(日) 22:02:08.34ID:8xLcKULEF
>>741
その話は消えたようだ
https://qiita.com/yniji/items/b38bc312e860027108ac
743デフォルトの名無しさん (ワッチョイ 8bf2-+/f8)
2020/11/03(火) 03:00:31.66ID:N88Bm9k/0
僕「複数のブックから値を取得したい時どうしたらいいんだろ」検索
検索結果「全部のブックを開いて取得しましょう。外部参照しましょう。」
僕「こいつら正気かよ…」
744デフォルトの名無しさん (ワッチョイ 19da-CXnf)
2020/11/03(火) 07:44:54.83ID:Z7LuIdeU0
他にどうしろと
特にZIP圧縮になって以降
745デフォルトの名無しさん (ワッチョイ 117c-flnY)
2020/11/03(火) 12:46:38.69ID:3Zl4+FN80
ちょっと読むだけなら4macroとか大量データでないならDB接続とか
746デフォルトの名無しさん (アウアウウー Sa9d-YFxM)
2020/11/03(火) 15:03:36.63ID:Wl8qkqc+a
いつもの人でしょ
747デフォルトの名無しさん (ワッチョイ 69e5-Iouh)
2020/11/03(火) 22:04:34.20ID:DcyztcMU0
クラスが便利なのは分かっているんだが、難しくてやる気なくしてたんだけど
ユーザー定義型Typeね、アレすげえな
バカなオレでもプログラミングしている気分にさせてくれるくらい簡単
748デフォルトの名無しさん (ワッチョイ 655f-U72L)
2020/11/04(水) 06:49:14.88ID:dR//5Nki0
おれもクラスを調べてるけど要はオブジェクトを自分で作り出せるというところまでは分かった
749デフォルトの名無しさん (ワッチョイ 8101-L1wp)
2020/11/04(水) 18:04:37.59ID:H6E0ixtH0
>>745
おそらく4macroで使える程度の関数群は外部参照で元ファイル開かなくても参照できる
どんなデータを集計したいかしらんけどただ値を取得したいだけならブック開く必要ないよ(裏では開いてるけど)
一方最近の関数使ってるなら安全のためにブック開いてたほうがいい

DB接続ってのはエクセルファイルにDB接続できないから意味ないだろうね
750デフォルトの名無しさん (ワッチョイ b57c-B5oV)
2020/11/04(水) 19:12:35.17ID:LUbnrRil0
できることしか言ってないよ
751デフォルトの名無しさん (ワッチョイ 5e8e-JaP7)
2020/11/04(水) 20:01:28.17ID:YMXq55HT0
>>749
db接続できないと思ってるような人はコメントしなければいいのに
752デフォルトの名無しさん (ワッチョイ a9da-t1Nk)
2020/11/04(水) 20:42:14.94ID:iJjhODSM0
>>749
ジェットでインストール可能なイサムすればつながるだろうが!
753デフォルトの名無しさん (ワッチョイ 92b5-FW0W)
2020/11/04(水) 21:07:01.95ID:+u5LkCAg0
txtデータをダイアログから開いた時に
元のxlsmにあるテンプレというシートを
毎回そのブック内の右側に添付したいんですが
御教授お願いします。。
毎回txtデータの名前は異なります。
なかなか調べてもわかりません
754デフォルトの名無しさん (ワッチョイ a9da-t1Nk)
2020/11/04(水) 21:12:25.29ID:iJjhODSM0
よくわからんが、単純に If right(filename, 4) = ".txt" Then じゃダメなんかい
755デフォルトの名無しさん (ワッチョイ 92b5-FW0W)
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

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

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

いつものあいつだろ
762デフォルトの名無しさん (ワッチョイ d2e6-DMUe)
2020/11/05(木) 01:18:00.31ID:MmJj0qw00
わざわざこんなとこで聞くよりググったほうが早いからな
ただのかまってちゃんだ
763デフォルトの名無しさん (スッップ Sdb2-JaP7)
2020/11/05(木) 01:33:03.90ID:wTkbtAOfd
>>762
意味もわからずコピペするだけの馬鹿だから無理なのだろ
764デフォルトの名無しさん (ワッチョイ 5e8e-BMuU)
2020/11/05(木) 01:37:27.03ID:eUwwuQR20
>>759
死ね
765デフォルトの名無しさん (ワッチョイ 8101-L1wp)
2020/11/05(木) 13:00:01.73ID:OVMdlSXB0
>>751
>>752
直じゃなくて一旦DB化(一括インポート)しなきゃなんねえの
Jet.OLEDB,ACE.OLEDB,SQL Server,Power Query
外部DBが使えるならなんでもええがな
こいつら通さずエクセルに直にSQL送ったところで何も帰ってこないよ
さらにいうとエクセルファイルにDBアクセス中にエクセルファイル書き換えると整合性が取れなくなる
別物をかましてるんだからエクセル同志でDB接続とは言えんだろ
766デフォルトの名無しさん (ワッチョイ 5e8e-JaP7)
2020/11/05(木) 13:45:53.52ID:eUwwuQR20
>>765
黙っていればいいのに
767デフォルトの名無しさん (ワントンキン MM62-BMuU)
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で使っていたコードは使えるんでしょうか?
769デフォルトの名無しさん (ワッチョイ a9da-t1Nk)
2020/11/05(木) 19:50:31.94ID:SbS9cEmY0
>>765
ただの屁理屈だそんなもん
ADOだのMSクエリ前提で話しているに決まってるだろうが

パソコンでテレビを見るには、チューナを外付けしないといけないから、
パソコンでテレビを見られるとは言えない、とか言ってるようなものだぞ。
770デフォルトの名無しさん (ワッチョイ 0dad-O7hR)
2020/11/05(木) 19:55:08.43ID:f0srNcEJ0
それは見られるとは言えなくないかな
771デフォルトの名無しさん (ワッチョイ 31b3-/lBW)
2020/11/06(金) 08:21:13.15ID:aBeRil+I0
いつものあいつって、最初はものすごく下手に出ておいて、希望した回答が得られないと態度が豹変するあいつ?
772デフォルトの名無しさん (ワッチョイ d901-QVGU)
2020/11/06(金) 08:41:53.56ID:OISZDae80
元管理職の失業組だろ
773デフォルトの名無しさん (スププ Sdb2-7nA7)
2020/11/07(土) 18:11:38.24ID:6yLRlRLnd
VBAで業務の効率化ってさ
そもそもその会社の業務自体に無駄があるってことなんじゃないかと思う
774デフォルトの名無しさん (ワッチョイ adda-t1Nk)
2020/11/07(土) 20:19:13.66ID:ufTrf7Gx0
職場によるだろ
775デフォルトの名無しさん (オッペケ Sr79-0aTM)
2020/11/08(日) 11:01:30.15ID:j+tA5MDCr
ipodを水槽にいれて泡がでたら無駄な隙間があるとか言う人いたな
776デフォルトの名無しさん (スッップ Sdb2-uxAk)
2020/11/08(日) 19:42:01.52ID:T0G2ZKHSd
>>775
それ、Walkman
777デフォルトの名無しさん (ワッチョイ 9202-B5oV)
2020/11/08(日) 21:47:30.07ID:EFkAxVvD0
ジョブズじゃなかったんだな
そしてウォークマンでもなくてハンディカムのようだ



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

Mathemstics?
781デフォルトの名無しさん (ワッチョイ 057f-TNmM)
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を用いてプログラムを教えてください
783デフォルトの名無しさん (スフッ Sd43-mYn1)
2020/11/11(水) 05:44:55.43ID:VHf4ZVdyd
>>782
まずVBEを起動するんだfor!
アルゴリズムを調べてコーディングするんだfor!
うまく動くかテストするんだfor!
784デフォルトの名無しさん (エムゾネ FF43-5DbH)
2020/11/11(水) 07:39:17.89ID:8Vps9xVZF
関数だけでできそうだけど
そういう課題なのか
785デフォルトの名無しさん (ワッチョイ 23da-Y0tO)
2020/11/11(水) 09:12:45.50ID:NzDVkmVe0
>>782
GCD関数使えよforw
786デフォルトの名無しさん (ワッチョイ 1dce-mYn1)
2020/11/11(水) 10:48:02.91ID:Dk9c6JTy0
worksheetfunction.gcd
787デフォルトの名無しさん (ワッチョイ ddda-Y0tO)
2020/11/11(水) 10:56:58.34ID:IB1GfatT0
>>782
最大公約数ってどうやって求めるか学校で習わなかった?
788デフォルトの名無しさん (スフッ Sd43-mYn1)
2020/11/11(水) 13:53:58.74ID:e2rtbcNbd
習った方法を使えっていう宿題でしょ
789デフォルトの名無しさん (ワッチョイ 2342-LfyP)
2020/11/11(水) 21:28:17.72ID:vTolfJQJ0
最大公約数ってなんだっけ
790デフォルトの名無しさん (ワッチョイ 1dce-mYn1)
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
791デフォルトの名無しさん (アークセー Sxc1-m4cz)
2020/11/12(木) 09:09:00.81ID:ST9GqaMQx
integerは内部的にlongで
792デフォルトの名無しさん (スップ Sd43-5DbH)
2020/11/12(木) 09:53:50.69ID:dLdd5MAGd
for文にするだけ時間の無駄でワロタ
793デフォルトの名無しさん (ワッチョイ ddda-Y0tO)
2020/11/12(木) 10:00:33.57ID:PR3AJwPG0
>>789
https://ent.smt.docomo.ne.jp/article/3770312
794デフォルトの名無しさん (ワッチョイ 1dce-mYn1)
2020/11/12(木) 10:05:34.74ID:D//YL0tK0
「最大公約数的に言ってもさあ、チーズはトマトと合わないだろ」
795デフォルトの名無しさん (ラクッペペ MM4b-JlI4)
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
796デフォルトの名無しさん (スププ Sd43-FnSz)
2020/11/12(木) 12:26:30.98ID:jhXNMBL9d
>>790
E1のセルに穴が開いてしまいそう
797デフォルトの名無しさん (オッペケ Src1-EYp4)
2020/11/12(木) 13:00:21.74ID:Xe+3GA0qr
セルに穴が開くは草
798デフォルトの名無しさん (アウアウカー Sab1-hiOc)
2020/11/12(木) 13:14:40.95ID:0RDn4/V3a
実行時エラー
E1 セルに穴が空きました。
799デフォルトの名無しさん (アウアウカー Sab1-u1Lj)
2020/11/12(木) 13:28:50.78ID:wc/lKUuCa
ソルバーって難しい?
800デフォルトの名無しさん (ワッチョイ ddda-Y0tO)
2020/11/13(金) 10:02:25.42ID:LV0NFHn10
ザッパーを256発当ててもバキュラは壊れません
801デフォルトの名無しさん (ワッチョイ cbda-WW/G)
2020/11/13(金) 20:33:56.91ID:O1u/8jBw0
VBAでシフトJISファイルをEBCDICに変換するマクロ作ってみたわ。
http://tamajimu.sytes.net/archives/911
VBScriptのやつはあったけどVBAのがなくて移植しようと思ったら手こずってしまった。
もっといいやり方あるのかな?
ネット上にはVBAのやつがなかったので自分のを公開する。
802デフォルトの名無しさん (ワッチョイ a5da-Y0tO)
2020/11/13(金) 22:57:57.42ID:BOglHVUm0
VBSで済むならVBSでいいんじゃない?
803デフォルトの名無しさん (ワッチョイ ddda-Y0tO)
2020/11/14(土) 11:53:56.66ID:vG/wLc460
>>801
wikiに詳しく書いてあるのを読んで目的の動作をしたならそれでいいと思う
804デフォルトの名無しさん (ワッチョイ 232f-g/iO)
2020/11/15(日) 12:06:41.61ID:2IkUI34w0
昔VBで自作した覚えがあるなぁ
VBSの移植で、どこにどう手こずったんだろ

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

例えば、最初は2018年の列が固定されていて、2019年の列までスクロールしたら、2018年の固定を解除して2019年の列を固定するように変えたいです。
807デフォルトの名無しさん (テテンテンテン MM8e-ppvH)
2020/11/18(水) 17:51:40.71ID:kO5sqIUGM
>>773
残業代欲しくてわざとチンタラ仕事したり自分にしかわからないようにするのをVBAでどーにかするのは無理だわな。
808デフォルトの名無しさん (オッペケ Srdf-E6ms)
2020/11/20(金) 19:59:25.75ID:eS+rN1Snr
shapes.count、chartobjects.countで数えても引っ掛からないグラフってどうしたら操作できますか?
そのグラフは隣シートを参照して自動的にできるものっぽいんですけど
809デフォルトの名無しさん (ワッチョイ a201-x7Pp)
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
810デフォルトの名無しさん (ワッチョイ a201-x7Pp)
2020/11/20(金) 20:13:05.23ID:4NTNOb8s0
全文 https://writening.net/page?2uBnnv
上げ直しました
811デフォルトの名無しさん (ワッチョイ a3e5-n9sk)
2020/11/20(金) 21:26:13.24ID:u+DVE/AE0
なぜ中途半端にあげるかね?
いちいちコマンドボタンやらテキストボックスやらデータなんて
作ってられるかっちゅうの
812デフォルトの名無しさん (アメ MM4b-+wWI)
2020/11/20(金) 21:38:29.90ID:YhokOqrJM
だっちゅーの!
813デフォルトの名無しさん (ワッチョイ 3b7c-i8bA)
2020/11/20(金) 22:41:32.48ID:D5mBkKKe0
いつもの人だからなぁ
814デフォルトの名無しさん (ワッチョイ e24f-hk+j)
2020/11/21(土) 02:17:04.68ID:Kfg2B/Kg0
一々ソース見てないけど
どうせ標準モジュールでちゃんとどのブック、どのシートと指定していないと決めつけていい?
815デフォルトの名無しさん (ワッチョイ a3da-b6az)
2020/11/21(土) 02:48:01.11ID:sGgCeBQZ0
>>809
貼り付けミスしなんじゃないかな
816デフォルトの名無しさん (ワッチョイ 62ad-U4cj)
2020/11/21(土) 06:39:44.77ID:Q7uFQ1A40
.Range(.Cells(略),.Cells(略))

Range(.Cells(略),.Cells(略))
817デフォルトの名無しさん (ブーイモ MM3e-hk+j)
2020/11/21(土) 13:47:07.56ID:NgQ98i5wM
Excel VBAでも証券会社(e立花証券)のAPIを操作できるのでしょうか?
ExcelのVBA以外やったことがなくpytonなどからAPIを動かしてる動画などはよく見かけるんですが
818デフォルトの名無しさん (ワッチョイ 068e-mFbw)
2020/11/21(土) 15:32:34.25ID:3xACDtrT0
またいつもの人か
819デフォルトの名無しさん (ワッチョイ 57da-3Yk1)
2020/11/21(土) 18:28:17.03ID:P16HPZ2I0
JSONって書いてあるから出来るんじゃないかと思ってググったら、
トレードステーションスレとマルチしてるのが見つかったわwwww
820デフォルトの名無しさん (ワントンキン MM92-C5XX)
2020/11/22(日) 02:36:45.00ID:xXy7jV1TM
人に聞きまくるだけのクズ
821デフォルトの名無しさん (ワッチョイ a3da-b6az)
2020/11/24(火) 19:01:29.52ID:IcwWHa740
クズは悪意のあるマクロとか平気で作るからな
822デフォルトの名無しさん (ワッチョイ d792-Y8s5)
2020/11/29(日) 03:39:08.87ID:zPhy879P0
ExcelでADOを使ってcsvを取り込む前に、

@csvの1行目を削除

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

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

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

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

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

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

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

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

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

やっぱ悪質かなぁ
上司と遺恨のあるまま異動だから悔しくて
848デフォルトの名無しさん (スフッ Sd94-3VNM)
2020/12/02(水) 23:32:51.81ID:sVdwSulSd
自分で作ったんなら削除して手作業でやるんですよと引き継ぎすれば良いやん
849デフォルトの名無しさん (ワッチョイ 1e01-Rdw1)
2020/12/02(水) 23:51:34.76ID:HxNBAEyx0
>>843
いや、入力は全てA2セルで固定して行い、A3セルに反映された値を消すことなく(A2に次の入力があれば、A3の値がA4とかに移動すりかして残るように)、連続入力がしたいです。
850デフォルトの名無しさん (ワッチョイ 06c9-jrSk)
2020/12/02(水) 23:59:29.48ID:gNwzbv2M0
>>847
その気持ちスゲー分かるわ
だって俺と考えてること一緒だもんw
851デフォルトの名無しさん (ワッチョイ d84b-/XVW)
2020/12/03(木) 00:00:39.50ID:txWN3KLI0
出来る
852デフォルトの名無しさん (ワッチョイ d4da-jrSk)
2020/12/03(木) 00:23:36.83ID:Bl+88s6V0
>>847
時限式のマクロウイルスみたいだな
853デフォルトの名無しさん (ワッチョイ 6cac-ByIG)
2020/12/03(木) 01:18:20.98ID:VMRuQ+pk0
2020年をマジックナンバーとして仕込む
特定のデータをマジックナンバーry
閏年を考慮しない
自作アドインを前提にする
外部VBAをローカル指定する
854デフォルトの名無しさん (ワッチョイ d992-Sv5x)
2020/12/03(木) 07:23:21.58ID:Fq6gB0XC0
会議を管理するデータベースを作成しています
テーブル1に日付、開始時間、会議名、条件があり、
条件がTrueの会議名を重複なくテーブル2に転記
その後テーブル1に新たな会議データが登録された場合も、
条件がTrueでテーブル2に該当がなければテーブル2に転記という流れ

↑こんな感じで良い方法ありますでしょうか
855デフォルトの名無しさん (テテンテンテン MM34-/XVW)
2020/12/03(木) 07:27:15.83ID:EYBx9umhM
その通り作ればいいじゃん
856デフォルトの名無しさん (ワッチョイ d4da-jrSk)
2020/12/03(木) 07:43:14.95ID:Bl+88s6V0
>>854
それを作るのがあなたの仕事では?
自力でできないならできる人に頼むしかないと思う
857デフォルトの名無しさん (アークセー Sx5f-0Hkv)
2020/12/03(木) 07:46:08.63ID:MQ9f0mIwx
作ってくれスレじゃねーからな
858デフォルトの名無しさん (ワッチョイ 9668-jrSk)
2020/12/03(木) 10:27:32.16ID:++Zqkwk80
>>849
合ってるやん

1回目(A2に)入力(したのを) A3に
2回目(A2に)入力(したのを) とりあえずA4に
A3〜A4を並び替え
3回目(A2に)入力(したのを) とりあえずA5に
A3〜A5を並び替え
859デフォルトの名無しさん (オッペケ Sr10-Rdw1)
2020/12/03(木) 10:29:56.68ID:OwpIF+c4r
>>858
あってますね。すいません、理解力が足りませんでした。
860デフォルトの名無しさん (ワッチョイ aa01-swuE)
2020/12/03(木) 11:38:03.37ID:7S9ZRXuG0
>>847
転職ならいいけど異動ならその上司が移動先の上司に電話して「なんか動かなくなったから彼1日借りるね」って言われて直させられるだけやん
しかも原因わかったら移動先の上司にチクられるだろうし
861847 (ブーイモ MMfd-gkou)
2020/12/03(木) 12:58:46.44ID:7SYgfNcjM
全然関わりない遠い部署に行くから
俺が完全に自作したものを皆が使い回してるだけだし無効化してやろうかなと、
そこに行ったら知らないで通して最悪本当に呼び出されたら

下のように感じでコメント入れとけば
最悪、立ち会いでモニタ見られながらやっても
確信犯なのは避けられるかなと…
このまま異動はどうも許せんくて
性格悪いのは自覚してる

'マクロを最新で運用するために必須
Private Sub Workbook_Open()

    Dim today As Date
 Dim exp_date As Date
 today = Date

    '日付制限して確実にメンテナンス
 'これは怠らないこと
 exp_date = "2021/2/20"
 '書類の改定の確認で定期的にメンテナンス が必要だから一度確実に止めてしっかり確認

     If Not today < exp_date Then
   ThisWorkbook.Close savechanges:=False
 End If
End Sub
862デフォルトの名無しさん (ワッチョイ 3a37-M2JV)
2020/12/03(木) 13:04:06.25ID:By9u7ZkT0
好きなようにしてここからも関わりのないどこか遠くへ行ってね。
ずーっと複数人がしてた忠告に耳もかさず我を通した結果であって
最後くらい責任持ってケツ捲くってね
863デフォルトの名無しさん (テテンテンテン MM34-/XVW)
2020/12/03(木) 13:04:24.24ID:eDye5v6CM
バレたら損害賠償モノだと思うし容易にバレると思うけど
864デフォルトの名無しさん (ワッチョイ 5c8e-YxR8)
2020/12/03(木) 13:10:53.58ID:AggFt+oH0
会社の時間を使って作った会社の資産であるのに個人のものと勘違いしてる馬鹿
865847 (ブーイモ MMfd-gkou)
2020/12/03(木) 13:54:32.21ID:7SYgfNcjM
家で作ったプロシージャをtxtでコピーして会社にメールで送ってハメてただけだから 
ほとんど個人の時間削ったものだけどね
ちょっとやってみるかなあ
866デフォルトの名無しさん (ワッチョイ e217-jrSk)
2020/12/03(木) 18:28:51.55ID:wVqnbq9D0
application.ontimeメソッドを使ってるのですが、

For i = 0 To Counter
Application.ontime StartTime + Interval * i, "renzoku"
Next i

これを停止させるのが難しそうだったので、
停止はさせないで、エクセルを閉じれば停止すると思ったのですが、
他のエクセルを開いた状態で、これを閉じたら、
またマクロが動き続けてしまいます、
ontimeメソッドを停止させるか、
マクロの書いてあるエクセルを閉じたら、
ほかのエクセルが開いていてもマクロを停止するようにはできないでしょうか?
867デフォルトの名無しさん (ワッチョイ ce3d-BjgX)
2020/12/03(木) 18:35:32.96ID:0OrJPKRU0
ワークブックのイベントで検索
868デフォルトの名無しさん (ワッチョイ acce-l3pW)
2020/12/03(木) 19:23:44.42ID:PVVpY3tx0
>>866
タイマーで設定した内容をどこかに覚えておいて、また停止させるマクロを動かす
面倒だけど、それ以外に方法はない
869デフォルトの名無しさん (ワッチョイ 7ab5-gkou)
2020/12/03(木) 19:41:46.88ID:is546aJe0
CSVのデータを開いて
全部その中で計算させて結果だけをマクロブックに取り込んでCSVを閉じる
初心者ながら成功した…うれしいわ
870デフォルトの名無しさん (ワッチョイ 6e01-zLCK)
2020/12/03(木) 21:55:24.24ID:anyYWQoy0
「慶應卒の学歴なんていらない」10代起業で成功する子の共通点
https://www.excite.co.jp/news/article/President_35457/
【アプリ開発で起業】必要な心得とマネタイズ方法のすべて
https://www.dreamgate.gr.jp/contents/column/application-development
学生起業家が開発、「人を軸に本を探すアプリ」とは?読書通じて「考える力」養って
https://newswitch.jp/p/20168
島田商高生がアプリ考案、発表 ICT起業家育成プログラム
https://www.at-s.com/news/article/local/central/730010.html
医師コンビが「治療用アプリ」で起業、禁煙に続き高血圧治療アプリを開発
https://diamond.jp/articles/-/229375
好きが高じて“カレー起業”、キャッシュレス決済アプリ「TOKYO MIX CURRY」の挑戦
https://diamond.jp/articles/-/215868
起業で成功するキャリア形成の仕方とは? 元プロサッカー選手で起業家の鈴木啓祐氏に聞いた
https://sogyotecho.jp/career-development/
年収3,000万超え!?個人開発で儲かっている海外コミュニティサイト5選!
https://note.com/taishikato/n/n7809a8ed3ffc
871デフォルトの名無しさん (オッペケ Sr10-k1J3)
2020/12/04(金) 00:52:07.07ID:rXUXpqvxr
ほとんどの解説サイトではcells("A1")と記載されてますが、cells (1,1)の方が分かりやすいし、vbaも組みやすいのに、なぜA1と言う記載なのでしょうか?
ここの人たちはどっちを使ってますか?
872デフォルトの名無しさん (スップ Sd9e-XP8H)
2020/12/04(金) 01:43:32.26ID:/uuA3VLbd
>>871
range(″A1″)ね
初心者向けにイメージ掴ませやすいような表記をしてるだけでは?
インクリメントとか考えるとcells使う方が確かに分かりやすいけどどういう訳か初心者はcellsを理解してくれない
873デフォルトの名無しさん (ワッチョイ 4602-lq0O)
2020/12/04(金) 01:44:00.17ID:xF22O8yc0
>>861
何もしないで放置しておけばいいよ
周囲の仕様変更で使い道なくなるだろ
後腐れなく異動しようぜ


VBS使うとウィンドウ非表示で目的のファイルの削除、その後にVBSファイル自身を削除ってのが出来るけど
そんな時限爆弾がスタートアップフォルダに入ってたなんてー(驚愕)
874デフォルトの名無しさん (アウアウウー Sa83-13fy)
2020/12/04(金) 01:44:10.31ID:oC1oU7iua
range("A1") と cells(1, 1) なら変わらないけど、k列とか言われるとね
固定された位置なら前者じゃないかしら
式の解析をする分だけ前者が遅い気がするけど
875デフォルトの名無しさん (アウアウウー Sa83-13fy)
2020/12/04(金) 01:45:24.52ID:oC1oU7iua
変数をつかうなら、cellsでね
876デフォルトの名無しさん (アウアウウー Sa83-13fy)
2020/12/04(金) 01:46:09.78ID:oC1oU7iua
行や列と指定に変数をつかうなら、です
877デフォルトの名無しさん (アウアウウー Sa83-13fy)
2020/12/04(金) 01:46:59.97ID:oC1oU7iua
A1にoffsetもありか
878デフォルトの名無しさん (オッペケ Sr5f-k1J3)
2020/12/04(金) 02:20:30.55ID:ifXtoFa7r
>>872
あ、rangeでした
普段使わないから間違えた
たまにしか使わないからサイト検索しながら組んでるんてすけど、分かりにくいからやめてほしい…
879デフォルトの名無しさん (ワッチョイ 5c8e-YxR8)
2020/12/04(金) 02:33:53.57ID:pAim30VZ0
>>878
いつものあいつ
880デフォルトの名無しさん (ワッチョイ d992-Sv5x)
2020/12/04(金) 06:54:12.47ID:Ao/7FxRU0
rangeは範囲を選択するときは便利だけど1つのセルならcellsだね
まあ範囲も動的ならrangeの中にcells使うけど
881デフォルトの名無しさん (テテンテンテン MM34-/XVW)
2020/12/04(金) 06:57:58.98ID:zpKrUFifM
rangeは名前付けてるセルを指定するときに使う
882デフォルトの名無しさん (ブーイモ MM5e-7jTP)
2020/12/04(金) 10:09:04.15ID:QvMd2aQjM
最初の頃はExcel上とかRangeだとA1(A列、1行)って列、行の順なのにCellsは行、列の順だから混乱した記憶がある
883デフォルトの名無しさん (ワッチョイ acce-l3pW)
2020/12/04(金) 12:34:38.31ID:j7DbuDw80
歴史的にはR1C1方式の方が先なんだけどな
884デフォルトの名無しさん (スププ Sd70-bTbe)
2020/12/04(金) 14:03:07.99ID:ESISvWhvd
>>830
入構2週間前からの体温を記録する資料の提出を入構2週間前切ってから要求された場合とかな
vbaじゃなくワークシート関数でできるけど
885デフォルトの名無しさん (JP 0H5e-SdFS)
2020/12/04(金) 14:09:34.65ID:UF2xE4cEH
ユーザーフォームで使用するSubやfunctionプロシージャって標準モジュールに書くのが一般的?
独学だからよく分かんないのよね
886デフォルトの名無しさん (JP 0H5e-SdFS)
2020/12/04(金) 14:11:25.58ID:UF2xE4cEH
↑ユーザーフォームで呼び出すの方が適切だったかな
887デフォルトの名無しさん (ブーイモ MM5e-7jTP)
2020/12/04(金) 15:05:45.91ID:QvMd2aQjM
個人的な好みだけどそのフォーム内でしか使わないならPrivate Subでサブルーチン作っちゃうかなぁ
クラスモジュールとフォームの両方から呼び出したいとかだと標準モジュールに書かざるを得ないけど
まぁそれにしてもプロシージャの頭にコメントで処理名、機能、引数、返り値、備考を書くようにはしてるからそこに何処から呼んでるかとかぐらいは書いておくけど
888デフォルトの名無しさん (ワンミングク MMb8-fAcm)
2020/12/04(金) 15:08:50.81ID:NJplFCDqM
どうでもいいんじゃない?
モジュール化云々が問題になるような粒度の責務をVBAに負わせている時点でシステム全体の設計を疑ったほうがいい
889デフォルトの名無しさん (JP 0H5e-SdFS)
2020/12/04(金) 15:29:16.67ID:UF2xE4cEH
>>887
確かにワークブックイベントでユーザーフォームのpublic Subが呼び出せなかったからどこに書いたらいいのか迷ってしまったんだ
クラスの理解はなかなか難しい
参考になりました!
890デフォルトの名無しさん (ワッチョイ 6e01-zLCK)
2020/12/04(金) 17:33:04.77ID:9AUT9QCq0
中学数学からはじめる微分積分

;t=4341s
中学数学からはじめる相対性理論

;t=10s
中学数学からはじめるAI(人工知能)のための数学入門


中学数学からはじめる三角関数

;t=3803s
891デフォルトの名無しさん (ワッチョイ c0e5-Q3BL)
2020/12/04(金) 22:21:10.08ID:+mljwe0d0
クラスで挫折したけどユーザー定義型で大満足です
892デフォルトの名無しさん (オイコラミネオ MMb6-gn3+)
2020/12/06(日) 04:50:03.54ID:hAx1GypdM
汎用性が高そうなのは標準モジュールにするぐらいの適当さでいいよ
VBAのメリットは手軽に書けるとこだし

それより出来るだけメソッドで処理を区切るといいよ
メソッド名で何してる部分なのか分かりやすくなるし、
変数の使い回しが避けられたり、コピペしやすくなったりメリットが多い
893デフォルトの名無しさん (ワッチョイ 38e6-xfUJ)
2020/12/06(日) 10:12:36.99ID:j9ZLT2ad0
必要なパラメータが少なければな
毎回フォームのValue読むとか最低だし
894デフォルトの名無しさん (ワッチョイ 7001-xV67)
2020/12/06(日) 12:03:36.23ID:/svRxsbg0
課題が集約されてるサイトとかありますか?
検索してもIf文を使ってなど基本問題しかなく、もっと実用的なツール作成などの課題が欲しいです
895デフォルトの名無しさん (ワッチョイ 7c7c-lq0O)
2020/12/06(日) 12:46:36.44ID:q9M2MiSg0
こんなツールが欲しいってのを作ればいいじゃん
896デフォルトの名無しさん (ワッチョイ d4da-jrSk)
2020/12/06(日) 17:40:13.12ID:hPxm9AMa0
>>894
課題が集約されたくなるBGM
2020/12/12(土) 20:52:45.95ID:FxA0JWZG0
自称高レベル君乙w
-curl
lud20241225192602ca
このスレへの固定リンク: http://5chb.net/r/tech/1598756127/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「Excel VBA 質問スレ Part68 YouTube動画>5本 ニコニコ動画>1本 ->画像>8枚 」を見た人も見ています:
Excel VBA 質問スレ Part67
Excel VBA 質問スレ Part50
Excel VBA 質問スレ Part74
Excel VBA 質問スレ Part65
Excel VBA 質問スレ Part77
Excel VBA 質問スレ Part70
Excel VBA 質問スレ Part75
Excel VBA 質問スレ Part72
Excel VBA 質問スレ Part69
Excel VBA 質問スレ Part73
Excel VBA 質問スレ Part66
Excel VBA 質問スレ Part71
Excel VBA 質問スレ Part49
Excel VBA 質問スレ Part57
Excel VBA 質問スレ Part63
Excel VBA 質問スレ Part51
Excel VBA 質問スレ Part60
Excel VBA 質問スレ Part58
Excel VBA 質問スレ Part64
Excel VBA 質問スレ Part61
Excel VBA 質問スレ Part79(ワッチョイあり)
Excel Python 質問スレ
Excel VBA 質問スレ Part81 (889)
Excel VBA 質問スレ Part80(ワッチョイあり) (87)
Excel ピボット Power Pivot DAX関数 質問スレ (13)
Access VBA 質問スレ Part1
Access VBA 質問スレ Part2
Counter-Strike: Global Offensive 質問スレ Part3
【FFBE】 FINAL FANTASY BRAVE EXVIUS 質問スレ6
【FFBE】 FINAL FANTASY BRAVE EXVIUS 質問スレ7 [無断転載禁止]
【PC】Terraria 質問スレ Part17
PSVita 質問スレ part1 [無断転載禁止]
au Xperia Z1 SOL23 質問スレ part3
Florensia -フローレンシア- 質問スレ Part1
Tasker 質問スレ 17
d払い 質問スレ Part1
【FF14】FINAL FANTASY XIV 質問スレ103
Fallout4 PC 質問スレ 25cap
ポケモンGo 質問スレ Lv.44
ポケモンGO 質問スレ Lv35
【FF14】FINAL FANTASY XIV 質問スレ106
ポケモンGO 質問スレ Lv17
ポケモンGo 質問スレ Lv.40
【FF14】FINAL FANTASY XIV 質問スレ124
ポケモンGo 質問スレ Lv.67
ポケモンGO 質問スレ Lv14
ポケモンGo 質問スレ Lv.59
ポケモンGo 質問スレ Lv.66
ポケモンGO 質問スレ Lv27
Warframe 質問スレ RANK32
【FF14】FINAL FANTASY XIV 質問スレ154
【FF14】FINAL FANTASY XIV 質問スレ174
【FF14】FINAL FANTASY XIV 質問スレ108
【FF14】FINAL FANTASY XIV 質問スレ161
ポケモンGo 質問スレ Lv.65
ポケモンGo 質問スレ Lv.64
ポケモンGo 質問スレ Lv.68
メギド72 質問スレ Part515
【FF14】FINAL FANTASY XIV 質問スレ146
【FF14】FINAL FANTASY XIV 質問スレ134
【FF14】FINAL FANTASY XIV 質問スレ135
【FF14】FINAL FANTASY XIV 質問スレ128
05:30:01 up 14 days, 15:54, 0 users, load average: 6.42, 6.66, 6.75

in 0.03387188911438 sec @0.03387188911438@0b7 on 122619