[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2ch.scのread.cgiへ]
Update time : 01/05 07:14 / Filesize : 254 KB / Number-of Response : 1010
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part71



1 名前:デフォルトの名無しさん [2021/05/25(火) 12:48:01.06 ID:mepUVc/i0.net]
!extend:checked:vvvvv:1000:512
↑同じ内容を2行貼り付けるナリ

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

※前スレ
Excel VBA 質問スレ Part70
https://mevius.5ch.net/test/read.cgi/tech/1616072923/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

33 名前:デフォルトの名無しさん mailto:sage [2021/05/29(土) 22:40:30.37 ID:hG567TCp0.net]
>>32
あー、あるあるだね
その辺はSQLの書きっぷりで例えば
数値として判断させるならケツに*1くっつけるとか
文字列としてならケツにブランクくっつけてやることで何とかなるけど確かにあまり綺麗な形とは言い難いかもね。

34 名前:デフォルトの名無しさん mailto:sage [2021/05/29(土) 22:58:50.78 ID:WsLgMeGM0.net]
VBAのユーザーフォームについて、
プロパティウィンドウ上でフォントサイズを変更しようとした場合、
Fontの右側に出てくる[...]ボタンを押して、フォントウィンドウ上でサイズを選択するのが普通ですが、
ボタンを押すとなるとマウス操作が必要になります。

フォントサイズを変更する時に使えるキーボードのショートカットってないですか?

35 名前:デフォルトの名無しさん mailto:sage [2021/05/29(土) 23:27:11.67 ID:tq3mFxPFH.net]
>>34
F4でプロパティウィンドウに移動、↓でフォントの行に飛んでからAlt+↓を押すとフォント選択ダイアログが開く

36 名前:デフォルトの名無しさん mailto:sage [2021/05/30(日) 00:06:02.75 ID:mvwOdKaH0.net]
Alt+↓では開きませんでした。

ForeColor等のように、右側に出るボタンが ▼ の項目については、
Alt+↓で選択候補がプルダウンで表示されました。
これは知らなかったので、一つ知識が増えました。ありがとうございます。

37 名前:デフォルトの名無しさん [2021/05/30(日) 00:29:48.27 ID:WJGvMidO0.net]
>>36
ただの馬鹿だろ

38 名前:デフォルトの名無しさん [2021/05/30(日) 00:38:38.89 ID:MeqMpkJCM.net]
数が多いときはforで回してフォントサイズを変えた方が楽

39 名前:デフォルトの名無しさん mailto:sage [2021/05/30(日) 00:54:31.57 ID:G4EUHehCd.net]
>>36
フォントが大量にインストールされてると、ダイアログが開くのに時間がかかる
ほかにも、PictureプロパティとかIconプロパティなんかの[...]ボタンもAlt+↓で押せるはずだから試してみて
それも開かないとなると、何かがおかしい

40 名前:デフォルトの名無しさん [2021/05/30(日) 03:54:35.99 ID:wQMimd0a0.net]
ところがLinuxなら一瞬で開きます。

41 名前:デフォルトの名無しさん mailto:sage [2021/05/30(日) 04:10:38.43 ID:dB+xSga20.net]
>>40
そういうことはubuntuでEXCELが使えるようになってから言おうね



42 名前:デフォルトの名無しさん [2021/05/30(日) 04:22:57.14 ID:wQMimd0a0.net]
なんのために?
ベンダーロックインされてM$の奴隷になりたいの?

43 名前:デフォルトの名無しさん mailto:sage [2021/05/30(日) 08:12:15.17 ID:dB+xSga20.net]
>>42
やっぱりあわしろ教信者の荒らしか
こいつらとRuby信者はわざわざ自分の巣から出張して来て無関係のスレ荒らすから分かり易い

EXCELが動かなきゃEXCEL VBA動かすことが出来ないだろ?
お前が来ているこのスレの名前を100回読み返してみようか。そうすれば多少頭に血の巡りが悪くても少しは理解出来るだろ

44 名前:デフォルトの名無しさん [2021/05/30(日) 10:36:06.08 ID:Qv4D53KHp.net]
前スレでボロクソに言われた質問(↓)が解決しないので
再度投稿失礼します。

https://i.imgur.com/gYaoIlX.jpg


在庫管理でクロス集計表を使ってるんだけど
配列で取り込んだデータをデータがあったセル位置に戻す時って
どう指定してあげればいいの?
【用途】
納期毎に設定される納品数を在庫から引いて
いつ欠品になるか知りたい

伝わるか分からないけど↓
使ってるフォーマット形式
縦列
部品名
在庫

納期
納品数

45 名前:デフォルトの名無しさん [2021/05/30(日) 13:00:04.14 ID:dinHe+wGM.net]
Cells(1,2)=123

46 名前:デフォルトの名無しさん [2021/05/30(日) 18:38:27.00 ID:Jcut2Kf60.net]
>>44
命綱なしで62階建てのビルの屋上からぶら下がり懸垂をすると閃くかもしれんぞ







保証はしないけど

47 名前:デフォルトの名無しさん mailto:sage [2021/05/30(日) 18:55:32.31 ID:XECinZnN0.net]
わざわざVBA使わなくてもワークシート関数で出来そうだけど

48 名前:デフォルトの名無しさん mailto:sage [2021/05/30(日) 19:13:48.00 ID:jqEflkUS0.net]
>>44
まるでまだ欠品していないみたいな書き込みだな
そんなことやるひまがあるならさっさと発注しとけよ

49 名前:デフォルトの名無しさん mailto:sage [2021/05/30(日) 22:39:10.44 ID:UG6QJe9S0.net]
変数 = セルの範囲 を
セルの範囲 = 変数 と逆にするだけ

50 名前:デフォルトの名無しさん [2021/05/31(月) 01:50:09.05 ID:BNAesGOH0.net]
>>49
そのセルの範囲の指定の仕方がいまいちピンと来ません...

51 名前:デフォルトの名無しさん [2021/05/31(月) 02:41:09.27 ID:dSNiA0NIM.net]
>>50
2000ボルトの電気ショックでわかるようになるかもよ



52 名前:デフォルトの名無しさん mailto:sage [2021/05/31(月) 07:47:27.27 ID:mbhQyuQq0.net]
>>50
配列の変数名をTgtAryとするならば
Range(Sheet1.Сells(LBound(TgtAry,1),LBound(TgtAry,2)),Sheet1.Сells(UBound(TgtAry,1),UBound(TgtAry,2)))
で範囲指定できないかな?

53 名前:デフォルトの名無しさん mailto:sage [2021/05/31(月) 09:27:03.82 ID:q4AGCTmE0.net]
>>52
そいつはsubからend subまで書いてやらんと分からんやろ

54 名前:デフォルトの名無しさん [2021/05/31(月) 11:04:15.17 ID:siYzGVpEa.net]
>>34
遅まきながら横からながら
マジありがとう! これ知らなかった! 心底欲しかった!

55 名前:デフォルトの名無しさん [2021/05/31(月) 11:07:53.40 ID:siYzGVpEa.net]
>>54
△>34
◎>35
連投すまんアンカ間違った

56 名前:デフォルトの名無しさん [2021/05/31(月) 20:55:53.72 ID:WHx69Kzap.net]
>>52
>>53
ありがとう!
ちょっと試してみます!

57 名前:デフォルトの名無しさん [2021/06/01(火) 10:59:42.70 ID:FQ8UQ8zIM.net]
Workbook_Openで表の処理とその上書き保存(ActiveWorkbook.Save)を同時にこなしてるのですが、直後になぜか.savedがTrueになりません。
しかしその後もう一度手動でWorkboon_Openの中身を実行すると、今度はTrueになります。

上書き保存の可否を聞かれずにファイルを閉じたいのにいちいち聞かれて困っております。どうしたらよいのでしょうか?

58 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 11:40:20.38 ID:5+ZhhpdnM.net]
ひとまずOpenイベントの頭にStop書いてブレイクポイント作ったら開き直してイミディエイトウィンドウにDebug.Print Workbook.Savedって書いたら
F8押して、イミディエイトのDebug.Printの行末をクリックしてEnter、F8押して、イミディエイトのDebug.Printの行末をクリックしてEnter
ってやってみてもWorkbook.Saveの行でTrueになってないか見てみ?

59 名前:デフォルトの名無しさん [2021/06/01(火) 13:01:26.91 ID:FQ8UQ8zIM.net]
>>58
Savedの行以降、確かにFalseからTrueになってるし、
Workbook_OpenのEnd Sub直前にStop入れてDebugで確認してもTrueでした。
なのに、End SubをまたぐとFalseになります。

60 名前:デフォルトの名無しさん [2021/06/01(火) 13:02:39.34 ID:FQ8UQ8zIM.net]
>>59
× Savedの行
○ ActiveWorkbook.Saveの行

61 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 13:31:04.27 ID:sclbkM2r0.net]
>>57
こんな感じの参考になる?
officetanaka.net/excel/vba/file/file03.htm



62 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 14:22:21.55 ID:XqGhUQMKa.net]
Openの時はActiveじゃないんじゃない

63 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 15:42:35.04 ID:5+ZhhpdnM.net]
ActiveWorkbookじゃなくてThisWorkbookの方が確実ではあると思うけどEnd Subを跨いだ瞬間に変更フラッグが立ってるのがいまいち分からんなぁ

64 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 16:11:11.07 ID:Mb6qCGemH.net]
裏で動かすマクロは、常にオブジェクトを明示しないとバグの元になる
ActiveSheetとか使うと高確率で誤爆する

65 名前:デフォルトの名無しさん [2021/06/01(火) 17:18:36.32 ID:Oa7oH/5MM.net]
ThisWorkbookにしたり、わざわざSavedにTrueを代入してやっても、End sub をまたぐとやはりFalseになってる……
皆さん指摘の通りなんかブックの指定にミスがあるかもしれないので、もう少し色々試してみます

66 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 17:24:45.60 ID:5+ZhhpdnM.net]
まずないとは思うがSaveの前にDoEvents挟んでみるとかはどう

67 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 17:57:51.45 ID:Mb6qCGemH.net]
わからない時はdebug.printしまくる

68 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 18:14:30.31 ID:XqGhUQMKa.net]
Openイベントが終わったの後に変更があるとか?
例えばピボットの「開いた時に更新する」とか

69 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 18:44:16.50 ID:sclbkM2r0.net]
>>65
だから>>61のリンク先に書いてあるように
Application.Displayalerts使っちゃダメなの?

70 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 19:21:51.78 ID:lbMsn5ZmM.net]
VBAでIEを操作したい。エレメント内のonclickにJavaScriptが設定されてて、引数がthisなんだ。これはどういうコードかいたらJavaScriptがうごく?

71 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 19:24:00.82 ID:vHFZ5Ijm0.net]
いまだにIEとか



72 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 19:45:29.62 ID:J2N8rWTYM.net]
スクリプト動かす必要があるなら泥沼だからやめとけ
SeleniumかRPAかなんかでクリックをエミュレートしろ

73 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 20:08:45.76 ID:Mb6qCGemH.net]
>>70
JacascriptそのままNavigateでたいがい動くけど、実際に試してみた?

74 名前:デフォルトの名無しさん [2021/06/01(火) 20:57:47.91 ID:e0ELXQMnM.net]
VBAでChromeを動かす方法はありますか?

75 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 22:41:37.93 ID:u+h0cgO6d.net]
VBA Chromeでググれば色々でるが
お前がどう動かしたいか答えるのはエスパーしか無理

76 名前:デフォルトの名無しさん mailto:sage [2021/06/01(火) 23:08:53.66 ID:h5EIZiJKM.net]
Chrome使っていいんだったらエクステンション作ればよくね
VBAに固執する意味がない

77 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 10:29:31.20 ID:6cAiGaxYd.net]
A列は途中で未記入の行は無し。B列以降は行によって列範囲は不明。途中の抜けは無し。この条件で一番右まで記入されている列は何列目なのかを知る方法をご教示願います。
この列の右に別の列を追加したいのです。

78 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 11:11:55.45 ID:Xo9eImhQH.net]
>>77
UsedRange.Column

79 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 11:20:06.26 ID:Kwk6Ddry0.net]
VBAでIE動かしたいっていうのは社内システムの操作じゃね
自動化しようにもそれしか選択肢がないっていうケース

80 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 11:27:04.16 ID:Xo9eImhQH.net]
そういうのは末端の社員が勝手に自動化して楽しようとしてるケースに限られる
そうでなければシステム部とか管理部がちゃんと対応してくれるはずだし

81 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 11:35:10.46 ID:Kwk6Ddry0.net]
末端しかこんなところにはこねーよ



82 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 11:40:00.72 ID:IWT/q5/E0.net]
IEが2022/6/15にサポート終了する件なんだけど、VBAのIE操作もできなくなるの?

83 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 11:40:36.31 ID:y9OF8J1M0.net]
>>74
これでいいんじゃね?
https://note.com/teihen_escape/n/n40e672b1c97f

84 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 12:15:32.36 ID:Xo9eImhQH.net]
>>82
サポートの終了と使用の禁止はまた別の話だと思うけどなあ
サポート外のWinXPが起動不可能になったとか聞かないし

85 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 12:23:59.65 ID:IWT/q5/E0.net]
>84
そうだとありがたいんだよね。
ただ記事で「2022年6月16日になっても、iexplore.exeは削除されないものの、アクセスしようとするとIE11は起動せずEdgeにリダイレクトされる」って書いてあったから不安なんだ

86 名前:デフォルトの名無しさん [2021/06/02(水) 13:20:52.87 ID:JznBaFAoM.net]
createObjectで呼び出すんじゃないの?

87 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 16:05:40.28 ID:Xo9eImhQH.net]
アプリは起動できなくされるけど、オブジェクトはさわれると予想
MS-Officeがもともとそういう構造だったし

88 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 16:34:22.01 ID:5rGltuVI0.net]
ieが来年サポート終了するからchromeとseleniumで動かして見ようと思ったら
webdriverが若干古いのしか公開されてなくて詰んだ
頻繁に更新するchromeをどうやって制御すりゃいいんだよ…

89 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 23:09:59.70 ID:qivQYfz/r.net]
すみません、教えてください
配列の一部の最大値を取得する方法ってないでしょうか?
例えば二次元配列で
a(1,1)=1
a(2,1)=2
a(3,1)=3

a(100,1)=100
という配列があったとして、a(10,1)〜a(20,1)の間の最大値を出す方法です
for文で調べたい配列すべて調べて最大値を出す方法しか思い付かないのですが、他に方法はないでしょうか?

90 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 23:12:53.59 ID:GkUPJJQl0.net]
それはギャグで言ってるのか

91 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 23:43:12.68 ID:y9OF8J1M0.net]
Rubyなら何ちゃらかんちゃらの前置きだろ



92 名前:デフォルトの名無しさん mailto:sage [2021/06/02(水) 23:59:28.51 ID:6j/qqwIU0.net]
>>89
全部の配列を一旦シートにコピーして関数つかえばいいんじゃね

93 名前:デフォルトの名無しさん [2021/06/03(木) 00:15:46.47 ID:bA/gzbc70.net]
>>89
死ね

94 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 02:19:06.04 ID:Ers5yK+g0.net]
>>88
Ruby には、Webdriver を自動的にダウンロードする、モジュール・gem がある。
タスクランナーみたいなもの

ブラウザの起動前に、ブラウザのバージョンを調べて、
Webdriver のバージョンが、それと一致しない場合、

それと一致するWebdriver をダウンロードしてから、処理を開始する

95 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 03:06:46.55 ID:WSKbBpAyd.net]
まともな企業のLANだとネットアクセスとかダウンロードに制限かかってそう

96 名前:デフォルトの名無しさん [2021/06/03(木) 10:13:44.82 ID:oKNqyVQK0.net]
臀痛は5ch繋がらないω

97 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 11:26:30.81 ID:jnApLDzu0.net]
>>95
これな
Rubyで使ってる環境はその辺のとこ甘いのかも知れないな

98 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 11:51:09.60 ID:B6Wkxzx6M.net]
申請なしに何かをインストールする事も出来ないし、申請しても通らないから業務の効率化ってなるとソフトウェア開発の部署に発注するかVBAで作る以外の選択肢がない

99 名前:94 mailto:sage [2021/06/03(木) 12:27:51.20 ID:Ers5yK+g0.net]
自動更新するのは、個人のサイトとか

ちゃんとした企業の本番環境では、毎週1回テストしてから、モジュール・gemを更新する。
そもそも、ブラウザも自動更新しない

gemの更新を貯めないように。
基本は、毎週1回テストしてから更新する

これをやっていない会社は、運用しているとは言えない。
ほったらかし

100 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 12:29:19.02 ID:OO42x4fga.net]
そう上司にいえばやらんですむんじゃね

101 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 12:47:20.61 ID:jnApLDzu0.net]
>>99
はー、都度テストするとはご苦労なこった
つまり大きなシステムになるとその分、
Rubyの場合は毎週テストに労力と人員割いて
金掛けて実施しないとダメってことか
かなり大きな会社じゃないとそこまで融通効かないだろうな



102 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 13:13:14.99 ID:4GINtqWnd.net]
>>98
PowerShell便利だぞ

103 名前:94 mailto:sage [2021/06/03(木) 13:36:20.37 ID:Ers5yK+g0.net]
毎週、モジュールを更新するのは基本。
更新を貯めたら、保守・修正できなくなるので、ダメ。
こまめに・ちょくちょく更新

例えば、サイボウズ・Kintone は、
Kubernetes で毎日システムを作り直しているとか、
Netflix は毎日、わざとシステムを攻撃して、落としてテストしたりする

ちゃんと運用していない会社は、更新をほったらかしにしてる

104 名前:94 mailto:sage [2021/06/03(木) 13:46:13.92 ID:Ers5yK+g0.net]
毎週1回、OS の更新も大変だから、
サーバーレス・自分でOSを管理しない、AWS Fargate を使えと言われる。
AWSが、OSの更新をやってくれるから

だから、YouTube で有名な、雑食系エンジニア・KENTA の、
Ruby on Rails 初心者用コースに、AWS Fargate も入っている

それで皆、くろかわこうへいのサロンで、AWSを勉強する

Railsも今まで1人で、Heroku で作っていたのが、
Fargate, Terraform に変わってきてる

今の1年の未経験者は、10年以上のプロよりも、技術力が上になってる

105 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 14:22:18.35 ID:jnApLDzu0.net]
>>104
大変だな
確かに新しいことを学ぶのは大事だけど
10年やって来た人が1年やってる人に負けるって
その人の10年は何だったのって話になるわな
俺、Rubyやらなくて正解だったわ

106 名前:94 mailto:sage [2021/06/03(木) 14:37:37.44 ID:Ers5yK+g0.net]
KENTA・くろかわこうへい、Udemy の人気講師・山浦清透などが現れて、
Ruby on Rails の教育革命が起こった

ものすごい短期間で、効率的に学べる。
それで、1年ぐらい勉強した未経験者が、10年以上のプロよりも、技術力が上になった

東大合格マンガ「ドラゴン桜」みたいなもの

今の未経験者は、Docker Compose も必須

107 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 19:23:17.96 ID:TUnqxA7B0.net]
>>89
VBAで配列にして・・・ってのが前提になっちゃってるパターンだな
その配列もRangeから取得した奴だと思うが、素直にMax関数使いましょう

108 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 20:56:05.21 ID:uLpHnOIZ0.net]
効率化できるけど使うやつらが池沼で勉強した意味なかったな

109 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 21:12:55.36 ID:L0NZ98mH0.net]
効率化よりもいかにシートの内容を壊されないようにするかの工夫ばかり必要なパターンだな

110 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 22:14:51.09 ID:D5fnCzXq0.net]
自力でできることを質問した場合、解答がなくても困らんだろ

111 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 22:50:40.18 ID:TUnqxA7B0.net]
>>98
発注出来る開発部署があるなら、そっちに投げた方が楽なんじゃ?



112 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 01:48:20.45 ID:JjzCcUaXH.net]
朗報
やっぱりオブジェクトは残る

> MSHTML(Trident)エンジンに関しても、互換性維持のため
> すぐに削除されることはない。OS内部に「IE 11」由来の
> 機能は残る。「WebBrowser」コントロールを利用するアプリも
> 引き続き利用できる。

https://i.imgur.com/BWnVYki.png

113 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 01:56:50.63 ID:/SvJ4cKr0.net]
>>111
別部署とのお金のやり取りが発生するからメチャクチャ渋るぞ

114 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 02:06:55.76 ID:ggq9OdP30.net]
>>113
そんなん会社ごとによるし俺に言われても

115 名前:デフォルトの名無しさん [2021/06/04(金) 12:36:18.19 ID:tGFTJ4F20.net]
最初は、動いていたのですが、
そのうち、毎回6行目でエラーが出るようになってしまいました。

例えば
D5セルに入力した3桁の数字をした時に

D7に百の位、E7に十の位、F7に一の位を表示させたいのです。
入力した結果を見て、再入力することもあるので
関数⇒値貼り付けはやりたくないのです。

できれば、どなたかご教授をお願いします。

ファイルのシートは1枚のみです。
【1 OSの種類   】 Windows10
【2 Excelのバージョン】 office365


Private Sub Worksheet_Change(ByVal Target As Range)
Dim r As Long
If (Target.Row >= 5 And Target.Row <= 161) And (Target.Row Mod 4 = 1) And (Target.Column = 4) Then
r = Target.Row
Cells(r + 2, 4) = Cells(r, 4) \ 100
Cells(r + 2, 5) = Cells(r, 4) \ 10 Mod 10 ← 実行時エラー1004
Cells(r + 2, 6) = Cells(r, 4) Mod 10
End If
End Sub

116 名前:デフォルトの名無しさん [2021/06/04(金) 12:48:38.27 ID:tGFTJ4F20.net]
>>115
補足
最初、エラーが出たやつ
Cells(r + 2, 4) = Left(Cells(r, 4).Text, 1)
Cells(r + 2, 5) = Mid(Cells(r, 4).Text, 2, 1)
Cells(r + 2, 6) = Right(Cells(r, 4).Text, 1)


修正しても
Cells(r + 2, 4) = Cells(r, 4) \ 100
Cells(r + 2, 5) = Cells(r, 4) \ 10 Mod 10 ← 実行時エラー1004
Cells(r + 2, 6) = Cells(r, 4) Mod 10

117 名前:デフォルトの名無しさん [2021/06/04(金) 12:49:56.32 ID:UUHTR6cxF.net]
>>115-116
そのうちまた動くようになるさ

118 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 12:50:19.85 ID:4IT3M2Hh0.net]
シートを保護したまま動かす前提で、何か色々修正したときに
E7のロックをうっかりONにしてしまったとか。

119 名前:デフォルトの名無しさん [2021/06/04(金) 13:06:45.09 ID:tGFTJ4F20.net]
>>118

ありがとうございます。
どうやらそれらしいです。
頑張ってみます。

120 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 16:43:12.67 ID:0sw3CVWxd.net]
>>115

Private Sub Worksheet_Change(ByVal Target As Range)
Dim n, n1, n2, n3 As Integer
If Target.AddressLocal = "$D$4" Then
If IsNumeric(Target.Value) Then
n = Target.Value
n1 = n \ 100
n2 = n \ 10 Mod 10
n3 = n Mod 10
Me.Range("D7").Value = n1
Me.Range("E7").Value = n2
Me.Range("F7").Value = n3
End If
End If
End Sub
もう見てないかもしれないけど、どうぞ。

121 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 17:55:39.07 ID:Ca/vMZLe0.net]
それだとn3 だけがintegerになるんじゃね



122 名前:デフォルトの名無しさん mailto:sage [2021/06/04(金) 18:05:42.24 ID:Bit4dpt50.net]
>>120
n3以外Variantでいいの?

123 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 09:03:08.07 ID:rlNy9EJ3M.net]
基本が出来てない典型

124 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 09:19:02.29 ID:6nlrivgRp.net]
基本が出来ていなくても何となく動いてしまう
それがVBA

125 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 10:37:53.55 ID:qQr0HMbe0.net]
あの書き方でよしとするネット情報が多くておれも最初間違えてたわ

126 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 11:01:57.88 ID:w++2yo+P0.net]
VBAで、QueryTableを使ってUTF-8のCSVを読み込ませてるんですが、
この読み込みのマクロを使った後に、そのxlsmファイルを開いたままの状態で、何か別のCSVファイルを手動で開くと
中の2バイト文字がグチャグチャに文字化けされてしまいます
xlsmを閉じてからだと何の問題もないんですが、作業してるとちょっと不便なんですが原因は何なのでしょうか?

127 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 13:08:34.35 ID:X22osQ9q0.net]
これかな
https://www.ipentec.com/document/office-excel-open-utf-8-csv-file

128 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 13:18:33.33 ID:+aLYn71C0.net]
>>126
後段の「何か別のCSVファイルを手動で」は、
・別のbook(.xlsx)からPowerQueryでのcsv読込み?
・それともcsvファイルをダブルクリックで直接開き?

PowerQueryでのcsv読込みなら
エンコードを一度自動認識で読み込んでも
後からステップの「ソース」の設定(歯車または詳細エディター)で
固定することも出来るけど・・・

129 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 13:51:45.19 ID:PrzcCeEoH.net]
入力の手間や長くなるのが嫌なら
Dim n%, n1%, n2%, n3%
で全部Integerになる

130 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 14:28:09.00 ID:w++2yo+P0.net]
>>128
済みません、VBAでQueryTableを使ってUTF-8のCSVをシートに読み込んだ後、適当なShift-JISのCSVファイルをダブルクリックして直に開くと
開いたCSVの中の2バイト文字が文字化けしています
Excelで開いてるウィンドウを全部閉じてから、CSVを開き直すと文字化けしていません

131 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 15:56:52.45 ID:Ko2adBFs0.net]
マクロだけじゃない、Excel全体は基礎ができてないとすぐ壁にぶち当たる



132 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 16:25:26.38 ID:eGJ4gYzF0.net]
基礎って何ですか?

133 名前:デフォルトの名無しさん mailto:sage [2021/06/05(土) 16:45:34.26 ID:QYWEL8gWM.net]
>>132
私もそう思いました
基礎って何ですか?






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<254KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef