1 名前:デフォルトの名無しさん [2020/06/26(金) 02:01:29.56 ID:uDfmpksE0.net] !extend:checked:vvvvv:1000:512 ↑同じ内容を2行貼り付ける ExcelのVBAに関する質問スレです コード書き込みや作成依頼もOK ※前スレ Excel VBA 質問スレ Part66 https://mevius.5ch.net/test/read.cgi/tech/1589085825/ VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
32 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 08:01:52.55 ID:8pre44tM0.net] フォルダーの切り替え(黄色いフォルダの絵のアイコン) をクリック
33 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 11:43:32.56 ID:VHBre49Bd.net] >>30 結構、常識だよ。 こういうエラーの時に真っ先に考える。 覚えておくと良い。 詳しく覚えなくても、勝手に型判定のせいかなと考えるだけで全然違う。
34 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 12:14:58.87 ID:dFUOn9oJ0.net] 適当なこと言っててワロタ
35 名前:デフォルトの名無しさん [2020/06/28(日) 13:50:31.47 ID:Gnbk8j2I0.net] >>34 何が適当なんだ? 言語仕様の基本だろう >>33 に俺を言うべき
36 名前:デフォルトの名無しさん [2020/06/28(日) 13:50:52.16 ID:Gnbk8j2I0.net] 俺ではなくお礼
37 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 14:21:14.54 ID:t+bqi6uL0.net] 俺
38 名前:デフォルトの名無しさん (ワッチョイ 8ff1-of6p) [2020/06/28(日) 14:41:16 ID:O22xrl4H0.net] >>33 俺
39 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 15:17:28.32 ID:IDO0V0ZPa.net] dim 俺 as string
40 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 16:12:05.93 ID:WMjrpZfvF.net] 俺 = "童貞"
41 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 16:56:51.40 ID:69pcuKP2M.net] Const 俺 As String = "童貞"
42 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 17:02:14.70 ID:YhC9oGcZa.net] Do While 俺 俺 = 1 If 俺 > 1 Then Exit Do End If Loop MsgBox "happy"
43 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 17:20:31.84 ID:dFUOn9oJ0.net] >>35 式の中で最初に出てきた数字によって型が勝手に決められる → 嘘 32767以下の整数はInteger型 → 嘘 24& * 3600 (Double型) → 嘘 24# * 3600 (Long型) → 嘘 これで適当以外の何なんだよ
44 名前:23 (ファミワイ FFb3-pKDl) [2020/06/28(日) 17:53:16 ID:n2mRaag0F.net] Timerに1000を掛けて見ても何か変だと思ったら 想定より早くIeTimerが実行される時があるみたいだ。 マシンの性能が良すぎるんですかね。 取り敢えず+200にして解決としときます。 MsgBoxの方は型とか考えたくないので 兎に角勉強になりました。 ありがとうございました。
45 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 19:11:04.99 ID:LbQBFJ/O0.net] >>24 MsgBox 24 * 3600 MsgBox 24 * 36000 1行目はオーバーフローがでる 2行目はエラーが出ないで普通に計算されます
46 名前:デフォルトの名無しさん [2020/06/28(日) 19:21:56.72 ID:nTfCGwDP0.net] 特定のフォルダ内のファイルのファイル名を変えて、ついでにプロパティのコメントにも文字を入力したいです for each f in fol.files f.name=ファイル名 f.comment=コメント next みたいな感じでやりたいんですが、f.commentではだめなようです どう書けばいいか教えてください
47 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 19:23:35.13 ID:LbQBFJ/O0.net] Integer型 * Integer型 の計算結果が 32767を超えるとオーバーフローエラーがでる Integer型 * Long型 の計算結果が 32767を超えてもエラーにならない ってことじゃね
48 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 19:28:31.58 ID:Vk36drdU0.net] win10でRS-232C使うとかなりの確率で Set MSComm1 = New MSComm のところでエラーになります どうにかなりませんか
49 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 19:52:40.03 ID:LbQBFJ/O0.net] >>48 EasyComm ってのに変えたほうがいいかも
50 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 20:30:15.72 ID:LbQBFJ/O0.net] >>46 変更後のファイル名が重複するんじゃね
51 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 20:32:56.52 ID:LbQBFJ/O0.net] >>46 あとファイルの種類によってはコメントが無いのもある
52 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 20:35:06.31 ID:+IGHtKO4a.net] イジカミジゴー
53 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 20:39:46.50 ID:yfJkjLDvM.net] >>48 Win32API直叩きしたら? 自分で全部管理できるし、枯れた技術で安定してる
54 名前:デフォルトの名無しさん mailto:sage [2020/06/28(日) 21:16:46.93 ID:yxdrwHPGa.net] >>52 B'z乙
55 名前:デフォルトの名無しさん (アウアウウー Sad3-d3ZO) mailto:sage [2020/06/29(月) 10:38:25 ID:2N59jCILa.net] excel標準でmscommの開発用のライセンス無いよね?
56 名前:デフォルトの名無しさん (アウアウカー Sac3-jwjG) [2020/06/29(月) 13:58:37 ID:T8IL5X90a.net] B1の値に応じて、C1からC100の値が変動します A1からA100までの文字列をB1に順番に入れていって、1回ごとにC1からC100を別シートのD列に上から順にコピーしていきたいです A1からA100とC1からC100は、必ずしも100まで値が埋まっているわけではなく、途中までしか埋まっていないこともあります 別シートにコピーするときに、C列の空白分はコピーしないでD列に空白行を作らないようにしたいです Array = Range(A1:A100)で配列になるらしいんですが、Forでループさせるときに1個ずつB1に入れていくところでつまずいてます ここからどうやってA1からA100までを順番に取り出していけばいいのでしょうか? それと、C列をコピーするときに空白のところまでで選択を止めて必要分だけコピーするにはどうすればいいですか?
57 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 14:21:14.85 ID:81b3XCdqM.net] 二次元配列を一つずつ取り出すときはArray(上からの番号,1) 空白行までのコピーは with worksheets(1) .Range(.Cells(1,3) ,.Cells(1,3).End(xldown)).copy end with
58 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 15:29:59.45 ID:TB+oeC/70.net] どういう配列が作られたのかがそもそもわかんないって話でしょ? デバッグの仕方覚えて、Arrayに何が入るかを確認できるようになったほうがいいわ どういう配列が入ってるのかも確認できずに中身取り出すとかそもそも間違ってる 一行ずつ実行しながらローカルウィンドウで確認すれば 例えばこんな感じで配列が作られるのが確認できる https://i.imgur.com/wDjGPTf.png
59 名前:デフォルトの名無しさん (アウアウカー Sac3-jwjG) [2020/06/29(月) 15:49:01 ID:T8IL5X90a.net] >>57 ありがとうございます 縦一行でも二次元配列というのになるんですね 基本的なことが分かっておらず、すみません >>58 こんなのがあったとは・・・ 活用させてもらいます、ありがとうございました
60 名前:デフォルトの名無しさん (ワッチョイ 3f01-bXJj) mailto:sage [2020/06/29(月) 15:52:32 ID:TB+oeC/70.net] 仮想COM使ってるバーコードリーダーからEasycomm使ってデータ読み取ろうとしたけどわからんかった その辺の知識身につけたいんだけどとっかかりが分からない 知識ある人がうらやましい
61 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 16:45:10.65 ID:6d9dL1u1a.net] >>60 セルに入力するだけなら USB接続のバーコードリーダーでピッピするだけ いったい何のデータ?
62 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 17:04:47.20 ID:TB+oeC/70.net] >>61 いわゆるキーボードモード(USB HID)になってるようなバーコードリーダーならそうなんだけどね 今使ってるのは仮想COM(USB COM)の設定になってて、HIDに切り替えようとするとPC再起動 しないといけなかったり、何かと面倒なんだわ COMモードじゃないとシステムに入力出来なかったりするものもあるしね 勝手にやっちゃうと職場の他の人に迷惑かけるし そこでなんとかCOMモードのままでHID的にエクセルに出力できないかなって。 NW7のバーコード読取り結果を出力させたいってだけなんだけど、うまくいかなかった
63 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 17:16:51.22 ID:6d9dL1u1a.net] 基幹システムとExcelが分離してるなら キーボードを別のキーボードにするだけの事だから 数千円でUSBバーコードリーダー買ってきてぶっ刺した方が早そう
64 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 17:27:14.16 ID:TB+oeC/70.net] おっしゃる通りなんだけど そこに立ちはだかる「セキュリティ?」の壁なんだわ 特にハードは目に見える分、よく分かってないお偉いさんでも口挟んでくる おれ超末端だからハード新規導入は無理だ ソフトは誤魔化せるんでこっちから攻めたかった
65 名前:デフォルトの名無しさん [2020/06/29(月) 17:37:54.02 ID:6d9dL1u1a.net] それ、どっちがセキュアなんだかw SD120(バーコードリーダー)を仮想シリアル通信で利用する https://kagamikarasu.net/sd120_barcodereader_serial/ >これでプログラムに組み込むのが容易になるかと思います。 その先は知らん!
66 名前:デフォルトの名無しさん (ワッチョイ cfda-NJGG) mailto:sage [2020/06/29(月) 17:47:36 ID:pfpn6QaF0.net] >>64 上司に黙ってソフト変更とかするほうがセキュリティー的にNGだろ
67 名前:デフォルトの名無しさん (オッペケ Sra3-G+5W) mailto:sage [2020/06/29(月) 17:50:11 ID:j9Yq0PlQr.net] 業務時間も資産も使うんだし相談なり申請なりはしとけよ
68 名前:デフォルトの名無しさん (ワッチョイ 3f01-bXJj) mailto:sage [2020/06/29(月) 17:50:20 ID:TB+oeC/70.net] ちょ、そこで終わられても
69 名前:デフォルトの名無しさん (ワッチョイ cfda-NJGG) mailto:sage [2020/06/29(月) 18:01:00 ID:pfpn6QaF0.net] うまくいかないって具体的なエラーや表示もないし どこまでできて何ができないか書いてないよね
70 名前:デフォルトの名無しさん (ワッチョイ 3f01-bXJj) mailto:sage [2020/06/29(月) 18:11:42 ID:TB+oeC/70.net] セキュリティー的にはな、 でもうちのは「セキュリティ?」だから >>69 一応何らかのデータは取得できてて、不正確な数字やらスペースやらは羅列される まぁそもそも仕組み分からず動かしてる段階で自分としては納得出来てないんで その辺を学習できるとっかかりが見つかればと思って書いてみただけ 心当たりなければいいよ いそぐものでもないし課題の1つとして気長に取り組んでみるわ
71 名前:デフォルトの名無しさん [2020/06/29(月) 18:19:31.08 ID:6uUvaw7SM.net] 関係ないけどcomってコミュニケーションのCOMでいいんだっけ? 昔 .com をカンパニーだと思ってたワシ
72 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 18:42:30.00 ID:6d9dL1u1a.net] >>70 データ変換はこのスレの範疇なようなスレチの様な 1次元のいわゆる白黒バーコードはバイナリだから https://ja.m.wikipedia.org/wiki/シリアルポート とキーエンスのバーコード講座NW7 https://www.keyence.co.jp/ss/products/autoid/codereader/basic-nw7.jsp でもお勉強しないとわかりません。
73 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 18:57:10.02 ID:2GVfwDQBr.net] >>70 通信パラメタ(とくにbps)は合わせたのか? とりあえずシリアル通信についてちゃんと勉強してからやれ
74 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 19:27:50.46 ID:TB+oeC/70.net] >>72 さんきゅ 目通してみる >>73 パラメータはバーコードリーダのマニュアルに載ってたんでそれ使った 最後に試したのが1年ぐらい前なんで そのうちまたやってみるわ ほんとはバーコードリーダを家に持ち帰れればいろいろ実験できるんだけどなぁ 職場のPCだと手荒な実験できないんで捗らない
75 名前:デフォルトの名無しさん (アウアウエー Sabf-PKxn) mailto:sage [2020/06/29(月) 19:33:50 ID:6d9dL1u1a.net] >>74 同じ品番のバーコードリーダーを買いましょうw
76 名前:デフォルトの名無しさん (ワッチョイ cfda-NJGG) mailto:sage [2020/06/29(月) 19:40:44 ID:pfpn6QaF0.net] なんでわざわざコンプライアンスを破ろうとするのかわからん
77 名前:デフォルトの名無しさん (スップ Sddf-uLB2) mailto:sage [2020/06/29(月) 20:58:53 ID:p0BvfhePd.net] >>70 昔、そういうハードのサポートしてた。 POS関連でバーコ―ドリーダー、レシートプリンタ、何とかディスプレイ(金額表示)、キャッシュドロワーとか。 シリアルならフロー制御がどうなってるかとか含めて、ちゃんと設定しないとダメだぞ。
78 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 22:23:41.83 ID:R8I/2vyw0.net] ユーザーフォームに元に戻すボタンを作ろうと 奮闘中 ・ブックやシート、列行の削除や挿入などはやらない ・セル内の数値同士の計算などをやらせる 基本的に無理だから*2のに対しては/2のボタン とか逆を割り当てていこうかと思ったら四捨五入で座礁しますた 記録して元に復元させるってやり方かぁ ムズそうすぎてちょっとあきらめてる 使用者には間違えるなと言うしかないか…
79 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 22:35:48.51 ID:6d9dL1u1a.net] >>78 間違えるないうようなユーザーフォームな時点でな ロジカルなシンキングな出来てないな
80 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 22:40:32.32 ID:R8I/2vyw0.net] >>79 ユーザーフォームのボタンの配置とか割り当てとかタブ分けとか悪戦苦闘してる そこらへんのセンスがないんだよぁ
81 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 22:44:33.56 ID:9POaIpQ1a.net] >>80 作業を分けてフローチャートを紙に書いてみた方が良いよ 頭の中の整理できるから
82 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 22:50:58.30 ID:R8I/2vyw0.net] 一応タブ分けしてみた 一番左はデータを指定したシートに全部読み込む 次のタブで選択セル±の反転をさせる 最初はabsで絶対値にすればいいかと思ったけどマイナス値が必要な数値があったため*-1で その次のタブで四捨五入 選択セルを0.00まで四捨五入するボタンと 0.0まで四捨五入するボタン 最後のタブで選択セル-A列にある数値の 引き算をさせるボタン なんか工程毎にタブ分けしてみたけど 慣れないとみんな使いにくそう なかなかなぁ
83 名前:デフォルトの名無しさん mailto:sage [2020/06/29(月) 23:04:34.75 ID:SxZPiP67a.net] >>82 作業工程ごとに選択肢が複数あって それぞれに元に戻すボタンをつけるの? 囲碁や将棋ソフトじゃないんだからさ しかも完成しても使いにくいとか 考えたくないくらいめんどくせー、わし降りた。
84 名前:デフォルトの名無しさん (ワッチョイ 3fb5-jCQM) mailto:sage [2020/06/29(月) 23:31:00 ID:R8I/2vyw0.net] >>83 そうなんよ、±反転はまぁいいとして 四捨五入と最後のまとめ計算がなぁ…と
85 名前:デフォルトの名無しさん (ワッチョイ 0fda-H7K1) mailto:sage [2020/06/29(月) 23:34:38 ID:PVh3udJT0.net] 操作する前に、シートをコピーして非表示にしとけば 戻すボタンでコピーしておいたシートに差し替えて戻すw
86 名前:デフォルトの名無しさん (ワッチョイ cfda-NJGG) mailto:sage [2020/06/30(火) 00:16:48 ID:HFjntDoM0.net] 間違えることくらいあるだろう 人間だもの
87 名前:デフォルトの名無しさん (アウアウエー Sabf-PKxn) [2020/06/30(火) 00:22:19 ID:l6PnVpoXa.net] >>84 タブじゃなくてWordの葉書作成ウィザードみたいにしたらどうかな アプリのインストールみたいに 順番に選択肢や入力欄があって 下にボタンで進んで行くイメージ[<<戻る][次へ>>][完了]
88 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 08:45:53.97 ID:LUNyPqILd.net] >>84 根本的な考え方が違う。 フォームの内容を全部ユーザー定義かクラスに持たせて、そこ経由で動作させるようにする。 何かの動作はユーザー定義を元に動作させ、ユーザー定義をフォームに読み込むようにすれば簡単だ。
89 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 17:46:29.02 ID:HFjntDoM0.net] 普段からそういうの慣れてる人ならできるだろうが初心者に言っても無理だろ
90 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 18:08:03.74 ID:ulIgP7Tu0.net] >>87 ありがとう、かなり見やすくかるかも そのやり方でも作ってみるよ >>88 ごめん、全く理解できん素人なので 教えてとは言えないからもう少しだけわかりやすく言ってもらえると でも導入は厳しそうかなぁ
91 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 18:34:02.50 ID:iUIa6Vpk0.net] 配列の勉強中です 1行目にタイトルが入っていて、2行目以降に値が入っているシートで、C列に"年"、D列に"月"、E列に"日"が入っています。 そこで、同じ行のA列にC〜Eの値を結合して「年/月/日」の表示にしたいのですが、配列を使うにはどう書けばいいでしょうか? Sub Test() Dim i As Long Dim LastRow As Long LastRow = Cells(Rows.Count, 2).End(xlUp).Row ReDim MyArray(LastRow - 2, 3) As Variant ReDim DayArray(LastRow - 2) As Variant MyArray = Range("C2:E" & LastRow) For i = 0 To LastRow - 2 DayArray(i) = MyArray(i, 1) & "/" & MyArray(i, 2) & "/" & MyArray(i, 3) Next i Range("A2:A" & LastRow) = DayArray End Sub
92 名前:デフォルトの名無しさん [2020/06/30(火) 18:39:14.24 ID:Z3NkR/bn0.net] 数式張り付けろや
93 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 18:47:22.61 ID:x94da/wE0.net] >>91 代入先がLastRow-1行1列の2次元なら配列もそうせんと
94 名前:91 mailto:sage [2020/06/30(火) 19:05:07.51 ID:iUIa6Vpk0.net] >>93 すみません。書き方を教えてください
95 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 19:24:15.34 ID:x94da/wE0.net] >>94 何の書き方?配列サイズを代入先セル範囲の行数と列数分用意するだけだぞ
96 名前:91 (ワッチョイ cfcc-pPzt) mailto:sage [2020/06/30(火) 19:40:39 ID:iUIa6Vpk0.net] ↓ですか? "インデックスが有効範囲にありません"のエラーがでます Dim i As Long Dim LastRow As Long LastRow = Cells(Rows.Count, 2).End(xlUp).Row ReDim MyArray(LastRow - 2, 3) As Variant ReDim DayArray(LastRow - 2, 1) As Variant MyArray = Range("C2:E" & LastRow) For i = 0 To LastRow - 2 DayArray(i, 1) = MyArray(i, 1) & "/" & MyArray(i, 2) & "/" & MyArray(i, 3) Next i Range("A2:A" & LastRow) = DayArray
97 名前:デフォルトの名無しさん (ワッチョイ fff7-pPzt) mailto:sage [2020/06/30(火) 19:42:59 ID:s83lPCQk0.net] 配列数クソめんどいからこれでいいよ Sub test() Dim endRow As Long endRow = ActiveSheet.UsedRange.Rows.Count Dim ary As Variant ary = Range(Cells(1, 1), Cells(endRow, 5)).Value Dim i As Long For i = 1 To endRow Step 1 ary(i, 1) = VBA.DateSerial(ary(i, 3), ary(i, 4), ary(i, 5)) Next i Range(Cells(1, 1), Cells(endRow, 1)).Value = ary End Sub
98 名前:デフォルトの名無しさん (ワッチョイ fff7-pPzt) mailto:sage [2020/06/30(火) 19:47:07 ID:s83lPCQk0.net] range.valueからできる二次元配列の開始番号は0ではなく、1ですねえ
99 名前:91 mailto:sage [2020/06/30(火) 20:10:45.24 ID:iUIa6Vpk0.net] >>95 ,97,98 動きました!ありがとうございます。
100 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 20:21:46.34 ID:h7LW9tmr0.net] 0番目のセルは無いのに0番目の配列要素はあるから面倒臭いよな
101 名前:デフォルトの名無しさん (ワッチョイ 4f7c-H7K1) mailto:sage [2020/06/30(火) 20:28:40 ID:x94da/wE0.net] 場合によってはoffset(i)にすればよい
102 名前:91 mailto:sage [2020/06/30(火) 20:44:53.74 ID:iUIa6Vpk0.net] すみません勘違いをしていました。最終行の 「Range("A2:A" & LastRow) = DayArray」 だと、A列が2行目以降空欄になってしまいます。 「Range(Cells(2, 1), Cells(LastRow, 1)) = DayArray」 も同じでしたが、 For i = 2 To LastRow Range("A" & i) = DayArray(i - 1, 1) Next i だと入りますが、できれば一括で置き換えたいので、正しい書き方を教えてください
103 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 20:53:49.15 ID:x94da/wE0.net] >>102 入力先のセルは1列分なのにDayArrayは2列分あって2列目に年月日が入ってる ReDimを見直せ
104 名前:91 (ワッチョイ cfcc-pPzt) mailto:sage [2020/06/30(火) 21:20:49 ID:iUIa6Vpk0.net] >>103 Forの処理をこれに変えたらできました。ありがとうございます DayArray(i - 1, 0) = MyArray(i, 1) & "/" & MyArray(i, 2) & "/" & MyArray(i, 3)
105 名前:デフォルトの名無しさん (スプッッ Sd5f-at/t) mailto:sage [2020/06/30(火) 21:53:25 ID:5LSCXiWjd.net] ListView(lvw1、lvw2)を2つ用意して、それぞれに同じデータを同じ順番に追加した状態です。 矢印キーの上下でlvw1とlvw2の同行選択状態ってどうやってやるんですか?
106 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 22:01:34.74 ID:3GBrKjbXa.net] >>105 1と2で同じ操作をやりたいなら、別プロシージャに切り分けて(関数化)それをそれぞれに処理する方がわかりやすい
107 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 22:14:31.69 ID:x94da/wE0.net] >>105 keydownイベントで上下の時になんやかんやする
108 名前:デフォルトの名無しさん (ワッチョイ 4f7c-H7K1) mailto:sage [2020/06/30(火) 22:19:33 ID:x94da/wE0.net] 操作に関わらず一緒でいいならchangeイベントで楽に済ませられるが…
109 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 22:39:03.05 ID:ulIgP7Tu0.net] Sub 四捨五入() Dim PP As Range Dim SELU As Range Set PP = Selection.EntireRow Set PP = Intersect(PP, Range("G:AE")) If WorksheetFunction.Count(PP) = 0 Then Exit Sub Set PP = PP.SpecialCells(xlCellTypeConstants, xlNumbers) For Each SELU In PP SELU = Round(SELU, 2) SELU.NumberFormatLocal = "0.00;-0.00;0" Next SELU End Sub 昨日の俺です こんな感じで四捨五入をしてる やはり記録するかコピーしといて間違えたら戻す作戦かなあ
110 名前:デフォルトの名無しさん mailto:sage [2020/06/30(火) 22:56:39.68 ID:RrxBtxCBr.net] A列とB列にXYデータが書かれているファイルがある このファイルが複数あり、データを縦にくっつけてひとつのファイルにする方法をお願い致します。
111 名前:デフォルトの名無しさん (ドコグロ MMc3-qQym) [2020/06/30(火) 23:33:01 ID:ayj87xxdM.net] >>110 「vba 別のブック間 コピー」でググればそれなりの答えのサイトは出てくるよ
112 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 16:24:36.34 ID:/ZTplk5x0.net] グラフの列の範囲を1つ進めて、範囲が変わったグラフを眺めてまた次の範囲を選択するマクロにしたいのですが、うまくいきません。 sleepで5秒待機するループにすると、マクロが終わるまでグラフはそのままです。 何か良い方法はありますか?
113 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 16:38:43.05 ID:ufrQ+5Zi0.net] 新しい表示にしてから待機したらいいんでないの
114 名前:デフォルトの名無しさん (ワッチョイ 1ecc-VQSO) mailto:sage [2020/07/01(水) 17:00:30 ID:JVz0cdM50.net] DoEvents
115 名前:デフォルトの名無しさん (ワッチョイ 3a33-h2ht) mailto:sage [2020/07/01(水) 17:01:38 ID:wdJg4V2k0.net] 眺め終わったら自分でボタン押す仕様にすればいい
116 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 18:02:59.35 ID:cdm/n45Wa.net] 眺めるってw
117 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 18:14:23.56 ID:BGy1oUher.net] A列に上から1万個くらいのデータがある。 ある値以下なら行全体削除、上詰めにするマクロをお願い致します。 ググってもまとをえたのがなく困ってます。
118 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 18:21:37.82 ID:ufrQ+5Zi0.net] >>117 作業列作ってある値以下なら1立てる→1でオートフィルタ→行削除
119 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 18:24:14.85 ID:g4YauoQu0.net] >>117 どうせ暇なんだろ、1万くらい手作業でやれよ
120 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 18:24:43.29 ID:v2a99oiHF.net] >>117 範囲をテーブルにする 条件に当てはまる行のa列から、データの入ってる最終列までClearContents で、テーブルをある列基準に並び替え
121 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 18:34:27.89 ID:5XfsDMDI0.net] wordをcomで操作しているんですが、基本的にcomは 同期処理できないんですか? たとえば、よくあるprintout(wordVBAの)〜Set wordApp = Nothing の流れなんかは、Application.Waitを入れないと印刷される前に 終わってしまいます。
122 名前:デフォルトの名無しさん [2020/07/01(水) 18:38:53.74 ID:34UZRJ820.net] >>117 dim r as long dim was as excel.worksheet set we=activesheet Do while r>0 if ws.cells(r,”A”)<ある値 then ws.rows(r).delete shift:=xlup else r=r-1 end if loop パフォーマンスは知らん
123 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 19:21:24.82 ID:g4YauoQu0.net] そして動かないとか言ってくる初心者
124 名前:デフォルトの名無しさん (ワッチョイ 8f5f-ewff) mailto:sage [2020/07/01(水) 19:44:41 ID:l3YNJLMh0.net] deleteは重いわ誤作動起こしやすいわいいことないよな
125 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 19:59:04.37 ID:fKGbFrld0.net] 誤作動なんて起こすの? 単にセル番号計算ミスしたスクリプト書くだけなら理解できるけど、誤作動なんてあったら使えないな
126 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 20:06:30.76 ID:Tir3cVcXa.net] フィルターかけてカレントリージョンでコピーして新規シートに貼り付けが良さそう
127 名前:デフォルトの名無しさん [2020/07/01(水) 21:01:32.84 ID:v34eJavmM.net] >>122 (r,”A”)<ある値 顔文字に見えたわw
128 名前:デフォルトの名無しさん [2020/07/01(水) 21:43:01.53 ID:H9TCgnXe0.net] Webで見たぐらいの初心者なのですが 書式設定の複数1行列を色変える作業が 200回ほどやらなきゃいけなく マクロ組んでみようかと頑張ったのですが 上手くいきません Dim a As Integer Dim row1 As Integer row1 = 3 For a = 0 To 200 Columns("row1 + a , P + a").Select Selection.Format Conditions.以下略 Selection.Format Conditions以下略 With Selection.略 Selection略 Selection略 Selection略 End With Next a row1を無くしてb=3 これをColumnsをRange(b+a,b+a) で出来ますでしょうか? Rangeの指定カッコ内では数式を入れられないとかありますか?
129 名前:デフォルトの名無しさん [2020/07/01(水) 22:17:29.48 ID:H9TCgnXe0.net] Range(cells(a,1),cells(a,16)).Select でやってみます
130 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 22:45:11.71 ID:xxJ42X4qa.net] 何故初心者はSelectしたがるのか
131 名前:デフォルトの名無しさん mailto:sage [2020/07/01(水) 23:36:22.71 ID:yn1qRX7nM.net] >>35 >>130 マクロの記録がその手のコードを生成するからでしょ
132 名前:デフォルトの名無しさん (ワッチョイ 87da-z1wt) mailto:sage [2020/07/02(木) 01:40:39 ID:Y/spJvDG0.net] 条件付き書式とかは?