1 名前:デフォルトの名無しさん mailto:sage [2022/05/01(日) 02:23:41.78 ID:2t63WK/jM.net] !extend:checked:vvvvv:1000:512 !extend:checked:vvvvv:1000:512 ↑2行に減ってるけど、同じ内容を3行に増やして貼り付けること ExcelのVBAに関する質問スレ コード書き込みや作成依頼もOK 次スレは>>980 が立てること 無理なら細かく安価指定 ※前スレ Excel VBA 質問スレ Part75 https://mevius.5ch.net/test/read.cgi/tech/1644384272/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
401 名前:、頭に直接この掃除機をかけた方が早いんじゃないかと思ってしまう程です。 [] [ここ壊れてます]
402 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 02:36:31.18 ID:3hgKnM3d0.net] ち○毛や脇の下まで薄くなった俺は??
403 名前:デフォルトの名無しさん [2022/06/08(水) 07:20:52.11 ID:fAskgOC50.net] ここはHGのあつまりでつね
404 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 08:24:09.17 ID:0P23HUlSM.net] MGかPGが良いなぁ
405 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 09:48:44.91 ID:pnJSpG8Od.net] はげもげぱげ
406 名前:228 mailto:sage [2022/06/08(水) 17:24:59.25 ID:C2b/Gc96H.net] 以前こちらでお世話になったものですが、うまくファイルに転記できないためまたお力をお借りしにきました。。 2つのブックがあって、別のブックにエリアごと(B列で判定)のデータをぺたぺた貼って保存すればOKなんですが 元データが10万行くらいあって、なぜかブックはエリアごとに保存は出来るのですが、あるはずの半分くらいのデータしかコピペできてないのです。 コピペで切り貼りしたコードで見づらいくて申し訳ありませんが、おかしいところがあれば教えていただけないでしょうか??(H列が最右の列でTOTALにあたります) ■データのイメージ 延々と下に10万行くらいあります。 A列 B列 C列 D列 TOTAL 業態合算 全国 その他 OTHERS オキナワモ モリナガヨ-ゴ P473ML 4960405664923 Distribution (PCW; Sales value) 0.01 業態合算 全国 その他 OTHERS オキナワモ モリナガヨ-ゴ P473ML 4960405664923 Market size (Value) 339,651.60 業態合算 全国 その他 OTHERS オキナワモ モリナガヨ-ゴ P473ML 4960405664923 Sales per store selling item (Unit) x1,000 5,744.20 業態合算 全国 その他 OTHERS オキナワモ モリナガヨ-ゴ P473ML 4960405664923 Sales per store selling item (Value) x1,000 573,148.54 業態合算 全国 その他 OTHERS オキナワモ モリナガヨ-ゴ P946ML 4960405664947 Distribution (PCW; Sales value) 0.05 業態合算 全国 その他 OTHERS オキナワモ モリナガヨ-ゴ P946ML 4960405664947 Market size (Value) 697,424.54 業態合算 全国 その他 OTHERS オキナワモ モリナガヨ-ゴ P946ML 4960405664947 Sales per store selling item (Unit) x1,000 6,850.74 業態合算 全国 その他 OTHERS オキナワモ モリナガヨ-ゴ P946ML 4960405664947 Sales per store selling item (Value) x1,000 871,208.64 業態合算 東海 大容量 PKS SOYBIO ソイビオトウニユウY プレ-ンムトウKP400 4589850822179 Distribution (PCW; Sales value) 41.70 業態合算 関東 大容量 PKS SOYBIO ソイビオトウニユウY プレ-ンムトウKP400 4589850822179 Market size (Value) 197,839,014.22
407 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 17:26:49.54 ID:C2b/Gc96H.net] コードです 長いので分けます Sub Export_ExcelFile() '変数の定義 Dim Wb1 As Worksheet, Wb2 As Workbook, FileNam As String Dim xPath As String Dim key As String Dim i As Integer Dim Sh1 As Worksheet Dim Sh2 As Worksheet Application.ScreenUpdating = False 'ワークシートを指定する Set Sh1 = ThisWorkbook.Worksheets("Sheet1") 'データの始まり2行目を指定 Dim start As Long start = 2 Set Wb1 = ActiveSheet '元シートをActiveSheetにセットする '出力先のパスを指定 With ActiveWorkbook xPath = .Path & "\" 'ファイルが置いてあるフォルダからのパスを指定 End With
408 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 17:27:20.86 ID:C2b/Gc96H.net] 'エリアが空欄の位置までループ Do While Sh1.Cells(start, 2) <> "" Set Wb2 = Workbooks.Add ' 新規ブック作成 Set Sh2 = Wb2.Worksheets("Sheet1") '新規ブックのシートを指定 'ファイル名に付ける日付を取得 Dim strDate As String strDate = DateSerial(Year(Now), Month(Now), Day(Now)) strDate = Format(strDate, "yyyymmdd") 'Excelファイル出力 FileNam = xPath & Sh1.Cells(start, 2).Value & "" & strDate & ".xlsx" 'コピー元の最初のエリア名を取得 key = Sh1.Cells(start, 2).Value '同じエリア名が続く間はループ Sh1.Activate Do While Sh1.Cells(start, 2).Value = key 'データ行に色をつける Cells(start, 7).Resize(1, 1).Interior.Color = RGB(255, 0, 0) 'Cells(i, 7).Resize(1, 1).Interior.Color = RGB(255, 0, 0) i = i + 1 'コピー先の行を一つ下にずらす。 start = start + 1 'コピー元のエリア名行を一つ下にずらす。 Loop
409 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 17:27:41.62 ID:C2b/Gc96H.net] Dim mySheet As Worksheet: Set mySheet = ActiveSheet '赤く塗られた行をソートしてコピペする Dim myRange As Range: Set myRange = mySheet.Range("A1").CurrentRegion myRange.AutoFilter Field:=7, Criteria1:=RGB(255, 0 _ , 0), Operator:=xlFilterCellColor myRange.SpecialCells(xlCellTypeVisible).Copy Sh2.Activate Range("A1").Select ActiveSheet.Paste Sh2.Range("G:G").Interior.Pattern = xlNone mySheet.ShowAllData Sh1.Range("G:G").Interior.Pattern = xlNone '分割したファイルを保存して閉じる Wb2.SaveAs Filename:=FileNam ' 同一フォルダに保存して閉じる Wb2.Close '分割ファイルのブックを解放 Set Wb2 = Nothing Loop Application.ScreenUpdating = True MsgBox "終わったよ" End Sub
410 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 17:31:00.27 ID:C2b/Gc96H.net] 元データを少なくして全部で50行くらいにしたら上手くファイルを分けて保存出来てたんですが、、、 もし問題点がお分かりになる方いらっしゃったらよろしくお願いしたいです(>_<)
411 名前:デフォルトの名無しさん [2022/06/08(水) 18:24:26.53 ID:38a4SNrC0.net] integerの最大っていくつまでだっけ?
412 名前:デフォルトの名無しさん [2022/06/08(水) 18:40:07.58 ID:lFvBESVva.net] 2 ^ 15 - 1 = 32767 じゃね
413 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 18:40:44.71 ID:mwMQbcQT0.net] ググれよ
414 名前:デフォルトの名無しさん (ワッチョイ c1da-/lmG) mailto:sage [2022/06/08(水) 19:08:37 ID:/v6Td7Qv0.net] >>396 面白いんですけど何で商品の話ですか
415 名前:デフォルトの名無しさん (アウアウウー Sa11-fRoS) [2022/06/08(水) 19:25:08 ID:2MMAQscUa.net] 32bitのexcelと64bitのexcelでintの範囲違うんだろうか (もちろんOSの話ではない)
416 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 19:34:40.24 ID:38a4SNrC0.net] >i = i + 1 'コピー先の行を一つ下にずらす。 ってあるから貼り付け先が integer 超えたらだめじゃねって思った
417 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 19:43:22.59 ID:60yE+Uw7d.net] Dim 残りの髪の毛 As byte Dim 抜け毛 As LongLong あとよろしく ↓
418 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 19:45:48.83 ID:C2b/Gc96H.net] >>411 なるほど!どうりで最後まで貼られてなかったんだ(´;ω;`)早速ありがとうございます。 ちょっと自分でやり直してみます!!m(__)m
419 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 19:46:53.74 ID:C2b/Gc96H.net] >>412 流れぶった切ってゴメンなさい でも考えすぎてハゲそうな勢いでした。。頭悪くてイヤになります。。
420 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 20:12:39.32 ID:C2b/Gc96H.net] ダメだ、integerをlongに替えてやってみたけど やはり半分以下しか貼られませんでした。 もう少し頑張ってみます
421 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 20:25:07.29 ID:C2b/Gc96H.net] 自己解決しました。1つのエリアの塊が飛び飛びになってたので 同じエリアのブック内で上書きされてたみたいです。 でも皆さんのおかげで解決出来ました。ありがとうございました! またハゲそうになったらこちらに伺いたいです。。懲りずによろしくお願いいたしますm(__)m
422 名前:デフォルトの名無しさん mailto:sage [2022/06/08(水) 22:42:41.32 ID:3hgKnM3d0.net] また毛
423 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 00:00:12.33 ID:XIUzPNKLM.net] ※よろず~ニュース 波平さん銅像に髪の毛戻る 引き抜かれてから5日の〝スピード植毛〟 https://yorozoonews.jp/article/14640597 杉田 康人 https://public.potaufeu.asahi.com/dd83-p/picture/26885823/46ac4b106abdd0873e85fa50ea6f8cbb_640px.jpg 東京都世田谷区の桜新町商店街にある人気アニメ「サザエさん」一家の銅像から引き抜かれていた髪の毛が8日、復活した。同商店街によると3日朝、波平さんのトレードマークとなっている貴重な1本毛が抜かれているのが見つかった。ワカメちゃんの頭頂部から跳ね出した〝アホ毛〟3本もなくなっていたが、商店街の依頼を受けた業者が8日午後までに修復した。 サザエさん一家は、桜新町に住んでいる設定。作者の長谷川町子氏の美術館・記念館おひざ元の桜新町商店街は、作品ゆかりのストリートとして知られる。銅像は2012年(平成24)に建立したが、商店街の担当者によると波平さんはこれまでに6度、毛を引き抜かれる憂き目に遭っている。ワカメちゃんの髪が抜かれるのは初だという。 銅像の髪の毛は、針金にビニールをコーティングしたもの。(略) ※省略していますので全文はソース元を参照して下さい。
424 名前:デフォルトの名無しさん (ブーイモ MM39-M86+) [2022/06/09(木) 04:46:01 ID:CxlByAWLM.net] このハゲ / ̄ ̄ ̄ ̄ ̄ ̄\ / \ / ヽ l:::::::::. | |:::::::::: (●) (●) | |::::::::::::::::: \___/ | ヽ:::::::::::::::::::. \/ ノ
425 名前:デフォルトの名無しさん [2022/06/09(木) 19:07:14.80 ID:cD/wL2EQ0.net] いや お前らハゲ散らかし過ぎだろ
426 名前:デフォルトの名無しさん [2022/06/09(木) 21:45:50.80 ID:WYCVR9XP0.net] >>420 そんなつもりは毛頭ございません
427 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 22:38:52.28 ID:pASwhhxq0.net] パソコンばっかやっているから禿るんだわ いい加減気がつけよ
428 名前:デフォルトの名無しさん mailto:sage [2022/06/09(木) 22:48:34.88 ID:/RbqsnKRd.net] 禿げてる奴がパソコンばっかやるようになるんだわ 人生って残酷だよな
429 名前:デフォルトの名無しさん [2022/06/10(金) 07:26:23.24 ID:1o37Jrb90.net] もうしわ毛ありません
430 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 07:28:26.18 ID:rEbuXRdM0.net] 真面目に話すと、パソコン作業は頭使うしストレスの負荷が高いから禿やすいとは聞いた。
431 名前:デフォルトの名無しさん (ワッチョイ 1abd-+jz7) mailto:sage [2022/06/10(金) 08:55:47 ID:kCKMlptW0.net] 人間関係の煩わしさでストレスの負荷が多い場合が多いから、パソコン作業はハゲにくいらしいよ
432 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 12:04:33.87 ID:F7hdpVFcd.net] パソコンからは強い電磁波が出てるから、パソコン作業は禿げやすいとは聞いた。
433 名前:デフォルトの名無しさん [2022/06/10(金) 12:51:05.36 ID:zP3+9Ywoa.net] ハゲ対策の情報もいっぱい持ってるから予防できる
434 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 13:28:56.18 ID:dcEjX7ueM.net] 男性ホルモンの優位でハゲるから(*ノω・*)テヘ
435 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 13:52:15.99 ID:6StqYoESd.net] パソコンの前でやる事と言ったらそれしか無いからな
436 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 18:44:17.05 ID:rEbuXRdM0.net] 男性ホルモンが盛んなのですから禿る
437 名前:デフォルトの名無しさん [2022/06/10(金) 22:17:29.28 ID:e4qm213id.net] このスレで質問するレベルの馬鹿が作ったExcel表のせいで葛飾区の保育所は大騒ぎ
438 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 22:31:48.31 ID:lQlywAWy0.net] エクセル2016で複数のbook開いてると単体で開いてるときよりもずっとVBAの動作が遅くなるんだけど 解決策知ってる人いる?
439 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 22:34:53.56 ID:/aCQrqDp0.net] 複数開かなきゃいいんじゃね
440 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 23:02:11.31 ID:yoZYMWv5H.net] >>432 (´;ω;`)
441 名前:デフォルトの名無しさん mailto:sage [2022/06/10(金) 23:11:39.01 ID:rEbuXRdM0.net] >>432 え?詳しく ググっても詳細出てこない。 禿そうだわ
442 名前:デフォルトの名無しさん (ワッチョイ 86da-fOeb) mailto:sage [2022/06/10(金) 23:14:29 ID:rEbuXRdM0.net] あ、葛飾区のニュース出て来た 表計算ソフト式に誤りとか最低だろう。 テストしなかったのかな?
443 名前:デフォルトの名無しさん (ブーイモ MM71-Rebr) mailto:sage [2022/06/10(金) 23:17:41 ID:Vb4kLAL3M.net] >>436 検索初心者か? 普通にぐぐって一発で出るんだが https://xtech.nikkei.com/atcl/nxt/news/18/13050/
444 名前:デフォルトの名無しさん (ワッチョイ 5d93-QMxd) mailto:sage [2022/06/10(金) 23:24:30 ID:bPqrOIr80.net] どーせsubtotalじゃなくsumで小計出してたせいで合計が2重計上されたとかじゃねーの
445 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 00:03:58.02 ID:peHZyvXnd.net] Dick A as strong Dick B as strong If A > B then A = Tachi B = Uke End if A => B
446 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 00:50:08.66 ID:c8NiZZbH0.net] >>440 ツッコミどころ満載やな
447 名前:デフォルトの名無しさん [2022/06/11(土) 09:42:09.94 ID:k8BssVI/0.net] A もB も 強そうな型だなオイ
448 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 11:19:57.24 ID:zJAfd1A70.net] ストロングチューハイはやばい酔い方する
449 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 12:41:06.40 ID:CM4vZAaMM.net] A = Bだとどうなるの?
450 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 14:14:10.27 ID:ZxVNHiJ20.net] なんで竿がデカい方が攻めなんだよ はっ倒すぞ
451 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 14:27:57.92 ID:8O7zsVZWM.net] どこにも竿の大きさなんて書いてない クラス定義まで見ない限り、何を比較してるのか、このコードだけではわからない さては思い込みでコードを書いてバグを発生させちゃうタイプだな?
452 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 15:03:55.80 ID:zJAfd1A70.net] 分かってないだけでしょ
453 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 16:08:12.40 ID:ZxVNHiJ20.net] If Dick(竿)A>DickB Then A=タチって書いてあんじゃんか
454 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 16:33:22.04 ID:k7wiIunZM.net] Strongは精力じゃね? 大きさならSizeとかLengthとか
455 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 18:37:34.42 ID:4UGI/r2E0.net] 禿は精力が強い
456 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 19:01:23.35 ID:qcSYfg6i0.net] B = Not(A) じゃね
457 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 20:12:32.64 ID:VlCDkB2oM.net] DickクラスのSizeプロパティは読み取り専用 Electプロパティは代入可能 Cumメソッドは1日5回以上使うと例外発生
458 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 21:54:22.38 ID:Ejve8RvI0.net] ShapeとTextBoxをマクロで作ったのを 別のBookのSheetにコピペした時のフォントは マクロ側とコピペ側だとどちらに依存しますか?
459 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 22:02:30.68 ID:TK5b+qDd0.net] 聞く前にやったほうが早いだろw
460 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 22:04:32.17 ID:XvS1eUBu0.net] 質問失礼いたします。 ユーザー定義型に以下のようなツリー型になる感じの物をPublicで宣言してて クラスモジュールにユーザー定義型の変数を作っているのですが、 プロパティの作り方で悩んでいます。 以下標準モジュール内 Public Type MinorItemType ' 小項目 minorItemName as String ' 小項目名 minorItemID as Long End Type Public Type MajorItemType ' 大項目 majorItemName as String ' 大項目名 majorItemID as Long minorItem() as MinorItemType End Type 以下クラスモジュール内 Dim majorItem_() as MajorItemType この場合、以下のようにMajorItemType型のプロパティを作成して丸ごと渡すのか、 Public Property Get majorItem(ByVal num as Long) as MajorItemType majorItem = majorItem_(num) End Property それともユーザー定義型の中の変数へのプロパティを1つずつ作成するのか、 どちらが正しいのでしょうか? ちなみに作成するプロパティは原則Getのみで、 変数に値を取得するのは、クラス内に作成したSubプロシージャで シートへ値を取りに行かせる具合です。
461 名前:デフォルトの名無しさん (ワッチョイ ff42-kGh4) mailto:sage [2022/06/11(土) 22:38:15 ID:kVPUfUKj0.net] 正解はない
462 名前:デフォルトの名無しさん mailto:sage [2022/06/11(土) 23:57:34.93 ID:XvS1eUBu0.net] >>456 ありがとうございます。前者の方法で行ってみます。
463 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 00:52:49.29 ID:SFQsQSvz0.net] 戦車の砲塔で行ってみてやりにくかったら変えればいいんじゃね
464 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 01:40:55.69 ID:QoN69QoAd.net] 芋芋亀してみます!
465 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 18:48:33.62 ID:cJxXuNHT0.net] 文字列の一部分に0付き右詰めの数字を入れたいのだが・・・・ a = "000000000" b = a Mid(a, 2, 5) = 123 Debug.Print "変更前" & b Debug.Print "変更後" & a 結果 変更前000000000 変更後012300000 これだと左詰めなんだが、こうなるべきじゃないの? 変更後0123 000 midにRightをかぶせてみたんだが、 Right(Mid(a, 2, 5), 3) = 123 オブジェクトが必要て言われる。 どうすればいいの?
466 名前:デフォルトの名無しさん [2022/06/12(日) 19:03:38.39 ID:M5mGZ9TuM.net] format(123, "000000000")じゃ駄目なの?
467 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 19:09:33.96 ID:DaJUN4Jhd.net] Mid(a, 2, 5) = 123 の右辺を数字のままにしてるからおかしくなると思うので CStr(123)みたいに文字列にしてからセットすればいいんじゃ
468 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 19:30:47.38 ID:ImMFuzyy0.net] むしろ Mid(a, 2, 5) = 123 これでなんでaが012300000になるの?どう評価されてるの?
469 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 19:37:46.32 ID:ImMFuzyy0.net] ??? Sub foo() a = 0 Mid(a, 1) = "aaa" '通る Right(0, 2) = "bbb" 'エラー Debug.Print a End Sub
470 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 20:39:25.03 ID:uZt7xySi0.net] 自分ならright("000000000" & "123"の右側を取る
471 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 21:12:13.58 ID:DaJUN4Jhd.net] ああ右詰で数字をいれたいのか 自分のレスは無視して そもそも桁数も統一してないからそこから見直せ
472 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 21:35:58.65 ID:cJxXuNHT0.net] Sub sample() '01 PIC X(1) '01 PIC 9(5) '01 PIC X(3) a = "A00000ABC": Debug.Print "元データ :" & a Mid(a, 2, 5) = Format(123, "00000"): Debug.Print "パターン1:" & a a = "A00000ABC" Mid(a, 2, 4) = Format(123, "0000"): Debug.Print "パターン2:" & a a = "A00000ABC" Mid(a, 2, 5) = Format(123, "000"): Debug.Print "パターン3:" & a a = "A00000ABC" Mid(a, 2, 5) = 123: Debug.Print "パターン4:" & a a = "A00000ABC" c = "00000" RSet c = 123 Mid(a, 2, 5) = c: Debug.Print "パターン5:" & a End Sub 元データ :A00000ABC パターン1:A00123ABC パターン2:A01230ABC パターン3:A12300ABC パターン4:A12300ABC パターン5:A 123ABC パターン1が正解なんだけど、なぜパターン4は3文字分だけ書き換えるんだろう? パターン4がOKならパターン5でもいけるような気がするが、パターン5は空白を埋める。 RSet Mid(a, 2, 5) = 123 はエラーになる
473 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 21:46:31.55 ID:ImMFuzyy0.net] それ以前に Mid(a, 2, 5) = Format(123, "00000") でエラーが出ないのがおかしいだるお
474 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 21:52:55.42 ID:SFQsQSvz0.net] ちなみに -123 のときどうする?
475 名前:デフォルトの名無しさん [2022/06/12(日) 22:19:45.52 ID:+/mRZvLHd.net] ID:ImMFuzyy0 馬鹿は黙っていればいいのに そうやって馬鹿を曝け出していると頭の皮膚も曝け出されるぞ
476 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 22:37:23.13 ID:aOGWTw070.net] midステートメントは今ある文字列に対して別の文字列を被せるだけの動作だよ
477 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 23:03:38.74 ID:b6RzJ+XoM.net] 別の文字列を被せるのは仕様外動作だと思うけどな
478 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 23:07:02.46 ID:ImMFuzyy0.net] 何一つその動作がのってねぇ https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/mid-function
479 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 23:10:22.37 ID:UzvPms3IM.net] 引数以外の手段で関数に値を代入(?)するという前代
480 名前:「聞の珍動作 何が起きるか分かったもんじゃない [] [ここ壊れてます]
481 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 23:13:02.41 ID:cJxXuNHT0.net] つまり Mid(a, 2, 5) = 123 は aの2文字目から5文字分ところに、"123"を書き込むんだけど、 3文字しかないから、4-5文字目は何もしないてことだよね。 でも代入の原則論から言えば、足りない部分はスペースで埋めるんじゃないのか? RSetは足りない部分はスペースで埋めてる。 まあ、それが仕様だて言えばそうだけど、 深く考えて作られてないのかな。 もし、RSetも3文字しか代入しないのなら、RIGHTやFORMATを使わなくても0埋めができるし、 単純な代入だから性能もいいはず。
482 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 23:16:04.57 ID:cJxXuNHT0.net] >>473 それはmid関数。 midステートメントとは別物だよwww。 https://docs.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/mid-statement オレもさっき知ったんだがwww
483 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 23:29:45.68 ID:nFfW5LM6M.net] そんなものがあったのか!? けど代入元の型は文字列になってるけど数値を代入していいのか?
484 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 23:33:25.21 ID:ImMFuzyy0.net] >>476 ありがとう!!! 気になって眠れないとこだった。俺の頭がおかしくなったのかと思ったわw ステートメント、一度目を通しておいたほうがいいね https://excel-ubara.com/EXCEL/EXCEL908.html >>477 vbaで何をいっとるんじゃい
485 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 23:54:08.09 ID:cJxXuNHT0.net] >>477 どの言語もできるような気もするが。 出来ない言語なんかあったけ? 化石のような言語のCOBOLでもできる。 COBOLだと9型の変数があって、VBA風にかくと Dim a as 99999 a = 123 でaを00123にしてくれる。 a=RIGHT("00000" & 123,5)なんてやってるのをみて驚いたわ。
486 名前:デフォルトの名無しさん mailto:sage [2022/06/12(日) 23:56:26.34 ID:as/ibVfq0.net] ちなみに、MidステートメントはLetステートメントと違ってヒープ領域の再確保を行わないようなので めちゃくちゃいっぱい文字列を結合したり置き換えたりする文字列操作をMidステートメントで高速化できたりはする 色々注意しなきゃならんしめんどいけど
487 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 14:10:09.78 ID:cuhQaR4kM.net] mid("00000",5-len(a),len(a))=a なんてやってるの?
488 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 15:41:58.25 ID:e6QxpplAd.net] 文字列の一部分に0付き右詰めの数字を入れたいのだが・・・・ これがやりたい事なんだから A.MIDステートメントを使うなら右辺の値を5桁固定にする Mid(a,2,5) = Format(123,"00000") B.代入するの文字列を代入先の左側+5桁固定の値+代入先の右側にする a = Mid(a,1,1) & Format(123,"00000") & Mid(a,7,Len(a)) あたりに落ち着くのでは 自分は誤解されないためにもBのようなコードがいいと思うけど
489 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 18:10:47.94 ID:S+tXl/uoD.net] 自分なら right("00000" & 123, 5) って書く
490 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 18:28:06.25 ID:CiY+fWgN0.net] セルの書式設定に 0000# って書けばいいのに
491 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 19:38:44.31 ID:5YQd33j2d.net] いやどうせVBAでやるならNumberFormatLocalでやろうよ
492 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 20:02:21.45 ID:3bSnFxDm0.net] 要件にもよるが正規表現とFormat()で。
493 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 21:14:24.62 ID:c4yOIzj40.net] >>482 https://www.moug.net/tech/exvba/0140045.html MIDステートメントのほうが速いらしい。 でもオレが試したら逆だったけど・・・・
494 名前:デフォルトの名無しさん mailto:sage [2022/06/13(月) 22:37:41.37 ID:pISmU68J0.net] みんなのコードカッコいいわ やっぱりコードはカッコ良くなきゃ舐められるわな
495 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 01:08:48.71 ID:GVYlqPTN0.net] >>488 他に見るやつがいないなら動きゃいいとか思ってしまう
496 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 01:18:48.91 ID:MKKHJJii0.net] てか若者とお年を召された方のコードの書き方が明らかに違うのだが、古臭い目新しいとかあるのかな?
497 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 02:02:23.05 ID:GVYlqPTN0.net] 今は可読性悪いのは駄目ってなってるけど逆に改行や変数名の長さすらケチってた時代もあった んで言語が進化するにつれて書き方も変わっていった 今でも昔の方法で書けるっちゃ書けるけどそれが古臭いってことだと思う
498 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 02:07:02.10 ID:MKKHJJii0.net] お年を召された方(60~70代)のコード見たら、やたら変数ばかり多かった印象が。 変数使わなくても普通に書けばいいじゃんて部分まで変数に入れていた。
499 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 02:33:52.97 ID:TUO2NKc8M.net] >>492 今でもコード中に定数をそのまま書くのは別に推奨されてないぞ せめて別の人がコードを見た時に数字の意味がわかるようにしとかないとバグの元になる
500 名前:デフォルトの名無しさん mailto:sage [2022/06/14(火) 07:10:06.79 ID:r7EVbuk4D.net] >>492 のコードはVBAに限らず可読性悪そう