!extend:checked:vvvvv:1000:512
!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part60
https://mevius.5ch.net/test/read.cgi/tech/1552736349/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:----: EXT was configured
探検
Excel VBA 質問スレ Part61
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ 2b2b-GhCw)
2019/04/25(木) 23:41:03.61ID:rni/4bMj02デフォルトの名無しさん (ワッチョイ 4bda-MRXB)
2019/04/25(木) 23:47:29.76ID:TOmG9Zzp03デフォルトの名無しさん (アウアウウー Sae9-q31G)
2019/04/26(金) 00:13:53.35ID:bx/nrM53a まだやってるのか
4デフォルトの名無しさん (ワッチョイ 1b8c-r3uF)
2019/04/26(金) 00:22:08.10ID:KXEc/Aen0 番兵の方を拾った場合は?
5デフォルトの名無しさん (ワッチョイ 8552-en87)
2019/04/26(金) 10:15:59.90ID:P7S61/Hq0 usedrange.columns.count は多用しますが
これを列番号ではなく
アルファベットで(AX列、というように)
取得することはできますか?
これを列番号ではなく
アルファベットで(AX列、というように)
取得することはできますか?
6デフォルトの名無しさん (ワッチョイ 8552-en87)
2019/04/26(金) 10:30:14.79ID:P7S61/Hq07デフォルトの名無しさん (スップ Sd03-ry4J)
2019/04/26(金) 18:56:37.31ID:udZssoTkd8デフォルトの名無しさん (ワッチョイ b501-ncGm)
2019/04/26(金) 19:59:27.77ID:HeuAVqYr0 ネットワーク上のMDBファイルにADOで接続して取ってきたデータを帳票に表示→印刷というマクロを作りました
しかし1件なら問題ないものの、ループ実行すると正常終了で終わるのですが
実際に印刷すると2件目以降のデータが反映されず、全て1件目のデータが印字されます
どうもMDBから取ってくる部分のタイミングの問題に見える(その部分に差し掛かると画面が固まる。DoEventsを入れずに重い処理をさせたときの感じ)のですが、SleepやDoEventsを適宜挟んだり、印刷ではなく別ブックやpdfに書き出しなどに変更しても効果が見えません
この現象の解消方法をご存知の方いませんか?
しかし1件なら問題ないものの、ループ実行すると正常終了で終わるのですが
実際に印刷すると2件目以降のデータが反映されず、全て1件目のデータが印字されます
どうもMDBから取ってくる部分のタイミングの問題に見える(その部分に差し掛かると画面が固まる。DoEventsを入れずに重い処理をさせたときの感じ)のですが、SleepやDoEventsを適宜挟んだり、印刷ではなく別ブックやpdfに書き出しなどに変更しても効果が見えません
この現象の解消方法をご存知の方いませんか?
9デフォルトの名無しさん (ワッチョイ 2301-4ufv)
2019/04/26(金) 20:55:16.93ID:/RLYU0hs010デフォルトの名無しさん (ワッチョイ b501-zXaJ)
2019/04/26(金) 22:32:55.22ID:dk67nCTl0 >>8
言ってることがよくわからんけど、adoで直結してデータとってきてるなら、doevents挟んでも意味ない
なので、そもそもバグってると思われる。
doeveが効果あるのは、間接的に(と言って伝わるかわからんけど)何か処理するとか表示を反映させるとかの場合
言ってることがよくわからんけど、adoで直結してデータとってきてるなら、doevents挟んでも意味ない
なので、そもそもバグってると思われる。
doeveが効果あるのは、間接的に(と言って伝わるかわからんけど)何か処理するとか表示を反映させるとかの場合
11デフォルトの名無しさん (アメ MM79-GA32)
2019/04/27(土) 00:36:16.19ID:Oy0GcGsSM12デフォルトの名無しさん (オッペケ Sr01-vRe5)
2019/04/27(土) 07:20:56.42ID:0MG9/7scr movenextが無いとかループカウンタが加算されていないとか
13デフォルトの名無しさん (ワッチョイ b501-zXaJ)
2019/04/27(土) 09:50:04.14ID:xkuV+iFS0 ブレイクポイント置いたり、debug.print挟んだりするのは、
基本のキ
基本のキ
14デフォルトの名無しさん (ワッチョイ 9b68-3cXW)
2019/04/27(土) 12:20:27.60ID:S53FxUuZ0 Sheet1, Sheet2, Sheet3 がある状態で
A1 =fnEnumSheetName() と入力すると
A1 シート名一覧
A2 Sheet1
A3 Sheet2
A4 Sheet3
と表示されるようにしたいのですが
A1に#VALUE!と表示されDebug.PrintがSheet1しか表示しません
期待通りにするにはどう修正すればいいですか?
For文3行目のコメントアウトを外すとDebug.PrintとA1の表示は期待通りです
'シート名列挙
Public Function fnEnumSheetName() As String
Dim iIndex As Integer
For iIndex = 1 To Worksheets.Count
Debug.Print Worksheets(iIndex).Name
' ActiveCell.Offset(iIndex, 0).Value = Worksheets(iIndex).Name
Next iIndex
fnEnumSheetName = "シート名一覧"
End Function
A1 =fnEnumSheetName() と入力すると
A1 シート名一覧
A2 Sheet1
A3 Sheet2
A4 Sheet3
と表示されるようにしたいのですが
A1に#VALUE!と表示されDebug.PrintがSheet1しか表示しません
期待通りにするにはどう修正すればいいですか?
For文3行目のコメントアウトを外すとDebug.PrintとA1の表示は期待通りです
'シート名列挙
Public Function fnEnumSheetName() As String
Dim iIndex As Integer
For iIndex = 1 To Worksheets.Count
Debug.Print Worksheets(iIndex).Name
' ActiveCell.Offset(iIndex, 0).Value = Worksheets(iIndex).Name
Next iIndex
fnEnumSheetName = "シート名一覧"
End Function
15デフォルトの名無しさん (ワッチョイ 9b68-3cXW)
2019/04/27(土) 12:25:43.11ID:S53FxUuZ0 訂正です
× For文3行目のコメントアウトを外すとDebug.PrintとA1の表示は期待通りです
○ For文3行目をコメントアウトするとDebug.PrintとA1の表示は期待通りです
× For文3行目のコメントアウトを外すとDebug.PrintとA1の表示は期待通りです
○ For文3行目をコメントアウトするとDebug.PrintとA1の表示は期待通りです
16デフォルトの名無しさん (オッペケ Sr01-vRe5)
2019/04/27(土) 12:34:38.52ID:0MG9/7scr ブック名を入れてみたら
17デフォルトの名無しさん (オッペケ Sr01-vRe5)
2019/04/27(土) 12:41:15.22ID:0MG9/7scr for iIndex=1 to workbooks("xxx.xls").sheets.count
workbooks("xxx.xls").sheets(iIndex).name
workbooks("xxx.xls").sheets(iIndex).name
18デフォルトの名無しさん (ワッチョイ 0d91-ry4J)
2019/04/27(土) 12:54:30.18ID:Nwb++xAe0 >>9
悔しいから反応してるんだろww
悔しいから反応してるんだろww
19デフォルトの名無しさん (ワッチョイ 0d91-ry4J)
2019/04/27(土) 13:03:37.89ID:Nwb++xAe020デフォルトの名無しさん (ワッチョイ 6df9-PuIg)
2019/04/27(土) 13:09:43.12ID:V/rwcmys0 ActiveSheet.Cells(1, 1) = "シート名一覧"
Dim iIndex As Integer
For iIndex = 1 To Worksheets.Count
ActiveSheet.Cells(iIndex + 1, 1) = Worksheets(iIndex).Name
Next iIndex
全く何がしたいのかわからない
Dim iIndex As Integer
For iIndex = 1 To Worksheets.Count
ActiveSheet.Cells(iIndex + 1, 1) = Worksheets(iIndex).Name
Next iIndex
全く何がしたいのかわからない
21デフォルトの名無しさん (ワッチョイ 0d91-ry4J)
2019/04/27(土) 13:11:56.45ID:Nwb++xAe022デフォルトの名無しさん (アークセー Sx01-QbJb)
2019/04/27(土) 13:15:34.87ID:aEScOWQbx23デフォルトの名無しさん (オッペケ Sr01-vRe5)
2019/04/27(土) 13:19:58.15ID:0MG9/7scr sheet1と表示されるなら、sheet2がないためエラーが発生してるんじゃない
関数は個人用マクロブックとかに書いてあるとか
関数は個人用マクロブックとかに書いてあるとか
24デフォルトの名無しさん (ワッチョイ 6df9-PuIg)
2019/04/27(土) 13:20:05.54ID:V/rwcmys0 >>21
そんなの単純に
A1 =fnEnumSheetName() と入力すると
このファンクション内で最初に書き換えるから?最初でなくても矛盾が生じる
から、動かなくても問題ない、そこに居れた式を書き換えたらなりたたない
当然だろ、何か考える必要あるのか?
そんなの単純に
A1 =fnEnumSheetName() と入力すると
このファンクション内で最初に書き換えるから?最初でなくても矛盾が生じる
から、動かなくても問題ない、そこに居れた式を書き換えたらなりたたない
当然だろ、何か考える必要あるのか?
25デフォルトの名無しさん (ワッチョイ 0d91-ry4J)
2019/04/27(土) 13:25:15.46ID:Nwb++xAe0 >>24
いや、だから元々の質問は成り立たせたいわけだろ。
いや、だから元々の質問は成り立たせたいわけだろ。
26デフォルトの名無しさん (ワッチョイ 0d91-ry4J)
2019/04/27(土) 13:28:49.05ID:Nwb++xAe0 あと、シート自体にロックが掛かってるから入力中は動かないよ。
27デフォルトの名無しさん (ワッチョイ 6df9-PuIg)
2019/04/27(土) 13:36:42.57ID:V/rwcmys028デフォルトの名無しさん (ワッチョイ 9b68-3cXW)
2019/04/27(土) 13:38:26.20ID:S53FxUuZ0 ありがとうございます
ブック名を指定しても
A1にシート名一覧を表示しないようにしても
同じ結果でした
ブック名を指定しても
A1にシート名一覧を表示しないようにしても
同じ結果でした
29デフォルトの名無しさん (ワッチョイ 6df9-PuIg)
2019/04/27(土) 13:42:36.94ID:V/rwcmys0 >>28
すまないけど、人に分かるように書き込みできんのかな?
すまないけど、人に分かるように書き込みできんのかな?
30デフォルトの名無しさん (ワッチョイ 9b68-3cXW)
2019/04/27(土) 13:42:59.47ID:S53FxUuZ0 混乱してるみたいなのでまとめます
>>14の状態(コメントアウト有り)では
A1のシート名一覧は表示され
Debug.PrintもSheet1〜Sheet3まで表示されます
コメントアウトしている部分で書き換えているのはA2〜A4です
>>14の状態(コメントアウト有り)では
A1のシート名一覧は表示され
Debug.PrintもSheet1〜Sheet3まで表示されます
コメントアウトしている部分で書き換えているのはA2〜A4です
31デフォルトの名無しさん (ワッチョイ 2301-4ufv)
2019/04/27(土) 13:44:30.42ID:rUmkpmPg032デフォルトの名無しさん (ワッチョイ 9b68-3cXW)
2019/04/27(土) 13:47:01.70ID:S53FxUuZ033デフォルトの名無しさん (オッペケ Sr01-vRe5)
2019/04/27(土) 13:47:02.53ID:0MG9/7scr すまんかった
>19が正解っぽい
sheet1だけなら
fn〜=application.thiscell.parent.nameで拾える
A1を書き換えようとすると2016では循環参照の警告がでる
>19が正解っぽい
sheet1だけなら
fn〜=application.thiscell.parent.nameで拾える
A1を書き換えようとすると2016では循環参照の警告がでる
34デフォルトの名無しさん (ワッチョイ 9b68-3cXW)
2019/04/27(土) 13:52:49.27ID:S53FxUuZ035デフォルトの名無しさん (ワッチョイ 6df9-PuIg)
2019/04/27(土) 14:02:54.56ID:V/rwcmys036デフォルトの名無しさん (ワッチョイ 9b68-3cXW)
2019/04/27(土) 14:16:52.17ID:S53FxUuZ037デフォルトの名無しさん (ワッチョイ 0d91-ry4J)
2019/04/27(土) 14:42:51.99ID:Nwb++xAe0 >>31
その反応が面白いwww
その反応が面白いwww
38デフォルトの名無しさん (ワッチョイ 0d91-ry4J)
2019/04/27(土) 14:50:38.26ID:Nwb++xAe0 >>30
だから、コメントアウトしたのは入力したシート内のセルに入力するコードだろ。
そういうのは普通は動かないんだ。
動かすことは出来るけど難しい。
例えばA1に途中迄入力してセル内カーソルがある状態でVBAを動かそうとしても動かない。
じゃあ、どうやってやるかと言えばSetTimerを使えば出来る。
ただし、使いなれた人じゃないと大変危険だ。
だから、コメントアウトしたのは入力したシート内のセルに入力するコードだろ。
そういうのは普通は動かないんだ。
動かすことは出来るけど難しい。
例えばA1に途中迄入力してセル内カーソルがある状態でVBAを動かそうとしても動かない。
じゃあ、どうやってやるかと言えばSetTimerを使えば出来る。
ただし、使いなれた人じゃないと大変危険だ。
39デフォルトの名無しさん (ワッチョイ 2301-4ufv)
2019/04/27(土) 14:51:15.82ID:rUmkpmPg040デフォルトの名無しさん (ワッチョイ 0d91-ry4J)
2019/04/27(土) 14:52:49.56ID:Nwb++xAe0 まあ、実際の所、>>35に賛成だね。
こういう処理はセルへの入力をトリガーにすべきじゃないな。
こういう処理はセルへの入力をトリガーにすべきじゃないな。
41デフォルトの名無しさん (ワッチョイ 0d91-ry4J)
2019/04/27(土) 14:53:11.87ID:Nwb++xAe0 >>39
悔しいから反応するわけだw
悔しいから反応するわけだw
42デフォルトの名無しさん (ワッチョイ 1b8c-r3uF)
2019/04/27(土) 14:55:56.58ID:b8TiPyfa0 >>36
関数内で配列を作って返し、複数セルにわたって配列数式での入力(ctrl + shift + Enter)にすればできる
関数内で配列を作って返し、複数セルにわたって配列数式での入力(ctrl + shift + Enter)にすればできる
43デフォルトの名無しさん (ワッチョイ 2301-4ufv)
2019/04/27(土) 15:16:12.29ID:rUmkpmPg044デフォルトの名無しさん (ワッチョイ 9b68-3cXW)
2019/04/27(土) 15:17:32.57ID:S53FxUuZ0 配列にしたらできました
ですがシート数が固定ではなくセル選択範囲がネックになるので
ボタンをトリガーにして当初のコードを利用する事にします
ありがとうございました
ですがシート数が固定ではなくセル選択範囲がネックになるので
ボタンをトリガーにして当初のコードを利用する事にします
ありがとうございました
45デフォルトの名無しさん (ワッチョイ 1b8c-r3uF)
2019/04/27(土) 15:26:37.85ID:b8TiPyfa046デフォルトの名無しさん (ワッチョイ 8d7c-GhCw)
2019/04/27(土) 15:43:11.43ID:t5jYwzHf0 >>14
Excelの決まりとしてセルに入れた数式の結果はあくまでそのセルだけのもの
他のセルを弄るというのはセル数式の領域外
だからActiveCell.Offset〜があるとエラーになる
こういう場合はコマンドボタンとか付けてそれ押したら指定先のセルに表示するとかする
Excelの決まりとしてセルに入れた数式の結果はあくまでそのセルだけのもの
他のセルを弄るというのはセル数式の領域外
だからActiveCell.Offset〜があるとエラーになる
こういう場合はコマンドボタンとか付けてそれ押したら指定先のセルに表示するとかする
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 【野球】大谷翔平、佐々木朗希、山本由伸らがWBC辞退なら広がる不協和音… 『過去イチ盛り上がらない大会』になる可能性も★2 [冬月記者★]
- 【国際】ロシアはすでに戦争準備段階――ポーランド軍トップが警告 [ぐれ★]
- 【news23】小川彩佳アナ「ここまでの広がりになるということを、高市総理はどれだけ想像できていたんでしょうね」 日中問題特集で [冬月記者★]
- 「町中華」の“息切れ倒産”が増加 ブームにも支えられ職人技で踏ん張ってきたが… 大手チェーンは値上げでも絶好調 [ぐれ★]
- 毛寧(もう・ねい)報道官「中国に日本の水産品の市場は無い」 高市首相の国会答弁に「中国民衆の強い怒り」 ★2 [ぐれ★]
- 立民・岡田氏の質疑「不適切」 維新・藤田氏、台湾有事答弁巡り [蚤の市★]
- 【悲報】日本、自民党(統一教会)で完全崩壊か?年金制度実質破綻、生活保護、国民健康保険廃止へ [383063292]
- ㊗157円 [194819832]
- 【高市売り】円安、止まらず!凄い勢いで暴落中。157円へ [219241683]
- 高市早苗って「わざと」日本畳んでるよな? [419865925]
- ‎
- 1,000万円のBMWに擦ってしまった札幌のガキ、捕らえられてガチで詰む [329329848]
