[過去ログ] Excel VBA 質問スレ Part68 (1002レス)
上下前次1-新
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
214: (ワッチョイ 3d3d-PnJR) 2020/09/10(木)23:43 ID:b8lNN7jK0(3/3) AAS
>>212
教える側の立場として教材として使うかどうか判断したんだから元のところに責任はねーだろ
なんか改悪もしてるし
215(1): (ワッチョイ 7dda-SnFp) 2020/09/10(木)23:50 ID:Q3JELDTy0(1) AAS
ループの外でウエイトしてたら速すぎてキラキラしないんじゃ…。
紙に書いてある方。
216(2): (ブーイモ MM8e-7JDO) 2020/09/10(木)23:52 ID:2cDIJpauM(1) AAS
>>200
こいつもかなり怪しいな
i, jを宣言してないし、変数をゼロクリアしてるのも謎
217: (アウアウウー Sa21-PnJR) 2020/09/10(木)23:53 ID:/1fuNzSOa(1) AAS
>>215
確かに言われてみれば
キラキラの意味
218: (ワッチョイ a95f-Sism) 2020/09/11(金)01:20 ID:66INGyZB0(1/2) AAS
>>216
本業が税理士なのに、詳しくもないことをひけらかすやつだから、税理士としてもいまひとつの癖のあるやつだと思う。
219: (ワッチョイ a95f-Sism) 2020/09/11(金)01:22 ID:66INGyZB0(2/2) AAS
>>216 彼も他人のパクリなのかもね
220: (ワントンキン MM7a-nV8z) 2020/09/11(金)01:27 ID:iTcJm+RBM(1) AAS
ゆとり世代の馬鹿に教えるゆとりかよ
221(1): (スップ Sd0a-4Ha4) 2020/09/11(金)08:33 ID:L6SxevYWd(1/2) AAS
>>146
そいつはバグだと思うよ。
Mougで質問してた人がいて、俺も試したけどTreeViewでのD&Dで座標がバグってる。
で、15ってのはそのバグを何とか実情に合わせたものだと思う。
俺もその時似たようなことやって15っていう数字には覚えがある。
222(1): (ブーイモ MM81-+eY2) 2020/09/11(金)09:37 ID:mn04Qg6+M(1) AAS
>>221
>>146 です。色々調べた結果、TreeViewのMouseMoveやMouseDownのイベントで渡される座標が他のフォームとは異なりピクセルで渡される事が原因でした。
なのでGetDesktopWindow,GetDC,GetDeviceCapを用いてDPIを取得し、
取得した値で1440(1440twips=1Inch)を割り、
その値をピクセル数に掛ける事でポイントでの換算に成功しました。
標準の設定ですとDPIが96になるそうなので1440/96で15、となるようです。
223(1): (ワッチョイ 6a2f-sa+Q) 2020/09/11(金)16:13 ID:qEgHhc430(1) AAS
VB6だとScreen.TwipsPerPixelXってあったんだがなあ
VBAだとPointsToScreenPixelsXとかあるなと思ってみてみたけど、これ、つねに72DPIで計算するっぽいな
224: (スップ Sdea-ah1O) 2020/09/11(金)18:44 ID:+9zmYtvxd(1) AAS
>>192
それだと1回めの選択範囲で動いて、移動したら動きますよね?
1回目の行や列を記憶させて2回目で比較する感じですか?
225: (スップ Sd0a-4Ha4) 2020/09/11(金)22:11 ID:L6SxevYWd(2/2) AAS
>>222
>>223
うん、その辺みんな知ってるけどTreeViewの問題って違ってたと思うんだが。
226: (ワッチョイ 7910-lSnV) 2020/09/12(土)08:12 ID:cGm6fMBf0(1) AAS
動的配列に値を追加していきたいのですが要素番号を0ではなく1から始める方法はありませんか?
227: (ワッチョイ ea01-/mq1) 2020/09/12(土)08:24 ID:OyGZa+nz0(1) AAS
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
省2
228: (ブーイモ MM8e-EZp5) 2020/09/12(土)08:28 ID:FkIM4E0+M(1) AAS
『[ VBA ]「Option Base 1」使うなよな!反論は聞かない!』
229: (ワッチョイ 7d01-XADe) 2020/09/12(土)15:06 ID:X8G1U5XY0(1) AAS
アレイリスト使うほうがかんたんじゃね?
230: (ワッチョイ 11da-pVuC) 2020/09/12(土)20:26 ID:+6u/uPRn0(1) AAS
先頭を1にするのはセンスないね
231(1): (オッペケ Srbd-o3hV) 2020/09/14(月)18:06 ID:YLQY1Qz5r(1/2) AAS
i++とか+=使えないのマジで不便だな
前置インクリメントもできないし一行でもend ifとかloop書かなきゃいかんしめんどくさくね?
この言語もうちょい進化しないの?
232(2): (ブーイモ MMc9-+eY2) 2020/09/14(月)18:10 ID:CnoY9xmOM(1) AAS
1行でEnd If書きたくないならThenの後に半角スペースいれたら改行しないで処理書いてみ
++とかは禿同
233(1): (オッペケ Srbd-o3hV) 2020/09/14(月)18:13 ID:YLQY1Qz5r(2/2) AAS
>>232
おおこんなことが、、、
ありがとう!
234: (ワッチョイ 668e-0TEw) 2020/09/14(月)18:15 ID:LbAMjRkX0(1/3) AAS
>>231
馬鹿は死ねよ
235: (ワッチョイ 7910-lSnV) 2020/09/14(月)19:51 ID:ZpzZ2vr50(1) AAS
ガイジ君ブチ切れw
236: (ワッチョイ 6a42-vvkI) 2020/09/14(月)19:57 ID:lPVfhwtb0(1) AAS
ざわ・・ざわ・・
237: (ワッチョイ 668e-0TEw) 2020/09/14(月)20:46 ID:LbAMjRkX0(2/3) AAS
+=使えるだろうが
238: (ワッチョイ 0a4b-FgeY) 2020/09/14(月)20:54 ID:P2Bbq2Qk0(1/2) AAS
使えません
239: (ワッチョイ 668e-0TEw) 2020/09/14(月)20:56 ID:LbAMjRkX0(3/3) AAS
あー、VB.Netスレだと思ってた。スマン、死んでくる。
240: (ワッチョイ 0a4b-FgeY) 2020/09/14(月)21:01 ID:P2Bbq2Qk0(2/2) AAS
逝かないで
241: (ササクッテロレ Spbd-jNRp) 2020/09/14(月)21:01 ID:K/D9SivKp(1) AAS
制御構造は、キーワードの選び方がやや独特だけど、基本的なものについては、概ね他の言語と同等のことはできると思う。
どちらかというと、変数の宣言・定義が一緒にできないとか、配列・コレクションの要素参照が角括弧でなく丸括弧だとか、プロシージャ呼び出しの丸括弧の要否とかの方が不便さを感じるかな。まぁ、これらも慣れと言われればそれまでだが。
242: (ワッチョイ a95f-hUiG) 2020/09/14(月)22:06 ID:9LhT2bwK0(1) AAS
gotoとラベルでできるっちゃあできるけどcontinueとbreakが欲しい
243: (ワッチョイ 393d-jNRp) 2020/09/14(月)22:20 ID:8aASiVNY0(1) AAS
breakは、一応Exit 〜が概ね対応しているのでは(While〜Wendでは使えないけど)?
脱出するループを明示的に指定するので、breakより便利な場合もごくたまにある。もっとも、二重のForループから抜ける場合などは結局GoToに頼ることになるので中途半端ではあるけど。
244: (ワッチョイ 397c-bL/7) 2020/09/14(月)23:27 ID:EMg7ooaX0(1) AAS
俺もたまにラベルでcontinueするけどめちゃくちゃ見栄え悪くて嫌
245: (スップ Sd0a-4Ha4) 2020/09/15(火)08:35 ID:Ny+/GOwEd(1) AAS
>>232
>>233
基本、それは使わないな。
読みやすさとか構造の分かり易さ優先。
勿論、時と場合による。
246: (ワッチョイ 11cc-QmsY) 2020/09/15(火)09:16 ID:Ty4jOAMY0(1/4) AAS
ユーザーフォームの2つリストボックスで選択された値を変数に代入する方法を教えてください
■Module1
Public str As String
■ThisWorkbook
Sub tes1()
UserForm1.Show vbModeless
Range("A1").Value = str
End Sub
Sub tes2()
Range("A2").Value = str
省1
247: (ワッチョイ 11cc-QmsY) 2020/09/15(火)09:17 ID:Ty4jOAMY0(2/4) AAS
■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
省6
248(1): (テテンテンテン MM3e-FgeY) 2020/09/15(火)09:33 ID:q5KWnXWXM(1/2) AAS
ボタン押してstrに代入するところModule1.strじゃないとダメなんじゃないの
249: 246 (ワッチョイ 11cc-QmsY) 2020/09/15(火)09:45 ID:Ty4jOAMY0(3/4) AAS
>>248
試しましたがだめでした
追記
ブックを開いたまま、tes1を2回目に実行するとA1には書き込みますが、
ブックを開いて、1回目のtes1実行ではA1には書き込まれないようです。
250(1): (テテンテンテン MM3e-FgeY) 2020/09/15(火)09:57 ID:q5KWnXWXM(2/2) AAS
モードレスだから
ボタン押した時にUnload UserForm1する前にModule1.tes2を呼び出さないとだ
Sub tes1()
UserForm1.Show vbModeless
End Sub
Sub tes2()
Range("A1").Value = str
Range("A2").Value = str
End Sub
251: 246 (ワッチョイ 11cc-QmsY) 2020/09/15(火)11:27 ID:Ty4jOAMY0(4/4) AAS
>>250
ありがとうございました。解決しました
252: (ワッチョイ 799c-m1Uj) 2020/09/15(火)18:56 ID:Nzz3069/0(1) AAS
AccessVBAを使用しているのですが、標準モジュールを変数に格納する方法がわかりません。
フォームコントロールの様に変数に入れて扱う方法はありませんでしょうか。
253(1): (ワッチョイ 6de5-Pwf7) 2020/09/15(火)19:29 ID:pZ4d9dfu0(1) AAS
ありません
254(1): (ワッチョイ 97da-GUw/) 2020/09/16(水)00:02 ID:chmz5kZM0(1/2) AAS
Sub test()
MsgBox Me.TextBox1.Value
Me.Name="a"
Me.Name="Sheet1"
End Sub
1回目の実行 OK
2回目の実行 MsgBoxでエラー
3回目の実行 OK
4回目の実行 MsgBoxでエラー
なんでやねん!
255(1): (ワッチョイ b7da-Cup9) 2020/09/16(水)01:13 ID:fUx+IXsk0(1) AAS
>>254
F8 でステップ実行してみ、あとエラーの内容くらい書いてもよくね?
256: (ワッチョイ f79c-b3rt) 2020/09/16(水)10:04 ID:HoY0/Pv80(1) AAS
>>253
ありがとうございます。
フォームを格納できるなら標準モジュールも出来るのかと思って質問しました。
標準モジュール内に書かれた関数の引数として参照先の標準モジュールを渡したかったのですが、別の方法を考えてみます。
257(2): (ワッチョイ bf90-W2Jb) 2020/09/16(水)18:43 ID:DJD3HHCL0(1) AAS
動画ファイル(拡張子 mp4,avi等々)の長さ(時間)をvbaで得ること出来ませんかね。
動画用のプログラムでは出ているから何らか手段はあると思うのだけど。
258: (ワンミングク MM7f-7bR7) 2020/09/16(水)19:23 ID:u7LyhgECM(1) AAS
>>257
できる
はい、次
259(1): (ワッチョイ b7e5-cmNC) 2020/09/16(水)19:55 ID:KOE6L/fW0(1) AAS
>>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 <> ""
省9
260(1): (ワッチョイ f7e6-W2Jb) 2020/09/16(水)20:18 ID:pG4LN1Ne0(1) AAS
手を抜くんじゃない!
まじめにヘッダー読み込んで解析しろよ
261: (ワッチョイ f77c-5MQP) 2020/09/16(水)20:21 ID:0zA9ovKo0(1/3) AAS
ファイルのプロパティからは取れない場合もあるよ
262: (ワッチョイ 97da-Cup9) 2020/09/16(水)21:31 ID:chmz5kZM0(2/2) AAS
>>255
今環境ないんだけど、
アプリケーションの定義何とかか、
インデックス何とかか、
オートメーション何とかのどれか。
何か変なものがSetされちゃってるのかと思ったけど、
MeじゃMeしかないよね?
263: (スップ Sdbf-k5ub) 2020/09/16(水)22:10 ID:jvSIB85Td(1) AAS
>>260
昔、解析したことがある。
aviとかは割と簡単だね。
264: (ワッチョイ 5701-Cup9) 2020/09/16(水)23:12 ID:dsrVDQ5Z0(1/2) AAS
すごく初歩的な質問ですみません
&演算子で文字列と数字をつないで文字列を作った時に
出来上がった文字列に""を付けなくていいのはなぜなのですか?
MsgBox "あいうえお" は""を付ける必要がある
MsgBox "A" & hoge は文字列扱いのはずなのに""を付けて MsgBox ""A" & hoge"のようにしなくていいのが解せません
265: (ワッチョイ f77c-5MQP) 2020/09/16(水)23:23 ID:0zA9ovKo0(2/3) AAS
&とhogeは文字列ではなく演算子と変数
266: (ワッチョイ f77c-5MQP) 2020/09/16(水)23:24 ID:0zA9ovKo0(3/3) AAS
""で囲ったら演算子でも変数でもないただの& hogeという文字列にしかならない
267(4): (ワッチョイ 5701-Cup9) 2020/09/16(水)23:48 ID:dsrVDQ5Z0(2/2) AAS
ありがとうございます
>""で囲ったら演算子でも変数でもないただの& hogeという文字列にしかならない
なるほど確かにです
では、&演算子でつなぐと文字列扱いになるという認識が間違っているのでしょうか?
それとも文字列扱いにはなるけど上記の理由から外すことになっているという感じでしょうか?
268: (ワッチョイ 973d-lnJt) 2020/09/17(木)00:09 ID:pIQJoJyT0(1/2) AAS
>>267
その場合、
hogeは文字列として認識してください
という命令を出している
つまり
文字列(”A”) と(&) 文字列(hogeという変数に入っている文字列) を繋ぎ合わせて表示してください
というのが”A” & hoge
269: (ワッチョイ bff7-Rz2h) 2020/09/17(木)00:09 ID:MJVBSNKC0(1) AAS
ダブルクォートには引数の囲むような意味はない
引数を囲む記号は丸括弧になる
たとえば X = msgbox("a" & hoge) みたいな書き方になる
返り値をとらない場合は()が省略可能ってだけ
270: (ワッチョイ 775f-gF9/) 2020/09/17(木)00:11 ID:D84tTl8o0(1) AAS
リテラルと変数について調べると理解できるかも
271: (ワッチョイ f77c-5MQP) 2020/09/17(木)00:13 ID:ncMNPksn0(1/3) AAS
>>267
hoteの型は何なんだ
272: (ワッチョイ 9f2f-qc2B) 2020/09/17(木)00:21 ID:0EHVBisp0(1/2) AAS
値に型ってのがあるのを理解しよう
表示したいのは、"A"という値と変数hogeの値(を連結したもの)だろ
&演算子でつなぐと文字列扱いになるってのは、演算対象を文字列に変換して結合するってこと
この場合、hogeの値が文字列以外でも文字列に変換して評価するってことだ
基本を理解したいなら、なんの説明もなく&でつなぐと文字列扱いとかいう教え方するところは避けたほうが良いかな
とりあえず動けばいいってならまあすきにすればいいけど
273: (ワッチョイ f73d-luBG) 2020/09/17(木)02:20 ID:c2bYLY/G0(1) AAS
MsgBoxの第1引数は文字列型の値である必要があり、文字列型の値を表す式として典型的なのは、?文字列リテラルか、?文字列型の値が格納されている変数(文字列型変数)の参照。二重引用符は、文字列リテラルの表記方法に過ぎない。
&演算子は、本来、2つの文字列型の値を被演算数とする演算子だが、被演算数が文字列型の値と数値型の値であるような場合等は、適宜数値の方を文字列型の値に自動変換した上で本来の演算を行う……ということかと。重複になるが。
274: (ワッチョイ b7da-Cup9) 2020/09/17(木)04:55 ID:PzgKRL2g0(1) AAS
数値を文字に変換するなら CSTR がある
275: (スップ Sdbf-k5ub) 2020/09/17(木)07:47 ID:iixTl117d(1/4) AAS
>>267
法則を暗記するからそうなる。
法則の仕組みを覚えるんだ。
276(1): (ワッチョイ b7cc-lMKa) 2020/09/17(木)11:44 ID:1/N+zsdG0(1/2) AAS
同じフォルダにある"〇〇"というCSVを開いて、そのシートの最終行を取得したいのですが
「インデックスが有効範囲にありません」というメッセージでとまります
Sub salegrp()
Workbooks.Open ThisWorkbook.Path & "\〇〇", ReadOnly:=False
MsgBox Sheets("〇〇").Cells(Rows.Count, 1).End(xlUp).Row
End Sub
他のブックの最終行を表示する方法を教えてください
(A列には最終行まで値が入っています)
277(1): (テテンテンテン MM8f-V038) 2020/09/17(木)11:54 ID:DZPRMbPmM(1) AAS
csv開いたてからActiveWork ook.ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Rowすれば
278: (ワッチョイ b7ce-W2Jb) 2020/09/17(木)12:14 ID:qGYgSA/Y0(1/2) AAS
>>276
必要なのは最終行に入ってるデータの内容?行数を知りたいだけ?
全データをワークシートに入れる必要がなければテキストファイルとして開いた方が早いかも
279(2): (ラクッペペ MM8f-gT2D) 2020/09/17(木)12:24 ID:D1QZID39M(1) AAS
Workbooks.Openの返り値をとってそれを操作する
なおRows.Countも省略せずにシート指定する
280: (ワッチョイ b7cc-lMKa) 2020/09/17(木)13:03 ID:1/N+zsdG0(2/2) AAS
>>277
できました。
281: (ワッチョイ 9f01-z5Vf) 2020/09/17(木)16:10 ID:mN4YvgPv0(1/2) AAS
>>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 ID:mN4YvgPv0(2/2) AAS
>>279
↑
VBA続けるつもりならこっちでやれるようにした方が
283(2): (ワッチョイ 9f02-5MQP) 2020/09/17(木)16:44 ID:T9Rqn+gv0(1) AAS
他のbookやsheet絡むととたんに冗長になるんだよなぁ
Range(.Cell(a,b))とか .Cellの前にもブックやシート指定しないとならんし
284: (ワッチョイ 973d-lnJt) 2020/09/17(木)17:02 ID:pIQJoJyT0(2/2) AAS
>>283
むしろ1シートだけしか使わない場合でも、実効中に人がシート変更とかしても大丈夫なようにブック明記した方がいい
285(1): (アウアウカー Sa2b-gF9/) 2020/09/17(木)17:07 ID:N0wmq1hya(1) AAS
ブックとシート明示してworksheetオブジェクトの変数作ってそれ経由でアクセスさせるのが鉄板かね〜
286(2): (ワッチョイ 9fad-dpHK) 2020/09/17(木)17:41 ID:dgD4TP5z0(1/2) AAS
csvの最終行だったらテキスト形式でEOFまで吸い上げてってやった方が動作時間的には良さそうな気がした
287: (テテンテンテン MM8f-V038) 2020/09/17(木)18:04 ID:aPn4iHhdM(1) AAS
CSVの読み込みをしっかりやるならPowerQuery使おうみたいな話もあったりなかったり
288(1): (ワッチョイ 9f01-RDjc) 2020/09/17(木)18:51 ID:1zO/WKqm0(1) AAS
>>285
てか、基本でしょ
289: (アウアウウー Sa5b-lnJt) 2020/09/17(木)18:59 ID:DNVG/ozSa(1) AAS
>>288
鉄板と基本の違い教えて
290: (ワッチョイ f77c-5MQP) 2020/09/17(木)19:13 ID:ncMNPksn0(2/3) AAS
シート明示してないコードほんと多い
よくやるわ
291: (スップ Sdbf-k5ub) 2020/09/17(木)19:55 ID:iixTl117d(2/4) AAS
>>279
俺なんて、必ずBookから書くぜ。
WithとSetを多用することになるが。
292: (スップ Sdbf-k5ub) 2020/09/17(木)19:56 ID:iixTl117d(3/4) AAS
>>283
その例ならRangeの前にも"."が必要。
293: (スップ Sdbf-k5ub) 2020/09/17(木)19:58 ID:iixTl117d(4/4) AAS
>>286
うん、CSVはLine Inputで1行ずつ+Splitで分解にすることが多い。
294(1): (ワッチョイ 9fad-dpHK) 2020/09/17(木)20:23 ID:dgD4TP5z0(2/2) AAS
VBA覚えたての頃はいちいちアクティブシート切り替えてシート指定省いてたけど
Sheet1.Cells(a,b)って書く癖は絶対つけといた方が良いって今は思ってる
可読性が段違いだもん
暫く同じシートのセルをいじくりたおすならWithで目立つように囲ってやりゃあ良いし
295: (ワッチョイ 9f2f-qc2B) 2020/09/17(木)20:32 ID:0EHVBisp0(2/2) AAS
>>286
項目中に改行含むcsvとかも存在するからなぁ
汎用的なcsvを真面目にパースするとかなり面倒
そしてEXCELは最強のCSVパーサ(笑)
296: (ワッチョイ 9fb5-mxOi) 2020/09/17(木)20:38 ID:23KXp+DW0(1) AAS
なんつーレベルの高い話だよ
初心者が覚えようと思ってどんなもんかとスレを見たのが大間違いか
297: (ワッチョイ f77c-5MQP) 2020/09/17(木)21:39 ID:ncMNPksn0(3/3) AAS
この先いつまで初心者を名乗るつもりか知らないがいちいちアピールしない方がいいよ
298: (ワッチョイ 97da-Cup9) 2020/09/17(木)21:45 ID:DqUtQRPA0(1) AAS
>>294
可読性以前に怖いんだよな。
アクティブシートが切り替わっちゃったらどうしようって。
実行中の操作とかで。
DoEvents挟まなきゃ絶対切り替わらないってならいいんだけど。
299: (ワッチョイ b7ce-W2Jb) 2020/09/17(木)22:36 ID:qGYgSA/Y0(2/2) AAS
可読性も考慮するならオブジェクト変数に入れたりWithで囲んだり、頻出する構文なら別Functionに飛ばすという手もある
めんどくさいけどバグを出すよりはマシ
300: (ワッチョイ 9f2f-qc2B) 2020/09/18(金)01:50 ID:V3SekzLi0(1/3) AAS
そもそもオブジェクト指定のないCellsがいつでもActiveSheetを参照すると思うなよ
シートモジュールに書いたCellsはそのシートを参照するんだぜ
301(1): (JP 0Hdf-iZ3/) 2020/09/18(金)10:32 ID:68qBgcmgH(1) AAS
VBAというよりVBSかもしれませんが
いろいろ試したのですが正規表現の(肯|否)定(先|後)読みに対応していないようなのですが認識に相違ありませんか?
また、擬似的に(肯|否)定(先|後)読みに対応させたコードを誰か公開していませんか?
302(1): (ワッチョイ b7ce-W2Jb) 2020/09/18(金)14:09 ID:1dkG1MHP0(1/2) AAS
>>301
多くのアプリで、正規表現はWindowsに標準で内蔵されてるDLLを使ってる
独自の仕様やバグがあるのは既知だから、それが気に入らない時は別のライブラリを見つけてくるしかない
303: (ワッチョイ 9f4f-aBI4) 2020/09/18(金)17:55 ID:vGT+RG4a0(1/3) AAS
VBSはスレ違いになるんだろうけどさー
今、仕事でそれで書かれたコード見てるんだよねー
VB.NetからVBAに戻るとそのインテリセンスの効かなさに辟易するけど
VBSで書かれたものはその比じゃないねー
参照もなーんも効かないところに持ってきて
インデントも正しく書いてないし
綺麗にスパゲティーコードになってるの見ると
殺意を覚えるわー
まぁVBS自体は同じファイルの中に
複数のクラスが書けたりするところは
省1
304: (アウアウウー Sa5b-l0r7) 2020/09/18(金)20:53 ID:Ej6zlwK4a(1) AAS
見てるだけで殺意はないだろ
自分で分かりやすく直していけばいい
305(1): (アウアウエー Sadf-vKz6) 2020/09/18(金)20:57 ID:E6dIN4Hja(1) AAS
どんな人が書いたコードでも理解できるのがプロ
306(5): (ワッチョイ b7cc-lMKa) 2020/09/18(金)20:57 ID:nL5nIenz0(1) AAS
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 ID:vGT+RG4a0(2/3) AAS
>>306
最初date型で取ってやれば確か年や月や日を取る関数が有ったと思うよー
じゃあねー
308: (JP 0Hdf-iZ3/) 2020/09/18(金)21:05 ID:3fDNLBctH(1) AAS
>>302
私が気に入りそうなものはありますか?
肯定先読み肯定後読み以上に高度な機能は求めていないのですが
309: (ワッチョイ 9f4f-aBI4) 2020/09/18(金)21:10 ID:vGT+RG4a0(3/3) AAS
ていうかそうしてんじゃん
出力先のセルの書式はどうなってるの?
コードを見た感じじゃ少なくとも3列目は
日付型みたいだけど
310: (ワッチョイ f77c-5MQP) 2020/09/18(金)21:14 ID:Kp8J/oyZ0(1/2) AAS
>>306
year、month、dayの引数のdtの中身は2007/3/26ではない
311: (ワッチョイ f77c-5MQP) 2020/09/18(金)21:16 ID:Kp8J/oyZ0(2/2) AAS
または3、4、5列目の表示形式をそれぞれy、m、dにしてる
312: (ワッチョイ 9fad-dpHK) 2020/09/18(金)21:29 ID:LhaPjq300(1) AAS
>>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(1): (ワッチョイ b7ce-W2Jb) 2020/09/18(金)22:40 ID:1dkG1MHP0(2/2) AAS
>>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
上下前次1-新書関写板覧索設栞歴
あと 689 レスあります
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.039s