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


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

Excel VBA 質問スレ Part78



1 名前:デフォルトの名無しさん mailto:sage [2022/10/30(日) 13:43:16.31 ID:6yf2E1Gz0.net]
!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
↑同じ内容を3行貼り付けること

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

次スレは>>980が立てること
無理なら細かく安価指定

※前スレ
Excel VBA 質問スレ Part77
https://mevius.5ch.net/test/read.cgi/tech/1658009255/

-
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured

653 名前:デフォルトの名無しさん mailto:sage [2023/01/06(金) 19:13:43.70 ID:dhf9eLfP0.net]
便秘じゃしょうがないな

654 名前:デフォルトの名無しさん [2023/01/06(金) 21:21:30.88 ID:eBXD7Bag0.net]
>>642
セルの書式との組み合わせだから、セルの書式を意識しないと「標準」ではまる。

Excelの「標準」はExcelだけにしかわからないから、Excelで閉じた世界でないから使わない方がいい。

655 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 13:21:26.68 ID:BFQrwMXK0.net]
配列=range("A1:C3")
と格納した配列にrange("A5:C8")を追加で格納したいです
この場合、配列の要素1つづつに格納していくしかないのでしょうか?範囲をまるごと格納できますか?

656 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 18:18:20.53 ID:rkRkNs/h0.net]
ぐぐれば配列を結合してくれる関数が出てくるよ

657 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 18:45:14.41 ID:XI+ZuMXx0.net]
ぐぐれとかの用語を初心者は知らないんじゃね

658 名前:デフォルトの名無しさん mailto:sage [2023/01/07(土) 21:17:42.27 ID:KZGY+9uwH.net]
>>647
用途がよく分からんけど、普通に文字列で結合していけばいいのでは?
オブジェクトで返す事もできる

Sub foo()

r = "a2:b3"
r = r & "," & "e3:f4"
r = r & "," & "h3:i4"
Range(r).Value = 1

Set ra = Range(r)
ra.Activate

End Sub

Intersect辺りでもなにかできそうかも?と考えたけど、
全然できないかもしれない

659 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 01:02:59.56 ID:mpsC9VsR0.net]
オブジェクト指向って
Range.Offset(1).value
みたいな事でしょうか?

自作関数って基本は引数渡して返

660 名前:り値貰ってみたいな手続きするだけの存在ですが、
それをオブジェクトを作る関数(Rangeオブジェクトみたいなものを生み出せる関数)にして、
その関数から出てきたオブジェクトは
メソッドA、メソッドBが使えて、プロパティA、プロパティBみたいな状態も持っている
みたいな考えの元に組んでいくとオブジェクト指向なプログラミングになるのでしょうか?

それはやはりそういう形式を取った方が、少ない脳みそでも複雑化に対応できるという事なのでしょうか?

同じ機能を持ったプログラミングを後から書き直す事があります。
勉強を進めた結果、「もしかしてこういうルールで書いた方がわかりやすいかも」みたいに思って書き直します。
うまく行くと複雑だと思っていたものがとてもチープで難易度の低いものに見えてきます。

オブジェクト指向はその極致みたいなものですか?
[]
[ここ壊れてます]

661 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 02:37:15.71 ID:FOdy7Dic0.net]
>>651
>みたいな事でしょうか?
それはメソッドチェーンという記法で、オブジェクト指向言語から生まれた副産物
一見便利で、実際これが無ければVB/VBAはとっくに廃れていたと思われる
ただしメソッドの呼び出しと中間オブジェクトの生成で毎回コストが掛かるため、
複数同じような処理を書く場合は一旦適当な変数で受けるか、VBAの場合はWithステートメントでまとめた方が良い



662 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 02:50:51.43 ID:Z6otLx+Dd.net]
オブジェクト指向の原理主義的には、関数の戻り値はあまり積極的に使用すべきではない
でもドットで階層を掘っていくのは頭悪い人にもわかりやすいから、VB系のエセオブジェクト指向ではわりとよく使われる

663 名前:デフォルトの名無しさん [2023/01/08(日) 03:26:30.83 ID:nZw+zsKC0.net]
>>653
「関数」という自分しかわからない用語の定義で話すのはやめろ

664 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 08:20:15.45 ID:oIS5HnAUM.net]
オブジェクト指向には大きく分けてクラスベースとプロトタイプベースの2種類の流派がある
ちなみにExcel VBAのオブジェクト指向はどちらとも言えない傍流としか言いようがない
本格的にオブジェクト指向を学ぶなら別の言語の方が良い

665 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 11:07:33.40 ID:9yImgFMvH.net]
>>651
エクセルvbaの場合、オブジェクト指向かどうかは考えなくていいよ

オブジェクト指向かどうかは、オブジェクトをメインに据えるかどうかによる
しかしエクセルvbaは「エクセル」という超巨大なオブジェクトが中心なので、
普通に書いてたら勝手にオブジェクト指向になる

666 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 11:19:24.04 ID:ardQjEVJ0.net]
そもそもWindowsというOSを使ってる時点で、すべてのアプリは「Window」オブジェクトの上で転がってるだけ

667 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 12:08:40.63 ID:6Q9yzQxXM.net]
オブジェクトの設計図そのものを作って組み合せていくスタイルがクラスベース(C++やC#など)
半完成品のオブジェクトに手を加え加工したクローンを作って組み合わせていくスタイルがプロトタイプベース(JavaScript/TypeScriptなど)
Excel VBAは完成品として用意されたオブジェクトをそのまま利用するスタイル
(VBAのクラスモジュールは変数や関数を単純 にまとめるだけでクラス自体の拡張性はほぼ無い)

668 名前:デフォルトの名無しさん mailto:sage [2023/01/08(日) 23:34:49.21 ID:9yImgFMvH.net]
sheetクラスを継承できれば・・・
いやできなくてよかった

669 名前:デフォルトの名無しさん mailto:sage [2023/01/09(月) 00:09:50.06 ID:2yNmR2Eh0.net]
VBAのオブジェクト指向機能は、あくまでCOMを使うために設計されてると言っていいよ
OfficeやC++その他で作成されたCOMを利用するだけだし
クラスを作ったりできるのはおまけで、VBAでそこからさらに派生なんてことは誰もやらないし

670 名前:デフォルトの名無しさん mailto:sage [2023/01/09(月) 08:59:03.23 ID:YumOwVoa0.net]
できないからやらないだけできるなら派生とかやりまくってると思う

671 名前:デフォルトの名無しさん mailto:sage [2023/01/09(月) 12:03:48.87 ID:ruGKlfL0H.net]
あまり考えたくないな



672 名前:デフォルトの名無しさん mailto:sage [2023/01/09(月) 13:50:58.25 ID:iDst/v4Qd.net]
現代的なオブジェクト指向ではクラスの継承はあまり使用せずインターフェイスを使うので、クラスを派生できないこと自体はそれほど問題ではない
とはいえVBAでクラスを使うべきでないのは同意する

673 名前:デフォルトの名無しさん mailto:sage [2023/01/10(火) 19:35:26.63 ID:2zy2vhhW0.net]
オブジェクト指向は考え方の一つとして知っていればいい

674 名前:デフォルトの名無しさん mailto:sage [2023/01/10(火) 19:47:40.17 ID:10oUx2C+a.net]
VBAのたとえなんちゃってオブジェクト指向でもクラスは普通に便利じゃん

俺はカプセル化もオブジェクト指向も正直どうでもいいから
Publicで書いたりすることも少なく無い

675 名前:651 mailto:sage [2023/01/11(水) 00:58:56.65 ID:UjJptVS80.net]
オブジェクト指向の話は自分にはまだ早かったようです。
時間のあるときにC++やC#の世界がどんなものか覗いてみようと思います。
ありがとうございました。

ちょっと初歩的な事で質問をしたいのですが、
UserForm1の方に
Private Sub ButtonEnter_Click()
FormData = TextBox1.Value
Unload Me
End Sub
とあるとします。エクセルシート側のコマンドボタンに登録してるマクロには
Public FormData as Variant
Sub Sample()
FormData = 1
UserForm1.Show vbModeless
MsgBox FormData
end Sub
みたいにしてパブリック変数でフォームの入力値のやりとりをしようとしています。
しかしこれを実行するとユーザーフォームが表示された直後にMsgBoxが1表示してきます。
原因はvbModelessまでは調べが付きました。
RefEditでvbModeless使うとボタンが反応しなくなりエクセルの強制終了しか手がなくなる事も。
win10office2019環境特有かもしれませんが。

そこで質問ですがvbModelessって本来どうやって使うものなのでしょうか?
この挙動だと何にも使えない気がするのです。
処理がShowで止まらずに進んでしまうので入力値を受け取れませんし。
処理を止めるコードとセットで使うのでしょうか?
RefEditでは絶対にvbModelessは正常に動作しませんか?

676 名前:デフォルトの名無しさん mailto:sage [2023/01/11(水) 07:07:46.99 ID:ESDkH7B7d.net]
画面表示後に後続のコードを実行させたくないなら vbModal にしないとだめ
vbModeless のままで作りたいなら後続のコードを画面側にもっていくか
ブック側に別のPublic関数として用意して画面側から実行するなりしないとだめ

vbModeless は画面を表示した状態でもブック側を操作できるようにしたいときに指定するものなので
そういう事をしたいときに使いましょう

677 名前:デフォルトの名無しさん [2023/01/11(水) 07:14:17.28 ID:pPL7W2Oc0.net]
>>666
vbModeless は単純にユーザーフォームを表示したままEXCELシートを編集できるようにするか
否かなので、入力待ちのような場合には不要ですね。
本来の使い方というか、特徴からしてフローティングツールボックスみたいなことができる感じ?
Photoshopとか見たことあるとイメージしやすいかな。。。

必要かどうかは置いておいて例えば、、、
複数のマクロが作ってあるEXCELファイルでシート上のコマンドボタンでマクロ呼出ししようと
すると当然、別シートに移ると使えなくなるけどvbModelessのユーザーフォームに作っておけば
シートを移ってもボタン一発で呼び出せる、みたいな?
あとはテーブルがいくつか作られているシートでテーブルを渡りながら編集する必要がある場合、
目的のテーブルのみを表示させるマクロを登録しておけば簡単にアクセスできるようになる、とか。
どちらもどうでもいい使い方だけどw
ユーザーフォームとのデータの受け渡しならココを参考にしてみては?
関数化して引数でやりとりしてしまえばいいような気がする。。。
https://excel-ubara.com/excelvba3/EXCELFORM010.html

678 名前:666 mailto:sage [2023/01/11(水) 10:17:37.94 ID:UjJptVS80.net]
>>667>>668
ありがとうございます。
パブリック変数よりFunctionの戻り値をうまく使うっていう方がいいのですね。
UserForm_Initializeもいらなくなりそうですね。
フォームが増えていくとフォーム毎に渡すよう受け取るようのパブリック変数作って
ちょっと管理しづらいなと思っていましたのでいい勉強になりました。
Hideも使っていきます。
モーダルだとフォーム出てる間、タッチパッドの二本指スクロールが正常に動作しなくなるので
そのためだけにモードレスに魅力を感じていました。

679 名前:666 mailto:sage [2023/01/11(水) 10:30:30.16 ID:UjJptVS80.net]
>>668
ちなみにそのサイトにあるdoModalというフォーム側に書くパブリック関数名ですが。
今試したところ、標準モジュールと違ってPublic Subで同名のdoModal関数を
フォーム毎に一つずつ名前重複エラーにならなかったんですが、これを仕様として受け止めて
フォーム側の呼び出し関数を全部同じ名前にしてしまっても安全でしょうか?

フォームが5個あるとして、別々の呼び出し関数を作るのは名前を憶えれないどうせ
呼び出し時には
標準モジュール側で
受け取る変数名 = FormName.doModal(引数1,引数2)
みたいにするので別にdoModalにこだわりませんでが
フォーム名.Initializeとか、フォーム名.ShowMeとかにする危険性はありますでしょうか?

680 名前:デフォルトの名無しさん mailto:sage [2023/01/11(水) 10:47:26.82 ID:fNRPVgbqM.net]
オブジェクト指向ですね

681 名前:デフォルトの名無しさん mailto:sage [2023/01/11(水) 11:07:44.33 ID:ESDkH7B7d.net]
>>670
標準モジュールに宣言するPublic関数とは違って
ユーザーフォームに宣言するPublic関数はユーザーフォーム名.XXXのような記載をして呼び出すので同名の関数でも構わない
(XXX単独では呼べない)



682 名前:デフォルトの名無しさん mailto:sage [2023/01/11(水) 11:12:01.18 ID:ESDkH7B7d.net]
>>670
VBEの画面でF2を押下するとオブジェクトブラウザが表示されるから
自分で作った変数や関数がどういう管理をされているかみてみるといいかもね

683 名前:デフォルトの名無しさん mailto:sage [2023/01/11(水) 12:42:00.54 ID:R7jAcCIud.net]
>>670

> みたいにするので別にdoModalにこだわりませんでが
> フォーム名.Initializeとか、フォーム名.ShowMeとかにする危険性はありますでしょうか?

頭にshowをつけてユニークな名前にすることは個人的にはよくある。
initializeはつけたことないけどユニークな名前なら平気なんじゃないかな。ただVBA側で用意されている名前に酷似してしまうから避けるけど。

684 名前:670 mailto:sage [2023/01/11(水) 14:39:04.35 ID:UjJptVS80.net]
>>672
そうですよね。自信持って決まった名前のやつ使い回します。
>>673
見る習慣なかったですが見ないと理解は深まらないやつですねこれは。
>>674
予約語とぶつからないよう気を付けます。

グローバル変数のやりとりなくしたら右上×ボタン閉じでエラーが出る原因が突き止められなくて苦労しました。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = vbFormControlMenu Then
Cancel = True
Me.Hide
End If
End Sub
右上×ボタンで閉じるとShowの次の行に制御は戻るのに、モジュールレベルの変数は
値をクリアされてしまうのですね。
とりあえずグローバルのやりとりは卒業できました。ありがとうございました。

685 名前:デフォルトの名無しさん [2023/01/11(水) 23:25:55.84 ID:DN2jjrph0.net]
オブジェクト指向では
多態性を覚えて初めてその恩恵を実感すると思う。

686 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 01:03:37.94 ID:kydlVtmO0.net]
>>676
多態性とは…
プログラムの経験が浅いとイマイチ具体例が出て来なくてモヤモヤっとした状態から抜け出せませんね。
VBAはオブジェクトは作れないけど、元々作ってあるオブジェクトの利用は出来るんですよね?多分
as objectとされるものは大体、オブジェクト名.プロパティ名とかオブジェクト名.メソッド名みたいなの持ってますよね。

継承というのは、Range.InsertとRange.EntireRow.Insertみたいな親クラスのメソッドを
引き継いでる子クラスみたいなことなのでしょうか。
今の経験量ではどれだけリファレンスサイトを読んでもピンときません。
残念ですし、アドバイスを活かせず申し訳ないです。

オブジェクト指向と非オブジェクト指向の境目がわかるようになるまで深入りしないようにしようと思っています。

687 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 01:27:45.18 ID:285P/eUV0.net]
VBAはそもそもちゃんとしたオブジェクト指向言語じゃないから
ちゃんとしたオブジェクト指向言語やらんと、その境目なんてわからんよ

688 名前:デフォルトの名無しさん [2023/01/12(木) 05:03:44.98 ID:DzjvAA7t0.net]
そうね
Object指向の概念はVBAだけやってれば
人によっては一生身につかないかもね。

この手の参考資料が一番多いのはやっぱりJavaになるのかなぁ。
VBAと文法が近いVB.Netでもあまり見かけないね。アレもIObject指向言語なのに。

689 名前:デフォルトの名無しさん [2023/01/12(木) 14:53:02.95 ID:HTRe+k0wd.net]
>>679
お前には見つけられないだけ

690 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 15:01:56.40 ID:LJFXYIUK0.net]
vbscriptでwin32apiのキーダウンを使おうとしているのですが、
キーダウンは検知できるのですが、標準入力に

691 名前:押したキーが入ってしまいます。
この標準入力を削除することはできないでしょうか
もしくはキーダウンが標準入力にならないようにする方法はないでしょうか
[]
[ここ壊れてます]



692 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 15:37:08.41 ID:EIUtrygUd.net]
ここはExcelVBAのスレなのでスレチです

693 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 18:59:52.86 ID:UVTOHIyL0.net]
vbsのスレは気持ち悪いからねえ
win32apiコールとか何でもできるpowershellを検討しよう

694 名前:デフォルトの名無しさん [2023/01/12(木) 21:50:28.71 ID:YA4W27ZxM.net]
でもパワーシェルはダブルクリックで起動できないって
ところが

695 名前:デフォルトの名無しさん [2023/01/12(木) 22:14:31.34 ID:HTRe+k0wd.net]
>>684
馬鹿にはできないだけだぞ

696 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 22:22:53.89 ID:Iq4TKL6o0.net]
>>684
バッチからPowerShell呼べばいいだけ

697 名前:デフォルトの名無しさん mailto:sage [2023/01/12(木) 22:26:21.46 ID:9uITPonqM.net]
PowerShellのスクリプトは.ps1ファイル
普通に起動できる

698 名前:デフォルトの名無しさん [2023/01/12(木) 22:27:21.44 ID:DzjvAA7t0.net]
>>680
そうなんかな?
VBAのデザインパターン扱ってる本なんて見たことないけど

699 名前:デフォルトの名無しさん (スッップ Sdb3-kOMB) [2023/01/12(木) 22:47:57.75 ID:HTRe+k0wd.net]
>>688
VB.NETの方

700 名前:デフォルトの名無しさん [2023/01/13(金) 05:15:26.60 ID:60PuJGcsM.net]
パワーシェルでやってみます

701 名前:デフォルトの名無しさん mailto:sage [2023/01/13(金) 06:09:05.42 ID:pezk+gKQa.net]
オブジェクト指向の典型は、Ruby on Rails。
派生ばっかり

おまけにRubyは、メソッドチェーンで関数型プログラミングもできる

ウェブ開発では、ガチガチのオブジェクト指向で、
テキスト処理では、Linux のパイプラインみたいなメソッドチェーンの両方を使うから、
あらゆるデザインパターンの宝庫

おまけに、Stack Overflow によると米国年収ではトップ。
Rubyは9.3万ドル、多くの言語は6.5万ドル、PHPは5万ドル



702 名前:デフォルトの名無しさん [2023/01/13(金) 09:12:44.75 ID:ZL1fQ8g50.net]
>>691
でも
日本ではVBAより平均年収安いって記事
前このスレに挙げられてたよね

703 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 13:37:47.00 ID:wDcYqAP4a.net]
また何かにつけて馬鹿馬鹿って連呼するヤツが来たか。揚げ足の取り合い、誹謗中傷スレになるのも時間の問題だな
荒らしにイチイチ構っているお前らも同罪

704 名前:デフォルトの名無しさん [2023/01/14(土) 15:05:35.60 ID:Ta24dazVa.net]
そんな馬鹿な

705 名前:デフォルトの名無しさん (ワッチョイ 8663-+y77) mailto:sage [2023/01/14(土) 16:08:53.73 ID:2YQsutp50.net]
Rubyはほんとにオブジェクト指向の学習に向いてるのに5chだとキチガイのせいで勧めづらい
いい加減消えてほしい

706 名前:デフォルトの名無しさん mailto:sage [2023/01/14(土) 21:16:02.63 ID:MMspDEqhH.net]
今ruby勧めたらボッコボコにたたかれるだろうな

707 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 03:52:20.14 ID:N2qBk67x0.net]
新年明けましておめでとう
今年はここの住人に《禿》とか《馬鹿》とか《氏ね》とか言われない事を目標にするぞ!

708 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 09:48:56.12 ID:OWvGRTxwH.net]
>>697
禿ましておめでとうございます

709 名前:デフォルトの名無しさん mailto:sage [2023/01/15(日) 22:39:41.40 ID:aQZF8rrya.net]
氏ね

710 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 01:40:45.06 ID:EHand8Cf0.net]
>>682
VBSからWin32api呼ぶのにVBA使わんの?

711 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 03:47:49.20 ID:O4/VkLb30.net]
別の確実な方法があるのにそんなもん使わないのでは



712 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 04:20:04.61 ID:MheiSf/Y0.net]
VBA使ってAPIコールするなら最初からVBAで作るだろ...
何が悲しくてvbsなんて使うんだよ

713 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 07:47:36.98 ID:6JcN0E/Sd.net]
>>700
ここは”Excel”のVBAスレです

714 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 07:56:54.09 ID:pOVzc0STH.net]
もう忘れたけどvbsの方がいい場面があることはある
ただもう二度と使う事はないだろう

715 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 11:52:06.85 ID:9WgehSBk0.net]
Excelのスレだったのか?

716 名前:デフォルトの名無しさん [2023/01/16(月) 11:57:18.10 ID:ySDGoo7La.net]
スレタイ読めないのか

717 名前:デフォルトの名無しさん (オッペケ Sr6d-O4H0) mailto:sage [2023/01/16(月) 12:02:48.00 ID:saP8Jzxpr.net]
>>705
流石にこの発言は馬鹿と言われても仕方ないな

718 名前:デフォルトの名無しさん (スップ Sdea-f6s+) mailto:sage [2023/01/16(月) 12:10:40.38 ID:6JcN0E/Sd.net]
Excelにかぎらなければこっちにスレがあるからこちらへどうぞ

VBAなんでも質問スレ Part3
https://mevius.5ch.net/test/read.cgi/tech/1631184381/

719 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 12:19:23.79 ID:saP8Jzxpr.net]
>>708
質問するにはこっちのスレの方が平和的でいいな
このスレには人をバカにしてマウント取るような人間しかいないし

720 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 12:29:47.52 ID:Y+j2ikJL0.net]
それはw 自分の発言読み返して反省しろよw >>705 はボケただけだろ 客席がドッ!と沸くトコだぞ

721 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 12:40:01.09 ID:jJVBcCwBa.net]
ガチでボケてるのか後出しでボケたことにしたいのか
どちらにせよ>>710が恥ずかしいことに変わりはないなw



722 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 18:41:31.88 ID:9WgehSBk0.net]
スレの住人のカラーや雰囲気全然違ってワロタww
ここは人をバカにして楽しむクソスレww

723 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 19:21:15.63 ID:2xniVU/jM.net]
winapi使いたいならexe作れよ
古いけどVB.NETのコンパイラ入ってるから

724 名前:デフォルトの名無しさん mailto:sage [2023/01/16(月) 21:08:05.75 ID:6JcN0E/Sd.net]
>>712
ここにはスレタイも読めなければスレの趣旨も理解できずにただ雑談にくる人も多いからね
クソスレにしてるのはあなたみたいな人だって事を理解したほうがいい

725 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 21:21:18.66 ID:uo4zKdp70.net]
>>703
エクセルのVBAだろ?
ワードのVBAなんか使わないぞ?

726 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 22:19:09.74 ID:BSKY6W440.net]
たまに勘違いしてVBの質問してくる人とかいるくらいだからな。

727 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 22:29:25.09 ID:lscX0yJQ0.net]
vbaとribbon customuiって直接関係ありませんが、マクロをribbon customuiから利用を考えています。
ネットやyoutube等調べて試したのですが、タブやボタンが表示されずに困っています。
また2007と2010でxmlnsの名前空間指定方法が異なることも理解しているつもりです。
2010以降を想定しています。
環境:Excel for Microsoft 365 MSO (バージョン 2212 ビルド 16.0.15928.20196) 64 ビット
ribbon_test.xlsm(zip)
_rels, customUI, docProps, xl, [Content_Types].xml

マクロ
Module1.main

_relsの.rels
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Relationships xmlns="schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId3" Type="(略)" Target="docProps/core.xml"/>
<Relationship Id="rId1" Type="(略)" Target="xl/workbook.xml"/>
<Relationship Id="rId4" Type="(略)" Target="docProps/app.xml"/>
<Relationship Id="rId5" Type="schemas.microsoft.com/office/2007/relationships/ui/extensibility" Target="customUI/customUI14.xml"/>
</Relationships>

customUIのcustomUI14.xml
<?xml version="1.0" encoding="utf-8"?>
<customUI xmlns="schemas.microsoft.com/office/2009/07/customui">
<ribbon><tabs>
<tab id="CustomTab" label="Custom Tab">
<group id="customGroup" label="Custom Group"><button id="member" visible="true" label="Custom Button" size="large" imageMso="HappyFace" onAction="Module1.main" /></group>
</tab>
</tabs></ribbon>
</customUI>

ご教授お願いいたしますm(_ _;)m

728 名前:デフォルトの名無しさん mailto:sage [2023/01/17(火) 23:43:37.93 ID:lscX0yJQ0.net]
自己解決できました。
お騒がせしました。

729 名前:デフォルトの名無しさん mailto:sage [2023/01/18(水) 20:59:44.95 ID:ta9bzp4r0.net]
なんやねん

730 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 07:37:02.75 ID:40XBuhhWH.net]
VBA知らないのですけど
シート間やブック間の情報のやり取りには
コールバック関数みたい非同期処理をしてるんですか?

731 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 07:47:03.02 ID:hjMxdzIvH.net]
>>720
オブジェクトのプロパティを書き換えたり取得したりする
超古い言語だよ



732 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 08:01:59.36 ID:40XBuhhWH.net]
書き換えや取得してる間はコードの実行は待機し
書き換え、取得が済んでからコードを再開するってことなのでしょうか?

733 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 08:06:32.97 ID:hjMxdzIvH.net]
>>722
書き換えや取得するコードを書く
やって見た方が早い

734 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 08:33:41.90 ID:WQbdwelX0.net]
コールバックではなくCOMという概念で実際のところプロセス間通信している
VBAの場合多分インプロセスなので他の手段より有利
シートやブックに対してコールバックする処理ってあったっけかな

735 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 08:42:01.19 ID:hjMxdzIvH.net]
>>724
色々あるみたいだけど、vbaで使う場面って思いつかない。ってかバグりそうでやらない方がいい気がしてならない・・・
https://qiita.com/Kamo123/items/e676e0cbe6de83410980

736 名前:デフォルトの名無しさん (ラクッペペ MMde-VZwO) mailto:sage [2023/01/19(木) 09:20:35.66 ID:IH8Q0Y2+M.net]
Excelのオブジェクトを外部から弄るつもりならVBAよりもCOMアドインやVSTOアドイン、Office Scriptsなど別の方法利用を検討する方が良い気がする

737 名前:デフォルトの名無しさん (ラクッペペ MMde-+m4i) mailto:sage [2023/01/19(木) 10:50:54.77 ID:hkE7HGyaM.net]
>>722
その通り

データの書き換えしている様子も見えるから仕事しているなって気がしてくる

738 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 13:24:17.21 ID:4qclTsLf0.net]
イベントはコールバック

739 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 19:42:15.97 ID:Dvqs9CAA0.net]
例外処理の悩みなんだけど、
普段、オプションでエラーをクラスで停止するように設定している
その状態でクラスでErr.Raiseすると、標準モジュールでOnErrorGotoステートメントで受け取れないけど皆さんはどうしてるんですかね?

740 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 19:46:40.02 ID:Dvqs9CAA0.net]
オプションを変えれば標準モジュールで受けとれるんだけど切り替えが面倒

741 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 20:51:52.93 ID:4qclTsLf0.net]
普段からオプション変えとけばいいんじゃね
クラスモジュールで中断って、使いどころがわからん



742 名前:720 mailto:sage [2023/01/19(木) 21:58:24.97 ID:40XBuhhWH.net]
みなさん、ありがとうです
>>727様、ありがとうです

web系はユーザーの待機ストレスをなくすために
コールバックを多用しますけれど
事務系は一つの処理が終わってから次の処理に移るって
なんだかそんな感じを受けました

ありがとうございました

743 名前:720 mailto:sage [2023/01/19(木) 22:00:12.46 ID:40XBuhhWH.net]
>>728
イベントはコールバックしかないですものね

744 名前:デフォルトの名無しさん [2023/01/19(木) 23:05:36.09 ID:eT7lxKel0.net]
外部取り込みデータでcsvファイルを
QueryTablesメソッドを使用して、TextFileColumnDataTypesを文字列では取り込むとデータの後ろに半角スペースが入ります。
これなぜでしょうか?
標準で取り込むと半角スペースが入らないです。

やりたいのが数値などを文字列で取り込んだ時に、先頭の0を表示させて、E形式で表示されてる数値を全部表示させたいです。

今、文字列形式で取り込むと必ず全データの後ろに半角スペースが入ります。半角スペースが入らないように取り込みたいです

745 名前:デフォルトの名無しさん mailto:sage [2023/01/19(木) 23:47:25.42 ID:XtxzJxUF0.net]
>>734
そのcsvメモ帳で開いて
本当に生データに半角入ってないの?

746 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 01:33:26.94 ID:W1xzt6Zf0.net]
シートが2つあって、片方非表示にしようとしたら、最低1個は表示しろって怒られるの何で?
非表示にする1行手前でデバッグプリント取ったけど、間違いなく2つとも表示されている。
単体で実行すると問題ないが、新規ブック作ってシートを2つに増やしてからやるとエラーになる。
DoEvents入れても駄目、On Error Resume Next入れてもエラーで止まる。
ワケわからん。

747 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 01:44:54.53 ID:ptsQI5JN0.net]
その非表示にする行が悪いんじゃないの
御託はいいからコード貼れカス

748 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 02:56:01.96 ID:W1xzt6Zf0.net]
悪くない。
1行手前では2シートともVisibleは-1を返すから、前後がどんなどんなコードでも関係ないだろ。

749 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 03:42:39.52 ID:iiD2fqs40.net]
コード貼れ

750 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 06:53:35.87 ID:WgMHwss/0.net]
>>736
ブック2つあってその片方を丸ごと非表示にしょうとしてるとか

751 名前:デフォルトの名無しさん [2023/01/20(金) 07:00:14.46 ID:Q4AfyMd20.net]
>>735
半角スペース入ってないです
アクセスから抜いてきたデータなんですけど、何回やっても入るんですよね



752 名前:デフォルトの名無しさん [2023/01/20(金) 07:46:13.25 ID:z8VJTXTl0.net]
もうACCESSに直接ADO接続して値取って来たら?

753 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 08:00:52.80 ID:ayeW68tCd.net]
質問者がよくわからない現象だから質問してくるんだろうけどそういう人の質問だといまいち状況がつかみにくいから
オリジナルでなくてもいいから現象が再現するサンプルコードでも提供すれば解決しやすいのにね
そういう事ができない人多いよね

754 名前:デフォルトの名無しさん mailto:sage [2023/01/20(金) 08:13:31.91 ID:9/vVytdyH.net]
>>743
^^;

755 名前:デフォルトの名無しさん [2023/01/20(金) 09:37:46.21 ID:phBDDUUBd.net]
>>742
結局、全部にトリムすることにしましたわ

756 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 02:59:07.37 ID:ZfbTiSBFr.net]
総合スレからこちらに誘導されて来ました
マクロ記録は使えるけどVBAは使えないのに。。

【1 Windows10】
【2 Excel2019 】
【3 いいえ】
【4 否】

普段横書きで印刷をしているシートを
月一回の報告資料のみ、範囲を変えて縦書きにして印刷する必要があります

それでマクロ記録を使って印刷範囲を絞り込んで縦書きにして印刷をするボタンを作成してみたのですが、問題は印刷範囲の最終行が毎回変わるのでその最終行に合わせた範囲指定にするにはどうしたら良いでしょうか?
CTRL+↓を記録は出来ないみたいだし。。

印刷範囲の最終行に透明な「※」でも打ち込んでそこまでを印刷というような事は出来ますでしょうか?

757 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 04:22:08.36 ID:H5hcEaoi0.net]
>>746
印刷範囲(ActiveSheet.PageSetup.PrintArea)が設定されている前提で
dim printrange, lastRow

' 現在の印刷範囲のRangeオブジェクトを得る
set printrange = ActiveSheet.Range(ActiveSheet.PageSetup.PrintArea)
' 実際の最終行を得る
lastRow = ActiveSheet.Cells(printrange.Row, printrange.Column).SpecialCells(xlLastCell).Row
'最終行を変更したRangeオブジェクトのAddressを印刷範囲に設定する
ActiveSheet.PageSetup.PrintArea = ActiveSheet.Range(ActiveSheet.Cells(printrange.Row, printrange.Column), ActiveSheet.Cells(lastRow, printrange.Column + printrange.Columns.Count - 1)).Address

758 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 07:02:51.83 ID:liCBEODDH.net]
>>746
これを機にVBA使いになりましょう
そんな難しくないですよ

まずはダミーデータと
マクロで記録したコードを張ってみてもらえますか?

759 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 09:23:02.19 ID:DWiRZY6Xr.net]
>>747-748

ありがとうございます

マクロ記録はボタンを押すだけなので簡単ですが
VBAになると一気に難易度が。。

1980年代のDOSの前のBASICはちょろっとやってたので本気出せばなんとかなるかもですが

分かりやすい書籍、動画、講座とかありますかね?

760 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 10:59:00.69 ID:Zr2lAE610.net]
そも、縦書きと横書きという独特の言い回しが相手には伝わりにくい
あいうえお ← 横書き

い  ← 縦書き  普通に読んでればこう捉える




でもそれでは無くて、帳票の状態が普通はA4横長で印刷してるものを、月イチではA4縦長で印刷したいとかなのか
ほんとうに文字ごとタテ並びにしてしまいたいのか  後者なら敷居が相当高いけど
しかし、初めて白状した状況だと相当の高齢者が毎月なんらかの帳票を印刷するのに苦心している様子からして
自治会の会計資料だのそういう方面だとも考えられる
自分でサンプルを提示するのが困難なら、どっかのサイトで似たような状況を探って画像検索でもしてみて「こういうのをこうしたい」と書かないと伝わり難い
自治会用のExcelサンプルなんかゴロゴロ転がってるし、それを参考にするとか流用するとか  見立て違いなら失敬
   しかし、単に「印刷範囲」をその都度指定するだけで簡単に解決するような質問のような気もしてる

761 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 12:20:46.74 ID:qZakY6uUr.net]
>>750
打ち出しているのは零細企業の売上報告資料です
経営陣と上司が高齢者なので今まで長年使い続けて来た会議資料のフォーマットは原則何も変えてはならないという前提の作業です

売上が得意先の売上高順に並べられている資料で
右側に売上の内訳があります

単純にA4縦をA4横にして印刷するわけでは無くて列の削除が2列必要になり、その列を単純に削除すると関数が埋められてるのでエラー表示に



762 名前:ネるので、手作業だと毎回大変だったので、マクロ記録を使って自動的に印刷出来るようにしました

ところが一つだけ上手く行かなかったのが
今回の印刷範囲の指定でした

簡単な例を作成中なので後でアップします
[]
[ここ壊れてます]

763 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 13:39:30.09 ID:3LuUMb1z0.net]
>>750
毎日こんな表を作成しています

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

764 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 13:40:43.92 ID:3LuUMb1z0.net]
>>750
そして毎週こんな感じで縦向きの印刷をしています(右側の内訳は不要)

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

765 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 13:41:54.11 ID:3LuUMb1z0.net]
>>750
そして毎月、売上が確定するとこんな感じで横向きの印刷をします

列の削除が必要となります

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

766 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 13:46:51.08 ID:3LuUMb1z0.net]
ほんとは
>>752
の上の表と下の表の間に担当者別の売上集計表があるので毎月、列の削除は行えずに右側の内訳をスライドして値複写して整形する必要が有ります

この作業が地味に面倒なのでマクロ記録で自動化しました

767 名前:デフォルトの名無しさん [2023/01/21(土) 14:05:07.15 ID:hYuLYDCi0.net]
>>749
Console 0,25,0,1とかで始まるやつか
文法こそ同じような部分はあるけど全くの別物だぞ

768 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 14:07:16.17 ID:3LuUMb1z0.net]
>>756
syntax error

769 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 14:10:22.83 ID:qZakY6uUr.net]
最初で最後のプログラミングが
年賀状当選ハガキ発見プログラムでした。。

770 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 14:55:21.95 ID:Zr2lAE610.net]
レコード総数どのくらいか判らんけど、回答待ってる間に別シートにコピーして並べ替えするだけで済むような
いくら零細だからって業務用途なら自社内で解決できるレベルに収めておかないと、引き継ぎに難儀するような
 ↓こういうのを参考にしてじぶんで懸命に制作してもいいかも知らんけど
https://forest.watch.impress.co.jp/docs/serial/exceltips/1306514.html  単なる受け売りじゃ応用利かなくなるだろうし

771 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 15:43:24.35 ID:qZakY6uUr.net]
>>759
そのくらいは使えるんだけど。



772 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 15:55:42.09 ID:qZakY6uUr.net]
数字掴むのはパワークエリやパワーピボットでなんとでもなるんだけど
今まである資料にキッチリ合わせた体裁にしないとならんところで苦労をしていて

773 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 16:26:39.90 ID:qZakY6uUr.net]
>>754
改めて考えたらこの横向きの印刷は苦労して無かったんだった
>>752
のシートを新規シートにコピーしてから不要列を削除してプリントするマクロ記録で出来るので

問題は
>>753
の印刷です

この表の下に2月分の納品予定、3月分の納品予定、4月、5月と続いていくので最終行を指定する事は出来なくて
印刷したい範囲はあくまでも当月の1月分までなので

774 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 16:46:59.18 ID:H5hcEaoi0.net]
>>752-754
1 日次を人間が更新 or 印刷
2 1を元に週次で印刷
3 1を元に月次で印刷
ということなら、シートをあらかじめ上記3つに分ける方向で考えた方がいいんじゃないかね
ご存知かもしれないけど「Excel VBA やりたい事」でぐぐれば大抵の事は出てくるよ
取り急ぎ動的な範囲選択の記述の仕方とか判ればVBAの文法とかあやふやでも全然いけそうだけど

775 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 16:50:11.61 ID:qZakY6uUr.net]
>>763
ああ、なるほど、確かに
固定フォーマットに数字だけ行くように出来れば良いのかなと思ったけど
会社も毎月変わるから難しいかな
あと売上高の多い順だし

776 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 16:58:34.85 ID:Zr2lAE610.net]
何度も聞くけど「印刷範囲」の設定ってどうやってる? マウスで印刷したい範囲をドラッグ選択して印刷範囲に設定するだけなんだけど?
月ごとに微妙に行数が増減するから用紙からはみ出るとかの懸念? Excelの初歩の初歩のような気がしてきた

777 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 17:11:10.91 ID:pNicHJvH0.net]
必要な情報を配列に入れ込んで
それで新しいシートを作り直したらどうでしょう?

新しいシートは手作業でフォーマットしておくか
VBAで印刷範囲の列数行数を取得して
配列から取り出してセルに代入するとか

誤って元データを失わないように
シートの追加削除はあまりどうなんだろうって気がします

778 名前:デフォルトの名無しさん (オッペケ Src7-zVY0) mailto:sage [2023/01/21(土) 17:26:56.30 ID:qZakY6uUr.net]
>>765
いや、だから関数とか印刷範囲の設定で済まないので悩んでいるわけです
それだけで済むならマクロ記録で終了です

不要範囲の削除で関数の連携が無くなるから
数値コピーしたり
手動の整形を伴うのと

毎月売上の会社は一定じゃないし

779 名前:デフォルトの名無しさん (オッペケ Src7-zVY0) mailto:sage [2023/01/21(土) 17:34:58.85 ID:qZakY6uUr.net]
>>766
元データを失わないように
元データからマクロで読み込んでコピーファイルを作成して、そこで作業を行ってから終了時にマクロで元データに書き込むようにはしています。。

売上の最新情報は他の人と共有しているファイルになるので、これもコピーファイルを作成してからデータを新しいシートにコピペして、パワークエリを使ってそのファイルから読み込んで毎度自動更新するようにしています

定形フォーマット(シート)を使ってVBAで行数を決められると確かに良いですね

780 名前:デフォルトの名無しさん [2023/01/21(土) 17:41:46.80 ID:zrHjWBn6M.net]
>>768
なんか頭のハゲた人がいっぱいいそうな会社だなあ。

781 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 17:57:20.75 ID:Zr2lAE610.net]
ダメだこりゃ 行や列の非表示とかも知らなそう
たぶん「書き間違えました」とか訂正あるんだろうけど、>作業を行ってから終了時にマクロで元データに書き込むようにはしています
これはやっちゃいけない最たるものじゃないのか? 元ファイルと作業ファイルは一方通行にしとかなきゃ、戻してどうすんだ
40年前にBASIC触った世代? なんかアタマでっかちで実務に向いてない 縦書き横書きすら誤用してるのにいっちょまえな用語駆使しようとして伝わらない
すまんがサジ投げる 君らに任せた



782 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 17:58:03.03 ID:qZakY6uUr.net]
>>769
残念ながら剥げてるのは俺一人

783 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 17:58:43.35 ID:qZakY6uUr.net]
>>770
いやいや他の人はともかくあなただけ異次元にレベル低い
パワーピボットとか使って無いでしょ

784 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 18:11:05.02 ID:qZakY6uUr.net]
>>770
他の優秀な方は皆さん理解出来るのに一人だけトンチンカンなVBAスレにいてはいけないレベルのような

列の非表示をしたらその下の担当者別の列まで非表示になるから
範囲指定や非常時でなんとかなるレベルじゃないでしょ

じゃあなたにVBAの質問して答えられるのかな?

785 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 18:14:32.74 ID:qZakY6uUr.net]
>>770
元ファイルは自分だけの使っているファイルだから問題無し
共有ファイルは参照するだけで元には戻さない 
なんで書いてる事を理解出来ないのかな

786 名前:デフォルトの名無しさん [2023/01/21(土) 18:47:58.93 ID:zrHjWBn6M.net]
>>774
このハゲ!
                 
      / ̄ ̄ ̄ ̄ ̄ ̄\
    /             \
   /                  ヽ 
    l:::::::::.                  | 
    |::::::::::   (●)     (●)   | 
   |:::::::::::::::::   \___/     |  
    ヽ:::::::::::::::::::.  \/     ノ

787 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 18:49:06.36 ID:qZakY6uUr.net]
>>775
オマエモナー

久しぶりに書いたなこれ

788 名前:デフォルトの名無しさん [2023/01/21(土) 18:51:29.36 ID:zrHjWBn6M.net]
(爆)

789 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 18:51:32.42 ID:qZakY6uUr.net]
ほんとは表示がなんでも良ければ
>>752
こんな内容はパワークエリとパワーピボットで、何もしなくても常に最新データに書き換えられるんだけどな。。
といつも思いながらEXCELの加工してます

790 名前:デフォルトの名無しさん [2023/01/21(土) 19:34:50.38 ID:rwfwwGNyd.net]
零細企業だからこんな馬鹿しか雇えないのかね

791 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 19:38:29.43 ID:qZakY6uUr.net]
>>779
馬鹿に出来るほどの回答してないよね?



792 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 20:00:29.29 ID:liCBEODDH.net]
>>752
連想配列、多次元配列を使えば、好きな項目を紐づけでき
表示も好きなようにできるので楽だと思います
一度覚えたら重宝しますのでいつか学んでみたらいかがでしょう?
VBAの学習はネットで十分ですし是非

例えばシートから顧客名を取得して
顧客名をキーワードにして、製品名、単価、数量、担当者名を配列に格納し
単価×売上高の多い順に配列をソートして、配列から必要な表示項目だけセルに代入する
そうやって処理すれば担当者別であれ製品別であれ好きなように表示できます
その後、罫線処理をして、最後に幅調整をしてあげればって思います

793 名前:デフォルトの名無しさん [2023/01/21(土) 20:08:19.63 ID:rwfwwGNyd.net]
>>780
あまりにも馬鹿過ぎるから馬鹿と指摘しているのだが
こんなのしか雇えないから零細企業のままなのか、零細企業だからこんなの雇っちゃうのか

794 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 20:10:55.81 ID:qZakY6uUr.net]
>>782
あ、
(ワッチョイ 53da-Jpma)

がスマホで書いてるだけか

795 名前:デフォルトの名無しさん [2023/01/21(土) 20:12:17.60 ID:HFKnvzRq0.net]
今度は言い掛かりを始めた馬鹿

796 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 20:15:45.52 ID:qZakY6uUr.net]
>>784
ほらバレて脊髄反射w

797 名前:デフォルトの名無しさん [2023/01/21(土) 20:18:33.47 ID:HFKnvzRq0.net]
馬鹿の質問はそもそも馬鹿が考えることだから問題解決へのアプローチが間違えている
というか端的に言えば馬鹿だから馬鹿な発想しかできないから解決方法がややこしくなり何倍も何十倍も時間が必要になる

798 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 20:21:20.82 ID:qZakY6uUr.net]
とりま馬鹿はNG

799 名前:デフォルトの名無しさん [2023/01/21(土) 20:23:35.37 ID:HFKnvzRq0.net]
逃げた

800 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 20:23:44.73 ID:qZakY6uUr.net]
>>781
ありがとうございます

他は全てワンボタンで済んだので
あと表示だけが手動なので
そのために時間掛ける価値があるかどうテンピンに掛けながら
でもこういうのは嫌いじゃ無いので学んでみます

801 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 20:28:47.01 ID:qiWRJhmvM.net]
>>786
わかる。こういう奴に任せるといつまで経ってもまともな成果が上がらない。



802 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 20:34:39.84 ID:liCBEODDH.net]
>>789
なんかスレッドが熱いですけど気にせずがんばってください

配列はデータベースみたいなものなのでエクセルと相性がいいんです
とても便利ですので是非がんばってください

803 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 21:38:19.62 ID:ALAIHDfad.net]
煽るヤカラに反応してるとスレが荒れていつも回答してくれる人も敬遠しちゃうぞ
月別のレイアウト範囲を決めるなら参考の表なら
開始は「月売上高表」の文字列が入っている行
最後は「納品予定」の文字列が入っている行を見つけて最後の金額が入ってる行を取得すれば>>747のコードが流用できるんじゃないの

804 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 21:55:48.52 ID:qZakY6uUr.net]
>>791
早速、YouTubeの金子さんの動画を見ました
今まで外国語に見えてたのが理解出来て来ました

805 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 21:57:12.93 ID:qZakY6uUr.net]
>>792
ありがとうございます

最終行に、色を白で「最終行」と入れて
それを拾おうかと

806 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 22:09:21.22 ID:WRTpu51ud.net]
>>794
うざい

807 名前:デフォルトの名無しさん mailto:sage [2023/01/21(土) 22:31:20.27 ID:liCBEODDH.net]
>>789
もし嫌じゃないのなら才能というか適性あります
VBAから入ってある程度楽しいなって思えたら
pythonとかjava、C#とかやってみたらいいと思います

808 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 04:34:19.88 ID:K9eOTOpDr.net]
>>792
その印刷したい最後の行≒「途中の行」の場合はどのように指定したら良いんでしょうか?

売上先の数が毎月一定では無いので印刷したい最後の行が毎月変わってしまうのです

「売上最終行」「売上最終列」
「納品最終行」「納品最終列」
を透明な文字で埋め込んで認識させるのが良いのかなと

809 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 04:41:38.79 ID:hOwNbSAHr.net]
>>796
もともと1982年にマイコン(パソコン)を買ったくらいなので好きな方だと思います

810 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 06:11:47.65 ID:wUjIjG/wd.net]
>>797
vba 最終行
vba 最終列

でぐぐる

811 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 06:47:36.72 ID:hOwNbSAHr.net]
>>799
ありがとうございます
ググりましたが本当の最終行の説明しか無くて

上に書いた通り、実際には途中に存在する
任意の最終行(実際には途中の行)の説明が無いのですが



812 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 06:54:51.41 ID:1NpPY/pKa.net]
CSV などのテキスト処理なら、Ruby

813 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 06:55:38.90 ID:5nd4WcY/0.net]
>>797
どれを印刷したいのかよくわからんけど >>752-753 なら納品予定の列を見て空になった行のひとつ上、>>754 なら得意先名の列を見て合計となって行までを印刷すりゃいいんじゃないの?
って>>792は言ってるんだが?
そもそも
> 印刷したい最後の行≒「途中の行」
とか意味不明すぎる

814 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 07:02:04.85 ID:hOwNbSAHr.net]
マクロを使ってそのシートを新規シートにコピーしてから不要行や不要列を削除して、その後に最終行と最終列を指定して印刷すれば良いのかな

815 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 07:03:38.95 ID:hOwNbSAHr.net]
>>802
言葉でそのように説明するのは簡単だけど
具体的にVBAで書けますbゥ?

816 名前:デフォャ泣gの名無しさb mailto:sage [2023/01/22(日) 07:12:25.00 ID:hOwNbSAHr.net]
毎日
752のシートを毎日作成していて
そのシートを元に
753や754のような印刷結果としたいのです

上の画像が失敗したのは
確かに非表示で済むような画像になってしまいましたが
実際には列の非常時を使うと印刷したい列まで隠れてしまうので非表示は使えません

817 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 07:19:41.79 ID:hOwNbSAHr.net]
もう一度書くと

作成しているのはこの表


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

818 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 07:21:57.46 ID:hOwNbSAHr.net]
>>806
806の赤い部分にも文字が入ってるとして


印刷したいのは806を元にして
これらが印刷結果となるように



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

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

819 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 07:28:29.54 ID:hOwNbSAHr.net]
実際の数字は販売管理ソフトから吐き出したデータをパワークエリとパワーピボットによってリアルタイムにデータを見ることは出来ています
その他の付随情報をEXCELで管理していて、そのEXCELデータと販売管理ソフトが正しいかどうかのチェックもそのEXCELファイルで行っています

820 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 07:32:21.84 ID:hOwNbSAHr.net]
20年前からパワークエリやパワーピボットが存在していれば、その結果を元に報告資料を作っていたんだろうけど、存在しない時代に手動で作成していたのでそれに合わせる事に苦労してるということです

821 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 08:09:47.45 ID:5nd4WcY/0.net]
>>804
>>807の表はできてるんだろ?
得意先名の列がB列としたら
Dim Row As Long
Row = 1
While Cell(Row, "B").Value <> ”合計"
Row = Row + 1
WEnd
ってやるだけだろ



822 名前:デフォルトの名無しさん (ワッチョイ f34a-+xDT) mailto:sage [2023/01/22(日) 08:52:06.84 ID:LXKdZzsm0.net]
BASIC知ってるはずなのに配列知らんのか

823 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 09:17:23.76 ID:Hx9JKMaXr.net]
>>810
ありがとう
行か列を任意を指定してキーワードを見つければ良いんですね


>>811
BASIC自体を知ってるのでは無く
その当時、マイコンを買って
雑誌の記事を見て自分用にカスタマイズしただけ
主にカセットテープから20分くらいLoadしてゼビウスとかやってた

824 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 09:18:35.16 ID:Hx9JKMaXr.net]
適当に打つとsyntax errorが出てくる事は知ってる

825 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 13:00:42.70 ID:vQS42HbD0.net]
連想配列のコレクションを使いたいんだが、個別の要素が書き換えられない。
書き換えると全要素が書き関わってしまう???
これはどうしたらいい?
Set Yukkuri = New Dictionary '「Microsoft Scripting Runtime」を参照設定
Dim timeline As New Collection
Yukkuri.Add "Name", "霊夢"
Yukkuri.Add "serif", "霊夢です"
timeline.Add Yukkuri
'セリフを追加する
timeline.Add Yukkuri
Debug.Print "--before--"
Debug.Print timeline.Item(1)("Name"), timeline.Item(1)("serif")
Debug.Print timeline.Item(2)("Name"), timeline.Item(2)("serif")
'追加したセリフの変更
timeline.Item(2)("Name") = "魔理沙"
timeline.Item(2)("serif") = "魔理沙だぜ"
Debug.Print "--after--"
Debug.Print timeline.Item(1)("Name"), timeline.Item(1)("serif")
Debug.Print timeline.Item(2)("Name"), timeline.Item(2)("serif")

実行すると
--before--
霊夢 霊夢です
霊夢 霊夢です
--after--
魔理沙 魔理沙だぜ ←こ

826 名前:チちも書き換わってる
魔理沙 魔理沙だぜ
[]
[ここ壊れてます]

827 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 13:08:27.56 ID:CdSwQQ4cd.net]
>>806
自分が何もできないから100%他人任せにしてるような割りに態度が少し横柄なんじゃねと思わなくもないんだよね
少なくとも>>806の月別の表が何か月分も同じシートにあるのであれば
・シートを2つコピーして>>807用の2つのシートを作る
・それぞれのシートで1行目から最終行まで検索する
・月別の始点はA列?の「月売上高表」の文字列が含まれる行
 終点は次の月の「月売上高表」の文字列が含まれる行の-1
 ※ただし最終月は翌月の文字列が見つからないので最終行でよい
これをもとにそれぞれのシートの行を非表示にしたり、列を非表示にして
印刷範囲決めたらいいだけなんじゃないの
ここまでの説明はマクロで可能
俺はやる気のあるコードを見せてくれたりする人には付き合う気はあるけど
100%他人任せには構ってられないから以降は他の人が回答してくれることを祈るわ

828 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 13:23:01.10 ID:0592ee0wr.net]
>>815
私ってサバサバしてるから

829 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 13:29:43.69 ID:5nd4WcY/0.net]
>>814
そりゃ連想配列の実体は1つしか作ってないから書き換えたら変わるわな
いまいちどういう結果を期待してるのかよくわからんけど片方が変わって欲しくないなら
timeline.Add Yukkuri
Dim Yukkuri1 As New Dictionary
Dim Key As Variant
For Each Key In Yukkuri.Keys
Yukkuri1.Add Key, Yukkuri(Key)
Next
timeline.Add Yukkuri1
のように中身をコピーして作る

830 名前:デフォルトの名無しさん [2023/01/22(日) 14:10:36.46 ID:3khvOI6Qd.net]
また零細企業の馬鹿が粘着してるのか
しつこい馬鹿は迷惑

831 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 15:30:30.53 ID:DNm1kf3fH.net]
>>749
Sub main()
Dim arr() As Variant
arr = dataArr

End Sub

Function dataArr() As Variant()
Dim cel() As Long
cel(0) = Cells(Rows.Count, 1).End(xlUp).Row
cel(1) = Cells(1, Columns.Count).End(xlToLeft).Column

Dim rw, col As Long
Dim datas() As Variant
ReDim datas(cel(0), cel(1))

For rw = 0 To cel(0) - 2
For cl = 0 To cel(1) - 1
datas(rw, cl) = Cells(rw + 2, cl + 1)
Next cl
Next rw
dataArr = datas
End Function



832 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 15:30:46.23 ID:DNm1kf3fH.net]
これでmain関数の中のarrにすべてのデータが取り込めた
arr(0,1)はヨソバ〇カメラ
arr(1,5)は80000

2行目に、み〇なのさくら屋、売上金額、納品予定
3行目のE列に納品予定合計額を表示させたければ
cells(2,1)=arr(1,1)
cells(2,2)=arr(1,2)
cells(2,3)=arr(1,4)
と指定して表示し
合計はVBA内でfor分で合計値を算出するか
シートに転記後にworksheetFunction.sum()で合計を算出して表示すればどうでしょう

製品テーブル(略称含む)や顧客テーブル(略称含む)をシートで作って置ければ
さらに楽にできると思います

833 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:01:00.37 ID:PpuiymMq0.net]
>>820
それはデータ取り込みのためのVBAですね?

印刷のための範囲指定は

Sub tes()
'
' tes Macro
'

'
Range("A1:I69").Select ←ここの部分を書き換えると
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$69"
Application.PrintCommunication = False
With ActiveSheet.PageSetup
.PrintTitleRows = ""
.PrintTitleColumns = ""
End With
Application.PrintCommunication = True
ActiveSheet.PageSetup.PrintArea = "$A$1:$I$69"
Application.PrintCommunication = False
With ActiveSheet.PageSetup


    途中省略

End With
Application.PrintCommunication = True
End Sub

834 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:06:26.01 ID:DNm1kf3fH.net]
>>821
どの程度の大きさのデータを印刷したいのかわからないですが
サンプル程度のデータ量でしたら配列を使って取り込みと出力をして
印刷設定はエクセル側で行えば十分かと思いましたけど


835 名前:それではあまり役立ちませんか? []
[ここ壊れてます]

836 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:17:39.68 ID:SHbanA0Dd.net]
>>822
印刷設定をEXCEL側とは?
毎回手動で設定して印刷という話ですか?
データ取り込みは苦労していないというか既に自動化は諦めてるので

未納品状態から納品済に変わった段階で
下から消して上に書き込む作業を行わないとならんので。。

837 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:24:05.21 ID:DNm1kf3fH.net]
>>823
よく理解してなくてすみません
rangeの範囲指定だけ指定できたらOKなのでしょうか?

例えば、
Range("A1:I69")
printArea="$A$1:&i%69"
を指定したいってことでしょうか?

838 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:27:55.16 ID:xRK/d49A0.net]
>>819
1オリジンのRangeオブジェクトと0オリジンの配列のやり取りはどうやっても混乱するから
セルを配列に取り込む場合は「array = Range(範囲).Value」のようにRange.Valueで取り込んだ方がいいよ
これでRangeで指定した範囲の値が1オリジンの2次元配列として取得できる
逆に配列をセルに書き戻す場合も、Rangeとarrayの要素数が同じなら「Range(範囲).Value = array」で済む
これはVBAでシートを配列で扱う場合の常識だと思うので一応

839 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:35:26.12 ID:DLw6jtzT0.net]
おいおいおいおいw まーたハナシが変わって来てるw ま、それがこの人の個性っちゃあ個性だけどw
パワークエリやパワーピボットを駆使してマクロで一発で取り込むのは出来てる とか、大法螺だったんだな

彼の目的はただ一つ  会議資料として用紙の横書き印刷と縦書き印刷をしてる、その縦書き印刷を自動化したい その一点
横書きとか縦書きとかは彼の独特な表現だからA4ヨコ印刷・A4タテ印刷に脳内変換してくれ A版かB版か、4か3かは定かでは無いが、まあそんな風

で、彼のとっ散らかった説明・解説をまとめると以下の通りだ
販売管理ソフトで売り上げを管理 → 売上データをExcelに吐き出し(もしくはExcelから引っ張る) → そのデータをパワークエリやパワーピボットを
駆使して集計し、会議用資料のテンプレートに落とし込む https://i.imgur.com/MNy37BM.jpg → https://i.imgur.com/JUP2t7B.jpg これはヨコ印刷で
問題無し https://i.imgur.com/LhkqS7p.jpg これのタテ印刷に苦心してる
何故なら :
  1] 二列不要だから削除したいが、削除すると「関数」が無くなって違算(エラー)←??
  2] 毎月行数の増減があるので最終行が決まらない ←必要なら「※」なり「最終行」なりを手入力してでもマクロを走らせるのの役に立てたい←???
  3] 画像には無いが、この他に担当者別売上の表がある ←最初の画像の赤丸位置?それとも上下の表の中間?
  4] これが1Sheetに1年12ヶ月分タテに並んでいるので各月自在に印刷するのは大変
ざっくりとこんな感じ

840 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:36:20.85 ID:zZKA7THFr.net]
>>824
印刷したい印刷範囲の右下が毎回変わるので

例えばそこに
「END」という透明文字を書き入れておく場合にはどのような記述となりますか?

これさえ出来れば自分のやりたい事が出来そうです

841 名前:デフォルトの名無しさん (オッペケ Src7-a63L) mailto:sage [2023/01/22(日) 16:43:18.47 ID:zZKA7THFr.net]
>>826
同じ取引に対してデータ元が2つ有り

パワークエリとパワーピボットで自動取込をするのは販売管理ソフトのデータからが1つ目
こちらは自動的に取り込まれていて
簡単に得意先別、担当者別、商品別の合計や詳細は把握出来る


EXCELで報告資料を作る元データは、他の人が社内共有用に作っているEXCELファイルから

この2つのデータが合っている事を確認する必要もある


最初の質問から有りとあらゆる事を書き出すなんて無理だよ

後から話が違うと言われようが
説明するために簡便化した資料でやってるんだし
てゆーかあなたはVBAの技術は無いんだから無理に話に加わらなくても良いよ



842 名前:デフォルトの名無しさん (ワッチョイ 53da-Jpma) mailto:sage [2023/01/22(日) 16:47:09.62 ID:DLw6jtzT0.net]
で、それはVBAで出来るならそれでもいいけど、普通の機能でも十分賄える作業
範囲に名前を付けて(例えば01y とか01t とか)印刷時にページ設定のダイアログにその名前を入れて印刷するだけ
(もしくは、名前ボックスで選択して[印刷範囲に設定]でもいい ソッチのが楽かも)
範囲が重複しても名前付けは出来るんだし、せっかくの機能を使わない手は無い
11月に成ったら11yや11tを入れてやるだけで広範囲のうちそこだけをプレビューしてくれる
範囲が増減するってなら Offset使った範囲にしとけば行が増えても対応してくれる その名前付けを上手にできるかどうかがカギ

843 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:50:46.58 ID:zZKA7THFr.net]
販売管理ソフトに全ての詳細情報を付加する機能が無いから、会社に必要な付随情報をEXCELで付与して管理させている

だから一つの取引に対して2つデータが存在してる

844 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:53:25.56 ID:DNm1kf3fH.net]
>>827
Sub main()
Dim rng As Range
Set rng = Range(Cells(1, 1), Cells(2, 2)) '①

ActiveSheet.PageSetup.PrintArea = rng.Address
End Sub

みたいな感じで、①を都度指定したらできませんか?

845 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:53:33.27 ID:zZKA7THFr.net]
>>829
そんな事するよりも

>>827
これを一発VBAに入れた方が楽じゃね?

846 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 16:55:27.93 ID:zZKA7THFr.net]
EXCELのデータが正しい事もあれば
販売管理ソフトのデータが正しい事もあるので
二重にすることで間違いのチェックにはなっていると思う

847 名前:デフォルトの名無しさん (ワッチョイ d3ce-Jpma) mailto:sage [2023/01/22(日) 17:00:57.08 ID:uavb1b440.net]
一元管理されてない時点で最悪のデータ

848 名前:デフォルトの名無しさん (オッペケ Src7-a63L) mailto:sage [2023/01/22(日) 17:04:14.11 ID:zZKA7THFr.net]
一元管理は入力ミスがあるとそのまま行ってしまう恐ろしさがある

849 名前:デフォルトの名無しさん (JP 0Hc7-j5s0) mailto:sage [2023/01/22(日) 17:04:15.06 ID:DNm1kf3fH.net]
>>827
最終行列を取得して範囲指定するのなら
cells(rowscount,1).end(xlup).row
cells(1,columns.count).end(xltoleft).column
で最終行列を所得できます

キーワードを使った場合、
cells.find('end')でオブジェクトを取得しますけど
他のセルにキーワードが紛れていたら終わりますので非推奨かもですね

キーワードを最終セルにするというのなら
findを使って最終セルを取得して範囲指定に利用できそうですね

850 名前:デフォルトの名無しさん (オッペケ Src7-a63L) mailto:sage [2023/01/22(日) 17:06:06.74 ID:zZKA7THFr.net]
>>831

単純に印刷したい範囲の右下に
ENDとか※とか右下とかの文字を入れ込んでおいてそれをVBAにするのは難しいものなのですか?

851 名前:デフォルトの名無しさん (ワッチョイ 53da-Jpma) mailto:sage [2023/01/22(日) 17:06:29.53 ID:DLw6jtzT0.net]
そもそもが、全体のデータをどう扱うかのイメージが出来ていない
都度継ぎ接ぎだらけの思い付き・間違ったインスピレーションで作業しているだけ システムの九龍城砦を築いてるようなもの
毎月最終行に「最終行」って手入力することが自動化の助けに成ると思うならそうしてみりゃいい
その手間の時間で印刷終わってる 何月がいちばん上の月か知らんが、年度途中の月、7月とか8月でもそれで動作するシステム組めるのか?
ボタンを12ヶ並べるつもり? 年度途中の月を印刷するためにひとつのボタンで解決させるには、もっと苦労を重ねるけど?
プログラムを書くためにExcel使ってるんじゃ無い 楽するために使ってんだ  



852 名前:デフォルトの名無しさん (オッペケ Src7-a63L) mailto:sage [2023/01/22(日) 17:06:34.14 ID:zZKA7THFr.net]
>>836
すんません
入れ違いで書いてしまいました

853 名前:デフォルトの名無しさん (オッペケ Src7-a63L) mailto:sage [2023/01/22(日) 17:08:34.65 ID:zZKA7THFr.net]
>>838
仕方が無いじゃん
自分で作ったシステムじゃないんだし
前任者が全て手動で半日掛かった仕事を5分で出来るようになっただけでもマシになったとは思う

854 名前:デフォルトの名無しさん (JP 0Hc7-j5s0) mailto:sage [2023/01/22(日) 17:10:50.88 ID:DNm1kf3fH.net]
>>839
いえいえ、こちらこそ要領が悪くてすみません
findでキーワードを検索して、該当セルを取得したら
そのセルが何行目何列目なのかを取得できますので
それを>>821の範囲に利用してみたらいけるかもですね

855 名前:デフォルトの名無しさん (ワッチョイ 43ad-a63L) mailto:sage [2023/01/22(日) 17:11:53.93 ID:PpuiymMq0.net]
>>838
月に一回だけ
ENDと入れるだけで
一ヶ月にかなりの時間を節約出切るのが分からない??

行や列を挿入するだけだから
ENDと入れるのは一回だけ

なんなら前月のシートを使えば、それすら要らなくなる

ほんとお前は性格悪いね

856 名前:デフォルトの名無しさん (ワッチョイ 43ad-a63L) mailto:sage [2023/01/22(日) 17:13:22.05 ID:PpuiymMq0.net]
>>841
キーワードを
ピロリちゃんとか
絶対に使わないであろう言葉を使えば良いかもですね

857 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 17:26:29.02 ID:zZKA7THFr.net]
縦向きえんど
横向きえんど

この文字を透明色で埋めておけば良いかな
上書き出来ないようにセルを保護しておく?

そうすりゃ毎月何も設定しなくても良くなりますね

858 名前:デフォルトの名無しさん [2023/01/22(日) 18:32:47.51 ID:Km84h4+z0.net]
>>844
そんなことより「ハゲでも分かるExcel VBA入門」という本を読めばいい。
分かりやすくてすぐ上達。

859 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 18:34:23.97 ID:5nd4WcY/0.net]
>>835
入力チェックはまた別の話
帳票毎にデータが違う方が怖いわ

860 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 18:35:54.62 ID:zZKA7THFr.net]
>>845
ワタシサバサバしてるので

861 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 18:36:29.31 ID:zZKA7THFr.net]
>>846
別の話じゃないよ



862 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 18:51:11.61 ID:vQS42HbD0.net]
>>817
レスサンクスです。
ということはYukkuriが100人いたら、
Dim Yukkuri?? As New Dictionaryを100行要るてことになるてこと?
timeline.Add Yukkuriのところで、timelineが使ってるメモリが追加でアロケートされ、
そこに連想配列が追加されるていう動きにならんのかね?
それか連想配列の実体をコピーできるとか。

863 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 18:52:29.42 ID:zZKA7THFr.net]
ワタシフサフサしてるので

864 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 18:56:56.52 ID:pQuel4xur.net]
>>846
ところで会社で嫌われてない?
その方が心配だわ

865 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 19:04:19.40 ID:uL/qufmv0.net]
日曜日に仕事?家に持ち帰りならブラック企業だな

866 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 19:13:06.03 ID:5nd4WcY/0.net]
>>848
別の話だろ
Excelと販管ソフトに個々に入力してるから安心とか言うならそれは単に二重入力してミスを見つけてるだけの話

>>851
まあこんなことを言い出すやつなんだろうけどw

867 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 19:20:26.34 ID:5nd4WcY/0.net]
>>849
だから何をやりたいのかいまいちよくわからんけど100個コピー作りたいならループで回せばいいだけ
新規のDictionaryはループ中で確保する
timeline.Add Yukkuri
Dim N As Long
Dim Yukkuri1 As Dictionary
Dim Key As Variant
For N = 1 To 100
Set Yukkuri1 = New Dictionary
For Each Key In Yukkuri.Keys
Yukkuri1.Add Key, Yukkuri(Key)
Next
timeline.Add Yukkuri1
Next

868 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 19:55:07.24 ID:pQuel4xur.net]
>>853
2つにそれぞれ意味があるから良いだろ
ソフトは客先に納品書や請求書をプリントしたり、EXCELは社内の全ての管理をしやすいように情報付与、そしてその2つが在る事でどちらのかの入力ミスを防げる
この仕組みで会社が儲かってるんだからケチ付けられんわ俺も

869 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 20:04:58.23 ID:xRK/d49A0.net]
>>814は恐らく連想配列が欲しいわけではなく、
javascriptやpowershellにあるような動的なプロパティが欲しいんだろう
VBAではそういう便利なものはないので基本ノードデータにジャグ配列を使って
ノードの先頭にプロパティ名に相当するタグを付けていった方が記述量的にも混乱が少ないと思われる

870 名前:デフォルトの名無しさん mailto:sage [2023/01/22(日) 20:21:20.32 ID:xRK/d49A0.net]
>>814の意図を汲んだデータをジャグ配列のノードで表記すると恐らく以下の様になる
dim timeline_root
timeline_root = array("timeline" _
,array("Yukkuri", array("Name", "霊夢"), array("serif", "霊夢です")) _
,array("Yukkuri", array("Name", "魔理沙"), array("serif", "魔理沙だぜ")) _
)
配列の要素0に必ずタグ名が入るようにすれば、HTMLのDOMツリーのように一環した探索ロジックが組める

871 名前:デフォルトの名無しさん (ワッチョイ bf3d-Sc6R) mailto:sage [2023/01/22(日) 23:17:51.08 ID:vQS42HbD0.net]
>>857
やろうとしてることは、ゆっくりムービーメーカー4の定義ファイルをVBAで編集すること。
ゆっくりムービーメーカー4の定義ファイルはJSONになってて、
VBAではJSONが使えないから、誰かが組んだVBA-JSONを使うと
JSONがVBAのコレクションやディクショナリー(連想配列)で作られたデータになる。
そこなかで、セリフが定義されてるを連想配列を複製してセリフ書き換えてくてことをやってるんだけど、
VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
ただ、試行錯誤していたら
一旦同じ連想配列をaddしたものを作って、
それをjsonにして、またそのjsonを連想配列に戻してやれば、
別メモリが割り当てられた連想配列が出来上がった。
そのあとは個別に要素を書き換えられる。
javascriptとかは
.配列.push({...Yukkuri[0]})
とかやれば行けたんだが、VBAは無理なのか。



872 名前:デフォルトの名無しさん [2023/01/23(月) 00:40:24.32 ID:g2a0jdgy0.net]
こんどはjavaかw
できるならそっちでやれよ

873 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 02:01:54.23 ID:8zQTqYpQ0.net]
>>858
処理対象がjsonなら最初からそう書けばいいのに
いくつか手段はあるけどVBAでやろうとすると結局面倒だし特に理由が無いなら他を検討してみては
VBA-JSONの使い方の話なら俺は知らん

874 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 05:38:36.83 ID:yam+YnrUa.net]
>Excelと販管ソフトに、個々に入力してるから安心
もし、この2つが異なった値なら、システムが破綻しているw

オリジナルは1つのみ!
そして、バックアップ用のコピーを持つべき!

875 名前:861 mailto:sage [2023/01/23(月) 05:45:42.29 ID:yam+YnrUa.net]
例えば、銀行のシステムでも、2つのオリジナルを持たない。
3人が同時入力して、多数決でオリジナルを決める

サーバーでもそう。偶数個のノードにしない。
1:1, 2:2 などの分断が起きて、どちらがオリジナルか判断できなくなる

必ず、奇数個で判断して、オリジナルを決める。
そして、オリジナルのバックアップ用のコピーを持つ

そうしないと、システムが破綻する

876 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 05:47:16.87 ID:7g54Dlndr.net]
>>861
知らんがな
システムの良い悪いの判定なんてお前らに求めて無い事を察しなさい

俺以外の社員含めて理不尽な事をやってるなと思いながら仕事をしてるんだから

70歳の引退予定の上司に言ってくれ

そいつがいなくなればスッキリさせる

877 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 05:53:04.08 ID:7g54Dlndr.net]
>>862
例えば3人で販管ソフトに入力したとして
その販管ソフトの仕様により、会社の必要とする情報を持てない場合はどうするんですか?
そもそも一人しか人的資源が無い場合はどうするんですか?

878 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 06:43:46.30 ID:iLyXDG2rH.net]
>>872さんはキーワードで所望の範囲指定はできたのでしょうか?

879 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 06:47:14.18 ID:7g54Dlndr.net]
>>872
答えな

880 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 07:03:42.58 ID:7g54Dlndr.net]
>>865

変数を定義して範囲の右下のキーワードを拾って

ActiveSheet.PageSetup.PrintArea =

のところにその定義した変数を入れてやるという

881 名前:理屈で合ってますよね?

後はフサフサでも分かるEXCEL VBAの本が到着してから勉強します
[]
[ここ壊れてます]



882 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 07:11:24.85 ID:iLyXDG2rH.net]
よかったです、がんばってください!

883 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 08:50:43.95 ID:rT2ytU3d0.net]
>>858
> VBAのSETて参照するだけで、その参照したものを上位の配列にaddしても、
> 参照先情報みたいなものがaddされるだけで、別メモリーの情報がaddされるわけじゃない。
だから新規に作ってコピーしなよって書いたのに...
コードまで書いたのに無視するんならもうさじ投げるわ

884 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 09:10:22.34 ID:+DM8uE5N0.net]
>>869
新規に作るていっても、複雑な連想配列の塊をどうやって作る?
サンプルはたかだなNameとserifしかキーがないけど、
キーがいっぱいある構造のデーターをコード内でコピーするロジックを書くのは無理だと考える。
しかもその構造が動的だったらお手上げ。

885 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 09:18:38.98 ID:0EjNvA6Wd.net]
質問スレに回答してくる人は善意でやってるだけで最終的に自分で解決できないならあきらめろって話

886 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 09:32:51.14 ID:QZVEgBP9a.net]
>>870
> キーがいっぱいある構造のデーターをコード内でコピーするロジックを書くのは無理だと考える。
> しかもその構造が動的だったらお手上げ。
お前にはお手上げなだけだろw
>>854 に "Name" とか "serif" なんて書いてない、キーを動的に取得してコピーしてることすら読み取れないレベルなら諦めたほうがいいと思うよ

887 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 09:42:01.99 ID:q/YAUd9Kd.net]
マクロでやりたいなら行数が最大になるパターンで書式作っておいて、そこにデータ入力、不要な行の削除でそのまま印刷すればよくね?

888 名前:デフォルトの名無しさん (ワッチョイ bf3d-Sc6R) mailto:sage [2023/01/23(月) 09:55:52.06 ID:+DM8uE5N0.net]
>>872
すまんできたわ。
ありがとう。
Set Yukkuri1 = New Dictionary
を書く位置を間違えてた

889 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 13:24:02.41 ID:2y89VdvQ0.net]
またVBAが壊れた。
プロシージャの中でオブジェクト変数に割り当てる
ワークシート名やクエリー・テーブル名を
日本語にしているのはマズい?

890 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 15:15:51.75 ID:cuqAJLzI0.net]
インターネットが壊れた

891 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 17:40:15.92 ID:zqGzpVPE0.net]
vbaが壊れるという表現が分からない
プログラムは組んだようにしか動かない



892 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 18:35:46.07 ID:2y89VdvQ0.net]
先週までは問題なく動いていたブックを開くと、
すぐExcelが落ちて回復が入ってしまい、
回復ブックを開くと、プロシージャがモジュールごと丸々なくなっていた。

ワークシートのクエリーやテーブル、計算式やグラフは壊れていなさそうで、
新たにモジュールを作り直して
バックアップを取っていたプロシージャの記述をそのまま貼り付けたら、
一応、VBAも動くようになった。

過去には新たなモジュールすら作れなくなったことも。

893 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 19:12:29.48 ID:g2a0jdgy0.net]
自力で解決した自慢ですね、わかります

894 名前:デフォルトの名無しさん (ワッチョイ 53da-Jpma) mailto:sage [2023/01/23(月) 19:45:05.26 ID:GmkrhCzJ0.net]
過去に学んでこの際だからぜんぶ変えてしまおう またいつアプデ地獄に巻き込まれるか知れたもんじゃ無いし
https://qiita.com/Q11Q/items/7a9d4c89726cfaa7abd6

895 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 20:16:53.47 ID:iLyXDG2rH.net]
「VBAが消えてしまった!マクロが壊れて動かない!」
ってな感じで検索してみたら?

896 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 20:31:12.87 ID:XEd9VR/30.net]
ACCESSで、NLSの問題でカナ含むVBAモジュールが開けなくなるってのはあったな

897 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 21:06:30.67 ID:2y89VdvQ0.net]
>>881
ああ、そういえばIMAGE関数が家庭向けサブスクにも配布されたからと、
日曜日にExcelをバージョン2301に更新したんだった・・・

898 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 21:23:58.29 ID:7qHnsy280.net]
確認したけど2212が最新で更新できなかった

899 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 21:28:06.31 ID:c8LJJic2H.net]
NAME?

900 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 21:37:36.60 ID:2y89VdvQ0.net]
これが原因かどうかはまだ分からないけど。
https://i.imgur.com/49fEgC7.png

Office Insiderには参加していない。

901 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 21:54:37.35 ID:c8LJJic2H.net]
>>886
10年ぐらい前、変数を日本語名にしてると一切動かなくなるってバグがあったな
確かACCESSだった
変数を日本語名にしても、あまりいい事はないと思う

>>878
あと、この方法はあまり良くない
一度壊れたブックは、内部的にゴミデータが残っている可能性がある
使いまわすと、そことバッティングする可能性がある
新規ファイルを作り、シートを一つずつコピー、vbaもテキスト単位でコピー、
といった感じで作り直した方が良い
めんどくさいけど、やっておいた方がいいよとは言っておく



902 名前:デフォルトの名無しさん mailto:sage [2023/01/23(月) 21:59:43.45 ID:2y89VdvQ0.net]
>>887
> といった感じで作り直した方が良い

やっぱり・・・orz

903 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 03:50:07.79 ID:ID+MP23U0.net]
ドイツのプログラマーが、Selenium、WebDriverを使わずにEdgeを直接制御するクラスを作ってるのを見つけた
試したらとりあえず動いたんで報告
https://www.codeproject.com/Tips/5307593/Automate-Chrome-Edge-using-VBA

動作テスト中にはまった点を書いておくと、裏でEdgeのアップデートチェックが走ってるとエラーが出て止まる
これだけ殺せば動く
taskkill /f /im msedge.exe
taskkill /f /im MicrosoftEdgeUpdate.exe

あと、Edgeの起動オプションを
--remote-debugging-pipe --disable-automation
に変えるとコマンドラインウィンドウが出なくなる

904 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 14:18:41.94 ID:kQQ7KETY0.net]
Dim a As Long
Dim b As Short

905 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 14:22:05.82 ID:kQQ7KETY0.net]
Dim a As Single
Dim b As Double
Dim c As Triple

906 名前:デフォルトの名無しさん mailto:sage [2023/01/24(火) 20:20:19.23 ID:Fm53fhAfr.net]
フサVBAの本が届いた~
分からないとこはよろしく

907 名前:デフォルトの名無しさん mailto:sage [2023/01/25(水) 00:33:41.40 ID:E3f+ZKf20.net]
>>889
どうしてわざわざEdgeをチョイスするのかと

908 名前:デフォルトの名無しさん mailto:sage [2023/01/25(水) 01:52:23.37 ID:WwTOH1I60.net]
Edgeと言いながらプロトコル的にchronium系共通だし
OSに元から入ってるEdgeならIE難民にはちょうどいいんじゃね

909 名前:デフォルトの名無しさん mailto:sage [2023/01/25(水) 11:18:39.60 ID:PxGM72CY0.net]
他社との業務連携用途とかだと他の選択肢が無かったりする

910 名前:デフォルトの名無しさん (ワッチョイ cfda-88l+) mailto:sage [2023/01/25(水) 11:41:19.68 ID:qyEQLwkW0.net]
自分にできないことを引き受けるから失敗する

911 名前:デフォルトの名無しさん mailto:sage [2023/01/25(水) 14:14:51.65 ID:uj/UrXzd0.net]
できるだろうって思ってガンガン仕様変更されても



912 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 07:02:58.95 ID:QQqpl7Qdr.net]
質問です

VBAを使ってこのスレの人にアンケートを取りたい

皆さんは文系ですか?理系ですか?
もともとプログラミング出来る人ですか?
それとも経理とか必要に迫られて覚えた方ですか?

913 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 07:44:32.02 ID:im4j/4Ys0.net]
>>898
マ板でやれ

914 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 08:08:19.42 ID:QQqpl7Qdr.net]
マ板って何?
包丁切れますか?

915 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 08:12:22.27 ID:jr7Apji9H.net]
無意味なアンケート

916 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 08:14:59.84 ID:jr7Apji9H.net]
文字列の演算をエラーにする方法は無いでしょうか

Sub foo()

Str a
Str b
Str c

a = 1
b = 2
c = a + b
Debug.Print c

End Sub

917 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 08:40:12.57 ID:InTdWzkF0.net]
c = a - b

918 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 08:47:05.40 ID:jr7Apji9H.net]
>>903
お、マイナスだとエラーになるんですね!
・・・ならんやないかーい

919 名前:デフォルトの名無しさん [2023/01/26(木) 09:03:16.60 ID:N0DN9EFmd.net]
皆さんはお仕事何されてますか
事務をやって三年、仕事を楽にするために始めたExcelVBAは人並みに身についた気がしますが
ただの事務では給与が足りずプログラマに転向するには経験が浅いのです

920 名前:デフォルトの名無しさん [2023/01/26(木) 09:11:16.84 ID:NYppQtUx0.net]
エクセルのvbaエディタ?がすごくつかいずらくて、
vsCodeでvbaが記述できるxvbaというツールを利用しようと試みています。
ですが、
エクセルで書かれたvbaの日本語文字が、vsCodeで読み込むと文字化けしてしまいます。
おそらく、エクセルの方のエディタがUTF-8ではないのかと思いますが。
このあたり、経験されているかた。どのように対処されていますでしょうか?
どうぞアドバイスください。

921 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 09:44:15.86 ID:eGur5fW5M.net]
>>906
よく分からんけど逆にVSCでCP932使えば良いのでは?



922 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 10:08:42.84 ID:UvNszdC2d.net]
>>902
質問の意味が分からんけどそもそもabcをStringにしてるのはなぜ?
c = a + bに3と戻したいならc = Val(a) + Val(b)とでもすれば

923 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 10:40:51.75 ID:im4j/4Ys0.net]
> Str a
> Str b
> Str c
なんていう謎の言語はスレ違いかと

924 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 11:00:07.24 ID:UvNszdC2d.net]
>>905
スレ違いです

925 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 11:10:42.36 ID:JQ22Y2sI0.net]
>>905
転職なら早い方がいい、年齢が若ければ新しい職場にもすぐ慣れるだろうから

926 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 12:32:00.38 ID:Y5eC8vQ8M.net]
>>902
エラーにするってのがよくわからんが
個人的にはc=a+b以降をしたのようにする。

If vartype(a) = vbstring or vartype(b) = vbstring Then
Debug.print "エラー"
Else
c= a + b
Debug.print c
End If

End Sub

>>908
a=1 と直接書いてるけど本当は
a=どっかのセルの値にしたいんじゃね?
で、そのセルには数値以外が入ってる可能性があるから
文字列ならエラーにしたいんじゃないかと。

>>909
文字列に変換するstr関数を使いたかったんじゃね?
書き方間違えてるから謎の言語になってるけど。

927 名前:デフォルトの名無しさん [2023/01/26(木) 12:41:55.63 ID:NYppQtUx0.net]
Transposeで作る配列の
一番最初の要素の添字は0じゃなくて、1であってます?

928 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 12:53:54.77 ID:XU6i0xq00.net]
>>902
(1)たとえセルの書式が文字列でも
(2)数字っぽい内容だと
(3)勝手に数値型に変換されてしまう
https://i.imgur.com/0xrxf44.png

何がやりたいのか、ぼかさずに具体的に説明してくれないと無理

929 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 12:55:07.08 ID:jr7Apji9H.net]
>>908
単純にコードのミスを検出したいだけなんです
変数名を間違えた場合の保険程度のつもりなんです

>>909
すいません
別言語触ってて何もかも間違えました
変数宣言dim a as stringのつもりでした

Sub foo()

Dim a As String
Dim b As String
Dim c As String

a = 1
b = 2
c = a + b

End Sub

930 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 13:02:48.18 ID:bIyafktir.net]
>>915
それなら素直にlongで宣言するべきでしょ
変数名間違えた時の保険って、紛らわし変数名にするなって話だし
変数名間違えたときのための保険って言い出したら何も出来ないじゃん
じゃあその「変数名間違ってたときの確認のためのコードの」変数名が間違ってたらどうするの?
その確認のための変数名確認のためのコードをつけるのか?
それが間違ってたら?
確認のための変数名確認のための変数名確認のためのコードをやるの?
って話になる

931 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 13:11:07.62 ID:jr7Apji9H.net]
>>916
逆で、文字列を数値として使ってしまった場合に検出したい
単にタイポ時の保険としてエラーが起こってほしいってだけだよ
vbaに無いなら仕方ない、そういう言語なんだなってだけで
別にそこには期待しないよ



932 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 13:21:15.99 ID:UvNszdC2d.net]
少し上にいた大量にレスしてた奴みたいなおかしな質問者もいるし
適当に質問しても回答者が頑張ってくれるだろみたいな考えの質問者が多すぎなんだよ

933 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 13:31:14.65 ID:XU6i0xq00.net]
>>915
とりまOption Explicitは入れとけ
それ以上はVBA単独ではどうにもならん
型安全な処理系と組み合わせろ

934 名前:913 [2023/01/26(木) 13:32:06.85 ID:NYppQtUx0.net]
ググって解決しましたが。
https://qiita.com/ShortArrow/items/0cf655aaebf0f253a0d4
何故に1から。。

935 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 13:35:53.75 ID:bIyafktir.net]
>>917
あのさぁ、自分の説明が下手くそなくせにできないのは他人のせい、言語のせいにするのはよくないぞ
単にタイプミスって言っても自分がコード書くときにミスしないようにしたいのか、使う際にinputBox等で入力させるときにミスをなくしたいのかで全然違うだろ
エスパーじゃないんだから質問するならもっと具体的にしろよ

936 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 13:39:36.95 ID:XU6i0xq00.net]
>>920
ワークシートが1行目スタートだから

937 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 14:28:02.25 ID:jr7Apji9H.net]
>>921
いやinputboxなら全部文字列だろ

938 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 14:50:16.50 ID:UvNszdC2d.net]
ExcelVBAは型に対する考慮が緩いから正直期待にそえる回答はないと思うよ
例えば変数名の先頭に型を付与するようなルール決めてもタイプミスって言葉で許されるなら破綻するだけだしね

939 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 14:52:16.71 ID:bIyafktir.net]
>>923
だから、最後までちゃんとかけや
それはinputBoxを格納する変数の話だろ
そんな話はしてないわ
色々な具体例があって様々な解決策があるのに、なんにも具体的な話を出さずに抽象的に話しして、一部に対してだけ反論してお前は馬鹿か?

940 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 14:56:29.20 ID:jr7Apji9H.net]
>>924
ですよね
ありがとうございました

>>925
質問を理解できないアホw

941 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 14:58:44.32 ID:bIyafktir.net]
つーか
「単純にコードのミスを検出したいだけなんです
変数名を間違えた場合の保険程度のつもりなんです」
本当にこれだけだったら先頭にOption Explicitつけて似たような変数宣言するな、で終わる話だよな
さすがにOption Explicitをつけてない人はいないだろうからそんな超初歩的な事はありえないと思ってるけど



942 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 15:12:07.01 ID:bIyafktir.net]
>>926
え、>>924で解決したのか?
ってことはマジでOption Explicitをつけてなかっただけ?
そこまで超ド初心者だとは思わんかったわ

943 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 15:26:02.63 ID:PKxWUOv2d.net]
例の零細企業の馬鹿社員だろ

944 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 15:51:08.82 ID:jr7Apji9H.net]
>>928
結局回答できない無能で草

945 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 15:55:50.96 ID:41WP6aJtd.net]
やっぱり
こういうのを相手にするのがそもそもの間違い

946 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 16:26:35.24 ID:QQqpl7Qdr.net]
>>929
ん?呼んだ?

947 名前:デフォルトの名無しさん [2023/01/26(木) 16:54:33.47 ID:N0DN9EFmd.net]
IF Not Isnumeric( a + b ) then c = a + b
とか
c = a & b
とかの雑魚コードでも教えておけばよかったのに

948 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 17:03:23.50 ID:UDgAljjqM.net]
a = 1 の暗黙の型変換でエラーにしたいならそう言えよ

949 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 18:24:03.88 ID:JQ22Y2sI0.net]
>>928
なれると初心者の質問だって見抜けるようになるよ

950 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 18:44:31.80 ID:jr7Apji9H.net]
荒れすぎだろ
どうなってんだよ

951 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 19:02:58.68 ID:UvNszdC2d.net]
質問



952 名前:ェ雑だと回答する側は色々考えるからこういう感じになるんだよ
だから質問する側もちゃんと回答しやすいようにすればいいだけ
[]
[ここ壊れてます]

953 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 19:07:48.41 ID:lq03KzKz0.net]
そんなの期待するだけ無駄
そっとスレを閉じればいいのよ

954 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 19:12:37.90 ID:CIVBTG9eM.net]
零細企業のアホみたいな奴に答えてやろうなんて思うから荒れる
助けてで始まる質問する奴や、頭が悪いのに自分はできるみたいに思っておかしな質問をする奴は無視するのが一番

955 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 19:15:21.07 ID:LFv4Wa39r.net]
てゆーかそんな事を言うやつがわざわざこんなとこ見るなよ
教えてやってるみたいな立ち位置でさw

956 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 19:17:05.41 ID:fSHWBRl+H.net]
変数が文字列ならエラーにすれば?

957 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 19:26:25.23 ID:im4j/4Ys0.net]
そもそも
> Str a
> Str b
> Str c
の時点で実際に動かしてないんだから相手する価値なし

958 名前:デフォルトの名無しさん mailto:sage [2023/01/26(木) 20:00:51.10 ID:BIrRkdsHd.net]
相手にしたくないならほっておけばいいんだから無駄なレス書いて荒らすなよ

>>926
サンプル書けばわかると思うけど例えば下のようなコードは最後の数値型に数値以外の代入のみエラーとなるからコーディングミスしないように注意するしかないという話
Dim a As String
Dim b As Long
a = "a" '文字の"a"
a = 1 '文字の"1"
b = "1" '数字の1
b = "a" '変換エラー

>>928
そういう話じゃないと思うぞ

959 名前:デフォルトの名無しさん [2023/01/26(木) 20:10:49.10 ID:omfXV+oL0.net]
キチンとString型を宣言しているなら確か
+は文字列連結の意味になるんじゃなかったっけ?
であれば前のレスで言ってた人がいたけど
- 0とか*0とかすればエラーになるんじゃないかな?

逆にSQLとかで文字列を数値で扱いたい場合は
*0とか-0とかにすると暗黙の変換で数値にしてくれる。

VBAでは型宣言は絶対だけど、
VBSみたいにスカラー変数を使う場合は
VBAみたいな型指定の型宣言が出来ないんで少し戸惑うかもね。

でもここはVBAのスレなので、
基本的に型宣言は絶対だと思っていいと思うよ。

960 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 00:45:46.26 ID:PwZKt+DmH.net]
>>944
>+は文字列連結の意味になるんじゃなかったっけ?
ならないよ

961 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 00:52:57.14 ID:Gy/KHy720.net]
>>945
https://i.imgur.com/v220L7Z.png



962 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 01:00:12.13 ID:PwZKt+DmH.net]
>>946
!?
https://i.imgur.com/NYHsRgw.png

どうなってんだ?

963 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 02:03:03.20 ID:sVJGpHK80.net]
>>944
> - 0とか*0とかすればエラーになるんじゃないかな?
暗黙の型変換がある以上、数値として認識できる文字列が入ってたらエラーになるとは限らん
VBAは型宣言はあるけど、Variant型と暗黙の変換があるから、絶対とまでは言えないのだよ

>>947
イミディエイトウィンドウの内容なんて書き換えできるからな
釣りじゃないってんならちゃんと詳しい環境かいてみ

964 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 03:26:55.09 ID:wPosq0f50.net]
>>944
>+は文字列連結の意味になるんじゃなかったっけ?
JavascriptやRubyの話だね

965 名前:デフォルトの名無しさん (ワッチョイ 6fda-A+LD) mailto:sage [2023/01/27(金) 04:22:04.52 ID:WUhobyCY0.net]
演算子一覧表
https://support.microsoft.com/ja-jp/office/e1bc04d5-8b76-429f-a252-e9223117d6bd

連結演算子
& 2 つの文字列を組み合わせて、1 つの文字列を作成します。
+ 2 つの文字列を組み合わせて、1 つの文字列を作成し、Null 値を伝達します (一方の値が Null の場合、式全体が Null と評価されます)。

966 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 09:27:20.18 ID:JeWwXD830.net]
VBAはあまり書かなくて理解足らないのは承知しているが、

配列に0から200の値を書き込むサンプル

これは、型があわないとアラートが返ってきます。
ダメな理由を教えてください。

Sub test()
Dim arrs As Variant
Dim i As Long
For i = 0 To 200
arrs(i) = i
Next i
End Sub

967 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 09:46:51.11 ID:HtuDNqBEd.net]
全ての行に「Debug.Print TypeName(arrs)」を入れてみると何でダメかわかってくるかもね

968 名前:デフォルトの名無しさん (ワッチョイ d3ce-Jpma) mailto:sage [2023/01/27(金) 09:50:45.30 ID:Gy/KHy720.net]
>>951
Variant型は便利だけどVBAでは取り扱いが初心者には難しい方だと思う
昨日も変数の型のことで荒れてたけど、できるだけ適切な型を指定した方がバグになりにくい

そのまま動くようにするなら
Sub test()
  Dim arrs() As Variant
  ReDim arrs(200)
  Dim i As Long
  For i = 0 To 200
    arrs(i) = i
  Next i
End Sub

俺が推奨したい書き方は
Const arr_max = 200
Sub test()
  Dim arrs(arr_max) As Long
  Dim i As Long
  For i = 0 To arr_max
    arrs(i) = i
  Next i
End Sub

969 名前:デフォルトの名無しさん (ラクッペペ MM7f-ZVkQ) mailto:sage [2023/01/27(金) 09:50:46.53 ID:+MAp+PmZM.net]
VBAじゃなくてもダメだろ

970 名前:デフォルトの名無しさん (ワッチョイ ff02-qYbV) mailto:sage [2023/01/27(金) 10:21:25.20 ID:JeWwXD830.net]
ありがとうございます。

>>954
JSなら。こんな感じ。
var arrs = [];
for (var i=0; i<200; i++) {
arrs[i] = i;
}

971 名前:デフォルトの名無しさん (ワッチョイ ff02-qYbV) mailto:sage [2023/01/27(金) 10:22:55.83 ID:JeWwXD830.net]
>>952,>>953
ありがとうございました。VBAの配列は癖が強いねえ。



972 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 10:49:30.02 ID:PwZKt+DmH.net]
古い言語だからね
仕方ないね

973 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 12:06:47.69 ID:HtuDNqBEd.net]
>>955のコードはarrsは配列として宣言するような代入してるけど
>>951は配列の宣言がどこにもないからね
癖というよりも単なる勘違いでしょ

974 名前:デフォルトの名無しさん [2023/01/27(金) 15:35:27.15 ID:nAK+7/AUa.net]
0から200だと201回繰り返すのも注意

975 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 16:29:58.00 ID:JeWwXD830.net]
>>953
200個の要素数が確定されている場合ですかね。
将来配列の要素数が変わることがわかる場合、
どうなりますか。

うーん。
VBAで配列操作するより、セル関数でデータを加工していった方が早いし、
分かりやすい気がしてきた。

976 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 17:27:12.70 ID:HtuDNqBEd.net]
>>960
VB(VBA)の場合は配列の再定義するためのRedimというのが用意されている
Dim a(0 to 200) as long
Redim Preserve a(0 to 1000)
とすることで0から200までの値を保証して0から1000までの配列に拡張ができる
まあ正解なんて1つじゃないんだから自分にしっくりくる作り方でいいと思うけどね

あと細かいようだけど>>955の「for (var i=0; i<200; i++) {」は
VBの質問に合わせるなら「i<=200」が正しいんじゃない?

977 名前:デフォルトの名無しさん [2023/01/27(金) 17:38:42.59 ID:EY8clDJJd.net]
>>960
DimRedimは先に回答した人がいるから

>VBAで配列操作するより、セル関数でデータを加工していった方が早いし、
>分かりやすい気がしてきた。

用途にもよるが分かりやすさとしては間違いなくそう
VBA分からないやつでもどんな操作をしているか分かるのはでかいし
特異なケースのテストもわりと少ない手間で試せる

データの成形入れ替え並び替えは全部関数でやって
そうすると関数の参照先シートを変更する度に重くなるから
マクロでは関数が入ったブックの呼び出しと
操作するデータを参照先シートにコピペする作業を任せる

こんなやり方もあり
一応配列格納のほうがいちいちセルの読み取りしない分速いことは速いが
VBAで書き出す手間とエラーチェックの手間と
仕事ならそれを誰かに引き継ぐことを考えると…って感じ

978 名前:デフォルトの名無しさん [2023/01/27(金) 17:55:20.59 ID:JeWwXD830.net]
ありがとうございます。
そうですね。「i<=200」が正しいです。

要素数をいちいち定義したり再定義しないといけないのは
ちょっと不便ですね。自分でも他の方法ないか調べてみます。



データとして直接見えるというのが、セル関数の良さですね。
VBAの配列だと中のデータ見るのに手間かかる。


参考になりました。みなさんありがとうございました。

979 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 19:38:09.77 ID:FOQwFQw10.net]
別に要素数が不確定ならそれなりの組み方があるけどな

980 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 20:25:55.36 ID:uIWhZEdtM.net]
相手にしたら負け

981 名前:デフォルトの名無しさん mailto:sage [2023/01/27(金) 21:37:57.80 ID:DxN0bpvv0.net]
勝ち負けの基準がわからない



982 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 02:38:02.20 ID:I1dsnIs2M.net]
わかった気で勘違いしている馬鹿の間違いや馬鹿さ加減を指摘したら泥沼になるだけだから相手にしたらいかんということだよ
零細企業のアレとか

983 名前:951 mailto:sage [2023/01/28(土) 03:06:54.86 ID:cCrz+GwL0.net]
つまり、>>965を相手にしてはならんということすね。
ありがとう。

984 名前:デフォルトの名無しさん [2023/01/28(土) 06:32:52.50 ID:hxz/by/q0.net]
>>963
まぁScripting.DictionaryかCollectionでも使えば?
二次元配列的な使い方をしたいならついでにクラスのお勉強もしておけばいい。
他にもRecordsetを使うという手もある。

985 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 07:04:12.75 ID:dWzZ2QT5r.net]
>>967
結構、俺のこと好き?
匿名掲示板において個人を認識してもらえるのは書込み冥利に尽きるよ

愛情の反対は無関心だからな

986 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 07:56:23.07 ID:mBQ16TA8r.net]
愛される零細おじさんでつ

自分の業務をEXCELでメニュー作ってボタン一つで飛ぶようにしてるんですが
例えばEXCELにみずほ銀行のアイコンを貼り付けて押せばみずほ銀行のEB画面に飛んだり
売掛金回収ならボタン押せば売掛金管理のファイルを読み込んだり
流石に他のソフトを起ち上げたりはVBAでも無理ですよね?
おっPythonとかなら出来るんですか?

987 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 08:00:10.68 ID:mBQ16TA8r.net]
RPAツールを使えば良いのか。。

988 名前:デフォルトの名無しさん [2023/01/28(土) 08:01:55.27 ID:hxz/by/q0.net]
まーた
RUBY信者の成りすましか・・・

989 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 08:04:56.16 ID:mBQ16TA8r.net]
ん?
RUBYを調べれば良い?

990 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 08:20:41.12 ID:KGu/MZwKr.net]
shell

991 名前:デフォルトの名無しさん (ワッチョイ a75f-cdcZ) mailto:sage [2023/01/28(土) 10:13:10.69 ID:yr1CASjB0.net]
>>971
EB画面は知らんがスクレイピングじゃだめなのか?
売掛金のファイルがcsvならパワークエリで取り込めばいいと思う



992 名前:デフォルトの名無しさん (ワッチョイ 5fda-2biX) mailto:sage [2023/01/28(土) 10:23:25.23 ID:/lutP43W0.net]
ハイパーリンクを調べても、それじゃ無い って結論に至って質問してンのか?

993 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 10:37:54.23 ID:mBQ16TA8r.net]
あ、書き方が悪かったか

愛される零細おじさんでつ

自分の業務をEXCELでメニュー作ってボタン一つで飛ぶようにしてるんですが
例えばEXCELにみずほ銀行のアイコンを貼り付けて押せばみずほ銀行のEB画面に飛んだり
売掛金回収ならボタン押せば売掛金管理のファイルを読み込んだり

以上はハイパーリンクやマクロ記録を使って実現出来てる
売掛金管理ファイルを呼び出した後は、更新ボタンを押すことでパワークエリを使った集計も実現出来てる(更新ボタンを押さたくても更新させる事は出来るがあえて更新前の数値を確認するためにそのようにしてる)

流石に他のソフトを起ち上げたりはVBAでも無理ですよね?
おっPythonとかなら出来るんですか?

994 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 10:41:20.97 ID:mBQ16TA8r.net]
要するに販売管理のパッケージソフトや会計のパッケージソフトを起動させて全自動を追求したくなったという質問です

例えばEPSONの会計ソフトなら定番の資料は自動的に出力出来るのは知ってるが、今使ってるのは毎回、手作業でボタン押さないと出力出来ないんだよね

995 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 10:57:57.78 ID:/lutP43W0.net]
ファイルの意味判ってンのか? 基本のキが欠落してるような
そして、そんな奴が改悪し続けてるExcel Book 数年後に後任に引き継がれて「なんだよ、これ」に成り果てる
そもそも、上司に了解得ているのか?社内のコンプラどうなってんだ おれがコンプラか 社内規定の意味でのコンプラだが

996 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 11:00:07.10 ID:mBQ16TA8r.net]
>>980
お前は毎回理解力が無いな

既に先人が中途半端な仕組みを作ってるからそこに出力を合わせる事を考えてる
このやり方は後任には引き継がない

前任者の手作業を教えるq

997 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 11:01:11.80 ID:mBQ16TA8r.net]
>>977
この時点で読み違いしてるやん
会社でお荷物だろw

998 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 11:45:05.56 ID:/lutP43W0.net]
いけね、ついうっかり980踏んでた
無理だから安価指定しないけど、誰かお願いします

999 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 11:46:26.88 ID:mBQ16TA8r.net]
>>983
分かった

1000 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 11:47:07.68 ID:mBQ16TA8r.net]
はい建てた
Excel VBA 質問スレ Part79
https://mevius.5ch.net/test/read.cgi/tech/1674874007/

1001 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 11:58:33.98 ID:NqcfPhRT0.net]
>>982
お前は他のソフトを立ち上げることとそのソフトのボタンを押すことの区別もついてない時点で>>977以上のお荷物だろ
就職してるかどうかは知らんがw



1002 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:00:37.97 ID:XR4zA44Nr.net]
>>986
は?
ボタンはEXCEL上で作った奴の話だぞ?
ソフトのアイコンクリックじゃないぞ?

1003 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:01:58.62 ID:XR4zA44Nr.net]
あ、ハイパーリンクでソフトの起動まで出来るのか
それは失礼しますた

1004 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:03:14.15 ID:NqcfPhRT0.net]
>>987
EPSONの会計ソフトの話だろ
> 例えばEPSONの会計ソフトなら定番の資料は自動的に出力出来るのは知ってるが、今使ってるのは毎回、手作業でボタン押さないと出力出来ないんだよね
そもそもExcelのボタンの話ならそのボタンに紐づいてるルーチン呼び出せばいいだけだし

1005 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:03:52.20 ID:XR4zA44Nr.net]
となると、そのソフトでダイレクトに帳票印刷のEXEファイルがあるならそれをリンクさせれば良いのか

分かったありがと

1006 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:05:06.01 ID:XR4zA44Nr.net]
>>989
いやEPSONは前職で使ってた奴
でも今のもその実行ファイルを直接起ち上げれば行けるね

1007 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:06:35.27 ID:NqcfPhRT0.net]
>>988
ハイパーリンクでなくても>>975が書いてるShell関数で任意のソフトを起動できる
起動だけならな
https://learn.microsoft.com/ja-jp/office/vba/language/reference/user-interface-help/shell-function
人をお荷物呼ばわりするレベルにないぞ

1008 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:06:36.37 ID:XR4zA44Nr.net]
こりゃEXCELだけでかなりの事は出来るな

1009 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:07:46.42 ID:NqcfPhRT0.net]
>>991
お前の前職なんて知らんがな
とにかくそう言うことをやりたかったんだろ
としか受け取れないわ

1010 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:09:07.22 ID:XR4zA44Nr.net]
でも一般のアプリケーションてその実行ファイルがどれか公開してる?
あ、アプリの動作を監視してるファイルを見れば良いのか?

1011 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:09:25.98 ID:NqcfPhRT0.net]
To: 各位

無能の働き者がワッチョイ無しで次スレ立てちまったんだがどうする?
ワッチョイありで立て直す?



1012 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:10:22.95 ID:XR4zA44Nr.net]
>>996
俺のAIが自動的に削除してたわw

1013 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:10:26.33 ID:NqcfPhRT0.net]
>>995
> でも一般のアプリケーションてその実行ファイルがどれか公開してる?
そんなことも調べられないならすっぱり諦めるなり人に頼むなりしなよ

1014 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:12:38.73 ID:UjlIZ1Ov0.net]
Excel VBA 質問スレ Part79(ワッチョイあり)
mevius.5ch.net/test/read.cgi/tech/1674875532/

1015 名前:デフォルトの名無しさん mailto:sage [2023/01/28(土) 12:13:39.19 ID:XR4zA44Nr.net]
>>998
タスクマネージャーの監視で良いのか?

1016 名前:1001 [Over 1000 Thread.net]
このスレッドは1000を超えました。
新しいスレッドを立ててください。
life time: 89日 22時間 30分 23秒

1017 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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