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


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

Excel VBA 質問スレ Part67



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

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]
条件付き書式とかは?

133 名前:デフォルトの名無しさん mailto:sage [2020/07/02(木) 02:34:51.75 ID:G8g1bCvWr.net]
このメニューで、空白セルにチェック入れると空白セルを選択しますね。

では例えば値が100以上など、条件つきのセルを選ぶ事はできますか?

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






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

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

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