!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
Excel VBA 質問スレ Part78
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 5f2e-juJ7)
2022/10/30(日) 13:43:16.31ID:6yf2E1Gz0671デフォルトの名無しさん (ラクッペペ MM4b-eWfQ)
2023/01/11(水) 10:47:26.82ID:fNRPVgbqM オブジェクト指向ですね
672デフォルトの名無しさん (スッップ Sdb3-Or7w)
2023/01/11(水) 11:07:44.33ID:ESDkH7B7d >>670
標準モジュールに宣言するPublic関数とは違って
ユーザーフォームに宣言するPublic関数はユーザーフォーム名.XXXのような記載をして呼び出すので同名の関数でも構わない
(XXX単独では呼べない)
標準モジュールに宣言するPublic関数とは違って
ユーザーフォームに宣言するPublic関数はユーザーフォーム名.XXXのような記載をして呼び出すので同名の関数でも構わない
(XXX単独では呼べない)
673デフォルトの名無しさん (スッップ Sdb3-Or7w)
2023/01/11(水) 11:12:01.18ID:ESDkH7B7d674デフォルトの名無しさん (スップ Sdb3-5JHk)
2023/01/11(水) 12:42:00.54ID:R7jAcCIud >>670
> みたいにするので別にdoModalにこだわりませんでが
> フォーム名.Initializeとか、フォーム名.ShowMeとかにする危険性はありますでしょうか?
頭にshowをつけてユニークな名前にすることは個人的にはよくある。
initializeはつけたことないけどユニークな名前なら平気なんじゃないかな。ただVBA側で用意されている名前に酷似してしまうから避けるけど。
> みたいにするので別にdoModalにこだわりませんでが
> フォーム名.Initializeとか、フォーム名.ShowMeとかにする危険性はありますでしょうか?
頭にshowをつけてユニークな名前にすることは個人的にはよくある。
initializeはつけたことないけどユニークな名前なら平気なんじゃないかな。ただVBA側で用意されている名前に酷似してしまうから避けるけど。
675670 (ワッチョイ 5b66-tb1I)
2023/01/11(水) 14:39:04.35ID:UjJptVS80 >>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の次の行に制御は戻るのに、モジュールレベルの変数は
値をクリアされてしまうのですね。
とりあえずグローバルのやりとりは卒業できました。ありがとうございました。
そうですよね。自信持って決まった名前のやつ使い回します。
>>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の次の行に制御は戻るのに、モジュールレベルの変数は
値をクリアされてしまうのですね。
とりあえずグローバルのやりとりは卒業できました。ありがとうございました。
676デフォルトの名無しさん (ワッチョイ 5b19-bgKu)
2023/01/11(水) 23:25:55.84ID:DN2jjrph0 オブジェクト指向では
多態性を覚えて初めてその恩恵を実感すると思う。
多態性を覚えて初めてその恩恵を実感すると思う。
677デフォルトの名無しさん (ワッチョイ 5b66-tb1I)
2023/01/12(木) 01:03:37.94ID:kydlVtmO0 >>676
多態性とは…
プログラムの経験が浅いとイマイチ具体例が出て来なくてモヤモヤっとした状態から抜け出せませんね。
VBAはオブジェクトは作れないけど、元々作ってあるオブジェクトの利用は出来るんですよね?多分
as objectとされるものは大体、オブジェクト名.プロパティ名とかオブジェクト名.メソッド名みたいなの持ってますよね。
継承というのは、Range.InsertとRange.EntireRow.Insertみたいな親クラスのメソッドを
引き継いでる子クラスみたいなことなのでしょうか。
今の経験量ではどれだけリファレンスサイトを読んでもピンときません。
残念ですし、アドバイスを活かせず申し訳ないです。
オブジェクト指向と非オブジェクト指向の境目がわかるようになるまで深入りしないようにしようと思っています。
多態性とは…
プログラムの経験が浅いとイマイチ具体例が出て来なくてモヤモヤっとした状態から抜け出せませんね。
VBAはオブジェクトは作れないけど、元々作ってあるオブジェクトの利用は出来るんですよね?多分
as objectとされるものは大体、オブジェクト名.プロパティ名とかオブジェクト名.メソッド名みたいなの持ってますよね。
継承というのは、Range.InsertとRange.EntireRow.Insertみたいな親クラスのメソッドを
引き継いでる子クラスみたいなことなのでしょうか。
今の経験量ではどれだけリファレンスサイトを読んでもピンときません。
残念ですし、アドバイスを活かせず申し訳ないです。
オブジェクト指向と非オブジェクト指向の境目がわかるようになるまで深入りしないようにしようと思っています。
678デフォルトの名無しさん (ワッチョイ 992f-AyIk)
2023/01/12(木) 01:27:45.18ID:285P/eUV0 VBAはそもそもちゃんとしたオブジェクト指向言語じゃないから
ちゃんとしたオブジェクト指向言語やらんと、その境目なんてわからんよ
ちゃんとしたオブジェクト指向言語やらんと、その境目なんてわからんよ
679デフォルトの名無しさん (ワッチョイ 5b19-bgKu)
2023/01/12(木) 05:03:44.98ID:DzjvAA7t0 そうね
Object指向の概念はVBAだけやってれば
人によっては一生身につかないかもね。
この手の参考資料が一番多いのはやっぱりJavaになるのかなぁ。
VBAと文法が近いVB.Netでもあまり見かけないね。アレもIObject指向言語なのに。
Object指向の概念はVBAだけやってれば
人によっては一生身につかないかもね。
この手の参考資料が一番多いのはやっぱりJavaになるのかなぁ。
VBAと文法が近いVB.Netでもあまり見かけないね。アレもIObject指向言語なのに。
680デフォルトの名無しさん (スッップ Sdb3-kOMB)
2023/01/12(木) 14:53:02.95ID:HTRe+k0wd >>679
お前には見つけられないだけ
お前には見つけられないだけ
681デフォルトの名無しさん (ワッチョイ 2b46-K0Bq)
2023/01/12(木) 15:01:56.40ID:LJFXYIUK0 vbscriptでwin32apiのキーダウンを使おうとしているのですが、
キーダウンは検知できるのですが、標準入力に押したキーが入ってしまいます。
この標準入力を削除することはできないでしょうか
もしくはキーダウンが標準入力にならないようにする方法はないでしょうか
キーダウンは検知できるのですが、標準入力に押したキーが入ってしまいます。
この標準入力を削除することはできないでしょうか
もしくはキーダウンが標準入力にならないようにする方法はないでしょうか
682デフォルトの名無しさん (スッップ Sdb3-Or7w)
2023/01/12(木) 15:37:08.41ID:EIUtrygUd ここはExcelVBAのスレなのでスレチです
683デフォルトの名無しさん (ワッチョイ c179-Jp3v)
2023/01/12(木) 18:59:52.86ID:UVTOHIyL0 vbsのスレは気持ち悪いからねえ
win32apiコールとか何でもできるpowershellを検討しよう
win32apiコールとか何でもできるpowershellを検討しよう
684デフォルトの名無しさん (ブーイモ MM4b-AA8W)
2023/01/12(木) 21:50:28.71ID:YA4W27ZxM でもパワーシェルはダブルクリックで起動できないって
ところが
ところが
685デフォルトの名無しさん (スッップ Sdb3-kOMB)
2023/01/12(木) 22:14:31.34ID:HTRe+k0wd >>684
馬鹿にはできないだけだぞ
馬鹿にはできないだけだぞ
686デフォルトの名無しさん (ワッチョイ 9301-bzo3)
2023/01/12(木) 22:22:53.89ID:Iq4TKL6o0 >>684
バッチからPowerShell呼べばいいだけ
バッチからPowerShell呼べばいいだけ
687デフォルトの名無しさん (ラクッペペ MM4b-5Yp/)
2023/01/12(木) 22:26:21.46ID:9uITPonqM PowerShellのスクリプトは.ps1ファイル
普通に起動できる
普通に起動できる
688デフォルトの名無しさん (ワッチョイ 5b19-bgKu)
2023/01/12(木) 22:27:21.44ID:DzjvAA7t0689デフォルトの名無しさん (スッップ Sdb3-kOMB)
2023/01/12(木) 22:47:57.75ID:HTRe+k0wd >>688
VB.NETの方
VB.NETの方
690デフォルトの名無しさん (ブーイモ MM4b-AA8W)
2023/01/13(金) 05:15:26.60ID:60PuJGcsM パワーシェルでやってみます
691デフォルトの名無しさん (アウアウウー Sa85-AyIk)
2023/01/13(金) 06:09:05.42ID:pezk+gKQa オブジェクト指向の典型は、Ruby on Rails。
派生ばっかり
おまけにRubyは、メソッドチェーンで関数型プログラミングもできる
ウェブ開発では、ガチガチのオブジェクト指向で、
テキスト処理では、Linux のパイプラインみたいなメソッドチェーンの両方を使うから、
あらゆるデザインパターンの宝庫
おまけに、Stack Overflow によると米国年収ではトップ。
Rubyは9.3万ドル、多くの言語は6.5万ドル、PHPは5万ドル
派生ばっかり
おまけにRubyは、メソッドチェーンで関数型プログラミングもできる
ウェブ開発では、ガチガチのオブジェクト指向で、
テキスト処理では、Linux のパイプラインみたいなメソッドチェーンの両方を使うから、
あらゆるデザインパターンの宝庫
おまけに、Stack Overflow によると米国年収ではトップ。
Rubyは9.3万ドル、多くの言語は6.5万ドル、PHPは5万ドル
692デフォルトの名無しさん (ワッチョイ 5b19-bgKu)
2023/01/13(金) 09:12:44.75ID:ZL1fQ8g50693デフォルトの名無しさん (アウアウウー Sa91-2RK8)
2023/01/14(土) 13:37:47.00ID:wDcYqAP4a また何かにつけて馬鹿馬鹿って連呼するヤツが来たか。揚げ足の取り合い、誹謗中傷スレになるのも時間の問題だな
荒らしにイチイチ構っているお前らも同罪
荒らしにイチイチ構っているお前らも同罪
694デフォルトの名無しさん (アウアウウー Sa91-487d)
2023/01/14(土) 15:05:35.60ID:Ta24dazVa そんな馬鹿な
695デフォルトの名無しさん (ワッチョイ 8663-+y77)
2023/01/14(土) 16:08:53.73ID:2YQsutp50 Rubyはほんとにオブジェクト指向の学習に向いてるのに5chだとキチガイのせいで勧めづらい
いい加減消えてほしい
いい加減消えてほしい
696デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/14(土) 21:16:02.63ID:MMspDEqhH 今ruby勧めたらボッコボコにたたかれるだろうな
697デフォルトの名無しさん (ワッチョイ 4110-2RK8)
2023/01/15(日) 03:52:20.14ID:N2qBk67x0 新年明けましておめでとう
今年はここの住人に《禿》とか《馬鹿》とか《氏ね》とか言われない事を目標にするぞ!
今年はここの住人に《禿》とか《馬鹿》とか《氏ね》とか言われない事を目標にするぞ!
698デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/15(日) 09:48:56.12ID:OWvGRTxwH >>697
禿ましておめでとうございます
禿ましておめでとうございます
699デフォルトの名無しさん (アウアウウー Sa91-2RK8)
2023/01/15(日) 22:39:41.40ID:aQZF8rrya 氏ね
700デフォルトの名無しさん (ワッチョイ 4a10-JJzj)
2023/01/16(月) 01:40:45.06ID:EHand8Cf0 >>682
VBSからWin32api呼ぶのにVBA使わんの?
VBSからWin32api呼ぶのにVBA使わんの?
701デフォルトの名無しさん (ワッチョイ cd79-sA4L)
2023/01/16(月) 03:47:49.20ID:O4/VkLb30 別の確実な方法があるのにそんなもん使わないのでは
702デフォルトの名無しさん (ワッチョイ ca01-ue0x)
2023/01/16(月) 04:20:04.61ID:MheiSf/Y0 VBA使ってAPIコールするなら最初からVBAで作るだろ...
何が悲しくてvbsなんて使うんだよ
何が悲しくてvbsなんて使うんだよ
703デフォルトの名無しさん (スップ Sdea-f6s+)
2023/01/16(月) 07:47:36.98ID:6JcN0E/Sd >>700
ここは”Excel”のVBAスレです
ここは”Excel”のVBAスレです
704デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/16(月) 07:56:54.09ID:pOVzc0STH もう忘れたけどvbsの方がいい場面があることはある
ただもう二度と使う事はないだろう
ただもう二度と使う事はないだろう
705デフォルトの名無しさん (ワッチョイ 4110-2RK8)
2023/01/16(月) 11:52:06.85ID:9WgehSBk0 Excelのスレだったのか?
706デフォルトの名無しさん (アウアウウー Sa91-487d)
2023/01/16(月) 11:57:18.10ID:ySDGoo7La スレタイ読めないのか
707デフォルトの名無しさん (オッペケ Sr6d-O4H0)
2023/01/16(月) 12:02:48.00ID:saP8Jzxpr >>705
流石にこの発言は馬鹿と言われても仕方ないな
流石にこの発言は馬鹿と言われても仕方ないな
708デフォルトの名無しさん (スップ Sdea-f6s+)
2023/01/16(月) 12:10:40.38ID:6JcN0E/Sd Excelにかぎらなければこっちにスレがあるからこちらへどうぞ
VBAなんでも質問スレ Part3
https://mevius.5ch.net/test/read.cgi/tech/1631184381/
VBAなんでも質問スレ Part3
https://mevius.5ch.net/test/read.cgi/tech/1631184381/
709デフォルトの名無しさん (オッペケ Sr6d-O4H0)
2023/01/16(月) 12:19:23.79ID:saP8Jzxpr710デフォルトの名無しさん (ワッチョイ cada-7DGa)
2023/01/16(月) 12:29:47.52ID:Y+j2ikJL0 それはw 自分の発言読み返して反省しろよw >>705 はボケただけだろ 客席がドッ!と沸くトコだぞ
711デフォルトの名無しさん (アウアウウー Sa91-ue0x)
2023/01/16(月) 12:40:01.09ID:jJVBcCwBa ガチでボケてるのか後出しでボケたことにしたいのか
どちらにせよ>>710が恥ずかしいことに変わりはないなw
どちらにせよ>>710が恥ずかしいことに変わりはないなw
712デフォルトの名無しさん (ワッチョイ 4110-2RK8)
2023/01/16(月) 18:41:31.88ID:9WgehSBk0 スレの住人のカラーや雰囲気全然違ってワロタww
ここは人をバカにして楽しむクソスレww
ここは人をバカにして楽しむクソスレww
713デフォルトの名無しさん (ラクッペペ MMde-+m4i)
2023/01/16(月) 19:21:15.63ID:2xniVU/jM winapi使いたいならexe作れよ
古いけどVB.NETのコンパイラ入ってるから
古いけどVB.NETのコンパイラ入ってるから
714デフォルトの名無しさん (スップ Sdea-f6s+)
2023/01/16(月) 21:08:05.75ID:6JcN0E/Sd715デフォルトの名無しさん (ワッチョイ 4a10-JJzj)
2023/01/17(火) 21:21:18.66ID:uo4zKdp70716デフォルトの名無しさん (ワッチョイ 4110-2RK8)
2023/01/17(火) 22:19:09.74ID:BSKY6W440 たまに勘違いしてVBの質問してくる人とかいるくらいだからな。
717デフォルトの名無しさん (ワッチョイ c63c-w88e)
2023/01/17(火) 22:29:25.09ID:lscX0yJQ0 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="http://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="http://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="http://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
ネットや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="http://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="http://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="http://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
718デフォルトの名無しさん (ワッチョイ c63c-w88e)
2023/01/17(火) 23:43:37.93ID:lscX0yJQ0 自己解決できました。
お騒がせしました。
お騒がせしました。
719デフォルトの名無しさん (ワッチョイ 595f-+wCe)
2023/01/18(水) 20:59:44.95ID:ta9bzp4r0 なんやねん
720デフォルトの名無しさん (JP 0H6d-w88e)
2023/01/19(木) 07:37:02.75ID:40XBuhhWH VBA知らないのですけど
シート間やブック間の情報のやり取りには
コールバック関数みたい非同期処理をしてるんですか?
シート間やブック間の情報のやり取りには
コールバック関数みたい非同期処理をしてるんですか?
721デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/19(木) 07:47:03.02ID:hjMxdzIvH722デフォルトの名無しさん (JP 0H6d-w88e)
2023/01/19(木) 08:01:59.36ID:40XBuhhWH 書き換えや取得してる間はコードの実行は待機し
書き換え、取得が済んでからコードを再開するってことなのでしょうか?
書き換え、取得が済んでからコードを再開するってことなのでしょうか?
723デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/19(木) 08:06:32.97ID:hjMxdzIvH724デフォルトの名無しさん (ワッチョイ cd79-sA4L)
2023/01/19(木) 08:33:41.90ID:WQbdwelX0 コールバックではなくCOMという概念で実際のところプロセス間通信している
VBAの場合多分インプロセスなので他の手段より有利
シートやブックに対してコールバックする処理ってあったっけかな
VBAの場合多分インプロセスなので他の手段より有利
シートやブックに対してコールバックする処理ってあったっけかな
725デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/19(木) 08:42:01.19ID:hjMxdzIvH >>724
色々あるみたいだけど、vbaで使う場面って思いつかない。ってかバグりそうでやらない方がいい気がしてならない・・・
https://qiita.com/Kamo123/items/e676e0cbe6de83410980
色々あるみたいだけど、vbaで使う場面って思いつかない。ってかバグりそうでやらない方がいい気がしてならない・・・
https://qiita.com/Kamo123/items/e676e0cbe6de83410980
726デフォルトの名無しさん (ラクッペペ MMde-VZwO)
2023/01/19(木) 09:20:35.66ID:IH8Q0Y2+M Excelのオブジェクトを外部から弄るつもりならVBAよりもCOMアドインやVSTOアドイン、Office Scriptsなど別の方法利用を検討する方が良い気がする
727デフォルトの名無しさん (ラクッペペ MMde-+m4i)
2023/01/19(木) 10:50:54.77ID:hkE7HGyaM728デフォルトの名無しさん (ワッチョイ 292f-EsBK)
2023/01/19(木) 13:24:17.21ID:4qclTsLf0 イベントはコールバック
729デフォルトの名無しさん (ワッチョイ 595f-+wCe)
2023/01/19(木) 19:42:15.97ID:Dvqs9CAA0 例外処理の悩みなんだけど、
普段、オプションでエラーをクラスで停止するように設定している
その状態でクラスでErr.Raiseすると、標準モジュールでOnErrorGotoステートメントで受け取れないけど皆さんはどうしてるんですかね?
普段、オプションでエラーをクラスで停止するように設定している
その状態でクラスでErr.Raiseすると、標準モジュールでOnErrorGotoステートメントで受け取れないけど皆さんはどうしてるんですかね?
730デフォルトの名無しさん (ワッチョイ 595f-+wCe)
2023/01/19(木) 19:46:40.02ID:Dvqs9CAA0 オプションを変えれば標準モジュールで受けとれるんだけど切り替えが面倒
731デフォルトの名無しさん (ワッチョイ 292f-EsBK)
2023/01/19(木) 20:51:52.93ID:4qclTsLf0 普段からオプション変えとけばいいんじゃね
クラスモジュールで中断って、使いどころがわからん
クラスモジュールで中断って、使いどころがわからん
732720 (JP 0H6d-w88e)
2023/01/19(木) 21:58:24.97ID:40XBuhhWH みなさん、ありがとうです
>>727様、ありがとうです
web系はユーザーの待機ストレスをなくすために
コールバックを多用しますけれど
事務系は一つの処理が終わってから次の処理に移るって
なんだかそんな感じを受けました
ありがとうございました
>>727様、ありがとうです
web系はユーザーの待機ストレスをなくすために
コールバックを多用しますけれど
事務系は一つの処理が終わってから次の処理に移るって
なんだかそんな感じを受けました
ありがとうございました
734デフォルトの名無しさん (ワッチョイ 9568-3JZN)
2023/01/19(木) 23:05:36.09ID:eT7lxKel0 外部取り込みデータでcsvファイルを
QueryTablesメソッドを使用して、TextFileColumnDataTypesを文字列では取り込むとデータの後ろに半角スペースが入ります。
これなぜでしょうか?
標準で取り込むと半角スペースが入らないです。
やりたいのが数値などを文字列で取り込んだ時に、先頭の0を表示させて、E形式で表示されてる数値を全部表示させたいです。
今、文字列形式で取り込むと必ず全データの後ろに半角スペースが入ります。半角スペースが入らないように取り込みたいです
QueryTablesメソッドを使用して、TextFileColumnDataTypesを文字列では取り込むとデータの後ろに半角スペースが入ります。
これなぜでしょうか?
標準で取り込むと半角スペースが入らないです。
やりたいのが数値などを文字列で取り込んだ時に、先頭の0を表示させて、E形式で表示されてる数値を全部表示させたいです。
今、文字列形式で取り込むと必ず全データの後ろに半角スペースが入ります。半角スペースが入らないように取り込みたいです
735デフォルトの名無しさん (ワッチョイ a501-O4H0)
2023/01/19(木) 23:47:25.42ID:XtxzJxUF0736デフォルトの名無しさん (ワッチョイ 4a10-JJzj)
2023/01/20(金) 01:33:26.94ID:W1xzt6Zf0 シートが2つあって、片方非表示にしようとしたら、最低1個は表示しろって怒られるの何で?
非表示にする1行手前でデバッグプリント取ったけど、間違いなく2つとも表示されている。
単体で実行すると問題ないが、新規ブック作ってシートを2つに増やしてからやるとエラーになる。
DoEvents入れても駄目、On Error Resume Next入れてもエラーで止まる。
ワケわからん。
非表示にする1行手前でデバッグプリント取ったけど、間違いなく2つとも表示されている。
単体で実行すると問題ないが、新規ブック作ってシートを2つに増やしてからやるとエラーになる。
DoEvents入れても駄目、On Error Resume Next入れてもエラーで止まる。
ワケわからん。
737デフォルトの名無しさん (ワッチョイ cd79-sA4L)
2023/01/20(金) 01:44:54.53ID:ptsQI5JN0 その非表示にする行が悪いんじゃないの
御託はいいからコード貼れカス
御託はいいからコード貼れカス
738デフォルトの名無しさん (ワッチョイ 4a10-JJzj)
2023/01/20(金) 02:56:01.96ID:W1xzt6Zf0 悪くない。
1行手前では2シートともVisibleは-1を返すから、前後がどんなどんなコードでも関係ないだろ。
1行手前では2シートともVisibleは-1を返すから、前後がどんなどんなコードでも関係ないだろ。
739デフォルトの名無しさん (ワッチョイ 21ce-7DGa)
2023/01/20(金) 03:42:39.52ID:iiD2fqs40 コード貼れ
740デフォルトの名無しさん (ワッチョイ 4a7c-HlDB)
2023/01/20(金) 06:53:35.87ID:WgMHwss/0 >>736
ブック2つあってその片方を丸ごと非表示にしょうとしてるとか
ブック2つあってその片方を丸ごと非表示にしょうとしてるとか
741デフォルトの名無しさん (ワッチョイ 9568-3JZN)
2023/01/20(金) 07:00:14.46ID:Q4AfyMd20742デフォルトの名無しさん (ワッチョイ 7e19-9FUj)
2023/01/20(金) 07:46:13.25ID:z8VJTXTl0 もうACCESSに直接ADO接続して値取って来たら?
743デフォルトの名無しさん (スッップ Sdea-f6s+)
2023/01/20(金) 08:00:52.80ID:ayeW68tCd 質問者がよくわからない現象だから質問してくるんだろうけどそういう人の質問だといまいち状況がつかみにくいから
オリジナルでなくてもいいから現象が再現するサンプルコードでも提供すれば解決しやすいのにね
そういう事ができない人多いよね
オリジナルでなくてもいいから現象が再現するサンプルコードでも提供すれば解決しやすいのにね
そういう事ができない人多いよね
744デフォルトの名無しさん (JP 0H6e-f6s+)
2023/01/20(金) 08:13:31.91ID:9/vVytdyH >>743
^^;
^^;
745デフォルトの名無しさん (スップー Sdca-3JZN)
2023/01/20(金) 09:37:46.21ID:phBDDUUBd >>742
結局、全部にトリムすることにしましたわ
結局、全部にトリムすることにしましたわ
746デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/21(土) 02:59:07.37ID:ZfbTiSBFr 総合スレからこちらに誘導されて来ました
マクロ記録は使えるけどVBAは使えないのに。。
【1 Windows10】
【2 Excel2019 】
【3 いいえ】
【4 否】
普段横書きで印刷をしているシートを
月一回の報告資料のみ、範囲を変えて縦書きにして印刷する必要があります
それでマクロ記録を使って印刷範囲を絞り込んで縦書きにして印刷をするボタンを作成してみたのですが、問題は印刷範囲の最終行が毎回変わるのでその最終行に合わせた範囲指定にするにはどうしたら良いでしょうか?
CTRL+↓を記録は出来ないみたいだし。。
印刷範囲の最終行に透明な「※」でも打ち込んでそこまでを印刷というような事は出来ますでしょうか?
マクロ記録は使えるけどVBAは使えないのに。。
【1 Windows10】
【2 Excel2019 】
【3 いいえ】
【4 否】
普段横書きで印刷をしているシートを
月一回の報告資料のみ、範囲を変えて縦書きにして印刷する必要があります
それでマクロ記録を使って印刷範囲を絞り込んで縦書きにして印刷をするボタンを作成してみたのですが、問題は印刷範囲の最終行が毎回変わるのでその最終行に合わせた範囲指定にするにはどうしたら良いでしょうか?
CTRL+↓を記録は出来ないみたいだし。。
印刷範囲の最終行に透明な「※」でも打ち込んでそこまでを印刷というような事は出来ますでしょうか?
747デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/21(土) 04:22:08.36ID:H5hcEaoi0 >>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
印刷範囲(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
748デフォルトの名無しさん (JP 0Hc7-j5s0)
2023/01/21(土) 07:02:51.83ID:liCBEODDH749デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/21(土) 09:23:02.19ID:DWiRZY6Xr >>747-748
ありがとうございます
マクロ記録はボタンを押すだけなので簡単ですが
VBAになると一気に難易度が。。
1980年代のDOSの前のBASICはちょろっとやってたので本気出せばなんとかなるかもですが
分かりやすい書籍、動画、講座とかありますかね?
ありがとうございます
マクロ記録はボタンを押すだけなので簡単ですが
VBAになると一気に難易度が。。
1980年代のDOSの前のBASICはちょろっとやってたので本気出せばなんとかなるかもですが
分かりやすい書籍、動画、講座とかありますかね?
750デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/21(土) 10:59:00.69ID:Zr2lAE610 そも、縦書きと横書きという独特の言い回しが相手には伝わりにくい
あいうえお ← 横書き
あ
い ← 縦書き 普通に読んでればこう捉える
う
え
お
でもそれでは無くて、帳票の状態が普通はA4横長で印刷してるものを、月イチではA4縦長で印刷したいとかなのか
ほんとうに文字ごとタテ並びにしてしまいたいのか 後者なら敷居が相当高いけど
しかし、初めて白状した状況だと相当の高齢者が毎月なんらかの帳票を印刷するのに苦心している様子からして
自治会の会計資料だのそういう方面だとも考えられる
自分でサンプルを提示するのが困難なら、どっかのサイトで似たような状況を探って画像検索でもしてみて「こういうのをこうしたい」と書かないと伝わり難い
自治会用のExcelサンプルなんかゴロゴロ転がってるし、それを参考にするとか流用するとか 見立て違いなら失敬
しかし、単に「印刷範囲」をその都度指定するだけで簡単に解決するような質問のような気もしてる
あいうえお ← 横書き
あ
い ← 縦書き 普通に読んでればこう捉える
う
え
お
でもそれでは無くて、帳票の状態が普通はA4横長で印刷してるものを、月イチではA4縦長で印刷したいとかなのか
ほんとうに文字ごとタテ並びにしてしまいたいのか 後者なら敷居が相当高いけど
しかし、初めて白状した状況だと相当の高齢者が毎月なんらかの帳票を印刷するのに苦心している様子からして
自治会の会計資料だのそういう方面だとも考えられる
自分でサンプルを提示するのが困難なら、どっかのサイトで似たような状況を探って画像検索でもしてみて「こういうのをこうしたい」と書かないと伝わり難い
自治会用のExcelサンプルなんかゴロゴロ転がってるし、それを参考にするとか流用するとか 見立て違いなら失敬
しかし、単に「印刷範囲」をその都度指定するだけで簡単に解決するような質問のような気もしてる
751デフォルトの名無しさん (オッペケ Src7-a63L)
2023/01/21(土) 12:20:46.74ID:qZakY6uUr >>750
打ち出しているのは零細企業の売上報告資料です
経営陣と上司が高齢者なので今まで長年使い続けて来た会議資料のフォーマットは原則何も変えてはならないという前提の作業です
売上が得意先の売上高順に並べられている資料で
右側に売上の内訳があります
単純にA4縦をA4横にして印刷するわけでは無くて列の削除が2列必要になり、その列を単純に削除すると関数が埋められてるのでエラー表示になるので、手作業だと毎回大変だったので、マクロ記録を使って自動的に印刷出来るようにしました
ところが一つだけ上手く行かなかったのが
今回の印刷範囲の指定でした
簡単な例を作成中なので後でアップします
打ち出しているのは零細企業の売上報告資料です
経営陣と上司が高齢者なので今まで長年使い続けて来た会議資料のフォーマットは原則何も変えてはならないという前提の作業です
売上が得意先の売上高順に並べられている資料で
右側に売上の内訳があります
単純にA4縦をA4横にして印刷するわけでは無くて列の削除が2列必要になり、その列を単純に削除すると関数が埋められてるのでエラー表示になるので、手作業だと毎回大変だったので、マクロ記録を使って自動的に印刷出来るようにしました
ところが一つだけ上手く行かなかったのが
今回の印刷範囲の指定でした
簡単な例を作成中なので後でアップします
752デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 13:39:30.09ID:3LuUMb1z0753デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 13:40:43.92ID:3LuUMb1z0754デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 13:41:54.11ID:3LuUMb1z0755デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 13:46:51.08ID:3LuUMb1z0 ほんとは
>>752
の上の表と下の表の間に担当者別の売上集計表があるので毎月、列の削除は行えずに右側の内訳をスライドして値複写して整形する必要が有ります
この作業が地味に面倒なのでマクロ記録で自動化しました
>>752
の上の表と下の表の間に担当者別の売上集計表があるので毎月、列の削除は行えずに右側の内訳をスライドして値複写して整形する必要が有ります
この作業が地味に面倒なのでマクロ記録で自動化しました
756デフォルトの名無しさん (ワッチョイ 6f19-1gWY)
2023/01/21(土) 14:05:07.15ID:hYuLYDCi0757デフォルトの名無しさん (ワッチョイ 43ad-zVY0)
2023/01/21(土) 14:07:16.17ID:3LuUMb1z0 >>756
syntax error
syntax error
758デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 14:10:22.83ID:qZakY6uUr 最初で最後のプログラミングが
年賀状当選ハガキ発見プログラムでした。。
年賀状当選ハガキ発見プログラムでした。。
759デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/21(土) 14:55:21.95ID:Zr2lAE610 レコード総数どのくらいか判らんけど、回答待ってる間に別シートにコピーして並べ替えするだけで済むような
いくら零細だからって業務用途なら自社内で解決できるレベルに収めておかないと、引き継ぎに難儀するような
↓こういうのを参考にしてじぶんで懸命に制作してもいいかも知らんけど
https://forest.watch.impress.co.jp/docs/serial/exceltips/1306514.html 単なる受け売りじゃ応用利かなくなるだろうし
いくら零細だからって業務用途なら自社内で解決できるレベルに収めておかないと、引き継ぎに難儀するような
↓こういうのを参考にしてじぶんで懸命に制作してもいいかも知らんけど
https://forest.watch.impress.co.jp/docs/serial/exceltips/1306514.html 単なる受け売りじゃ応用利かなくなるだろうし
760デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 15:43:24.35ID:qZakY6uUr >>759
そのくらいは使えるんだけど。
そのくらいは使えるんだけど。
761デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 15:55:42.09ID:qZakY6uUr 数字掴むのはパワークエリやパワーピボットでなんとでもなるんだけど
今まである資料にキッチリ合わせた体裁にしないとならんところで苦労をしていて
今まである資料にキッチリ合わせた体裁にしないとならんところで苦労をしていて
762デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 16:26:39.90ID:qZakY6uUr763デフォルトの名無しさん (ワッチョイ e379-TshA)
2023/01/21(土) 16:46:59.18ID:H5hcEaoi0 >>752-754
1 日次を人間が更新 or 印刷
2 1を元に週次で印刷
3 1を元に月次で印刷
ということなら、シートをあらかじめ上記3つに分ける方向で考えた方がいいんじゃないかね
ご存知かもしれないけど「Excel VBA やりたい事」でぐぐれば大抵の事は出てくるよ
取り急ぎ動的な範囲選択の記述の仕方とか判ればVBAの文法とかあやふやでも全然いけそうだけど
1 日次を人間が更新 or 印刷
2 1を元に週次で印刷
3 1を元に月次で印刷
ということなら、シートをあらかじめ上記3つに分ける方向で考えた方がいいんじゃないかね
ご存知かもしれないけど「Excel VBA やりたい事」でぐぐれば大抵の事は出てくるよ
取り急ぎ動的な範囲選択の記述の仕方とか判ればVBAの文法とかあやふやでも全然いけそうだけど
764デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 16:50:11.61ID:qZakY6uUr765デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/21(土) 16:58:34.85ID:Zr2lAE610 何度も聞くけど「印刷範囲」の設定ってどうやってる? マウスで印刷したい範囲をドラッグ選択して印刷範囲に設定するだけなんだけど?
月ごとに微妙に行数が増減するから用紙からはみ出るとかの懸念? Excelの初歩の初歩のような気がしてきた
月ごとに微妙に行数が増減するから用紙からはみ出るとかの懸念? Excelの初歩の初歩のような気がしてきた
766デフォルトの名無しさん (ワッチョイ 7ff0-j5s0)
2023/01/21(土) 17:11:10.91ID:pNicHJvH0 必要な情報を配列に入れ込んで
それで新しいシートを作り直したらどうでしょう?
新しいシートは手作業でフォーマットしておくか
VBAで印刷範囲の列数行数を取得して
配列から取り出してセルに代入するとか
誤って元データを失わないように
シートの追加削除はあまりどうなんだろうって気がします
それで新しいシートを作り直したらどうでしょう?
新しいシートは手作業でフォーマットしておくか
VBAで印刷範囲の列数行数を取得して
配列から取り出してセルに代入するとか
誤って元データを失わないように
シートの追加削除はあまりどうなんだろうって気がします
767デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 17:26:56.30ID:qZakY6uUr >>765
いや、だから関数とか印刷範囲の設定で済まないので悩んでいるわけです
それだけで済むならマクロ記録で終了です
不要範囲の削除で関数の連携が無くなるから
数値コピーしたり
手動の整形を伴うのと
毎月売上の会社は一定じゃないし
いや、だから関数とか印刷範囲の設定で済まないので悩んでいるわけです
それだけで済むならマクロ記録で終了です
不要範囲の削除で関数の連携が無くなるから
数値コピーしたり
手動の整形を伴うのと
毎月売上の会社は一定じゃないし
768デフォルトの名無しさん (オッペケ Src7-zVY0)
2023/01/21(土) 17:34:58.85ID:qZakY6uUr >>766
元データを失わないように
元データからマクロで読み込んでコピーファイルを作成して、そこで作業を行ってから終了時にマクロで元データに書き込むようにはしています。。
売上の最新情報は他の人と共有しているファイルになるので、これもコピーファイルを作成してからデータを新しいシートにコピペして、パワークエリを使ってそのファイルから読み込んで毎度自動更新するようにしています
定形フォーマット(シート)を使ってVBAで行数を決められると確かに良いですね
元データを失わないように
元データからマクロで読み込んでコピーファイルを作成して、そこで作業を行ってから終了時にマクロで元データに書き込むようにはしています。。
売上の最新情報は他の人と共有しているファイルになるので、これもコピーファイルを作成してからデータを新しいシートにコピペして、パワークエリを使ってそのファイルから読み込んで毎度自動更新するようにしています
定形フォーマット(シート)を使ってVBAで行数を決められると確かに良いですね
769デフォルトの名無しさん (ブーイモ MM7f-Njuq)
2023/01/21(土) 17:41:46.80ID:zrHjWBn6M >>768
なんか頭のハゲた人がいっぱいいそうな会社だなあ。
なんか頭のハゲた人がいっぱいいそうな会社だなあ。
770デフォルトの名無しさん (ワッチョイ 53da-Jpma)
2023/01/21(土) 17:57:20.75ID:Zr2lAE610 ダメだこりゃ 行や列の非表示とかも知らなそう
たぶん「書き間違えました」とか訂正あるんだろうけど、>作業を行ってから終了時にマクロで元データに書き込むようにはしています
これはやっちゃいけない最たるものじゃないのか? 元ファイルと作業ファイルは一方通行にしとかなきゃ、戻してどうすんだ
40年前にBASIC触った世代? なんかアタマでっかちで実務に向いてない 縦書き横書きすら誤用してるのにいっちょまえな用語駆使しようとして伝わらない
すまんがサジ投げる 君らに任せた
たぶん「書き間違えました」とか訂正あるんだろうけど、>作業を行ってから終了時にマクロで元データに書き込むようにはしています
これはやっちゃいけない最たるものじゃないのか? 元ファイルと作業ファイルは一方通行にしとかなきゃ、戻してどうすんだ
40年前にBASIC触った世代? なんかアタマでっかちで実務に向いてない 縦書き横書きすら誤用してるのにいっちょまえな用語駆使しようとして伝わらない
すまんがサジ投げる 君らに任せた
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【速報】「女芸人No.1決定戦 THE W」9代目女王にニッチェ! 7年ぶり3度目で悲願の優勝 [牛丼★]
- 731部隊の新資料、中国が公開 「日本が細菌戦の罪を自白」と主張 ロシアが引き渡し [少考さん★]
- 中国・ロシア両軍の爆撃機が東京方面へ向かう「異例のルート」を共同飛行…核も搭載可能、連携して威嚇か ★7 [ぐれ★]
- 【広島】ペルー女性の国保加入を誤って認め、福山市が医療費484万円を肩代わりするミス…入院して手術を受ける [ぐれ★]
- 東京の自販機そばに金塊4200万円分、何者かに持ち去られる…札幌の50代が8000万円振り込んだ後に上京して被害 [どどん★]
- 山田邦子 ひょうきん族時代の年収は12億円「ただ税金が80%」 [muffin★]
- パン🍞つー✌まる👌見え👊😅👊
- 山田邦子 年収12億円も税金80% [303493227]
- テメェは俺を怒らせたオラァ👊💢😅💢👊🏡
- 【悲報】OpenAI「助けて!!チャットGPTにいちいち『ありがとう』とかお礼を言う馬鹿のせいで数100万ドルが無駄になってる😭」 [746833765]
- お尻の穴付近が痒いの…♡
- 今日のTHE Wで一番エロかったのwwwwwwwwwwwwwwww
