!extend:checked:vvvvv:1000:512
ExcelのVBAに関する質問スレです
コード書き込みや作成依頼もOK
※前スレ
Excel VBA 質問スレ Part62
https://mevius.5ch.net/test/read.cgi/tech/1561303297/
VIPQ2_EXTDAT: checked:vvvvv:1000:512:: EXT was configured
探検
Excel VBA 質問スレ Part63
■ このスレッドは過去ログ倉庫に格納されています
1デフォルトの名無しさん (ワッチョイ d3d0-EPXH)
2019/09/16(月) 19:34:59.04ID:emfTAhXr0737デフォルトの名無しさん (ワッチョイ eecc-7HT4)
2019/11/18(月) 18:10:29.63ID:7QICIGub0 マクロ実行ブックと同じフォルダ内にある"CCT"というブックに
1つのシートがあって、そのシートをマクロ実行ブックの"CCT1"に貼り付けたいのですが
"CCT"内のシート名が毎回変わってしまうので、変わってもコピペができるマクロをおしえてください
Workbooks.Open ThisWorkbook.Path & "\CCT", ReadOnly:=True
Sheets("*").Cells.Copy ThisWorkbook.Sheets("CCT1").[A1]
ActiveWindow.Close savechanges:=False
1つのシートがあって、そのシートをマクロ実行ブックの"CCT1"に貼り付けたいのですが
"CCT"内のシート名が毎回変わってしまうので、変わってもコピペができるマクロをおしえてください
Workbooks.Open ThisWorkbook.Path & "\CCT", ReadOnly:=True
Sheets("*").Cells.Copy ThisWorkbook.Sheets("CCT1").[A1]
ActiveWindow.Close savechanges:=False
738デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 18:25:23.23ID:cwF5jgoMd >>736
普通はCells(i, j)を使うから
普通はCells(i, j)を使うから
739デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 18:33:30.81ID:cwF5jgoMd >>737
Worksheets(1)じゃ駄目なん?
Worksheets(1)じゃ駄目なん?
740デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/18(月) 19:06:26.91ID:S9/8fJfLM741デフォルトの名無しさん (ワッチョイ 0d7c-RQWt)
2019/11/18(月) 19:14:56.88ID:sS2XhUCG0 vbaを勉強してるのですが、specialcellsとusedrangeの違いが分からないのですが、どんな時に使い分けるのですか?
742デフォルトの名無しさん (ワッチョイ 224b-NlRl)
2019/11/18(月) 19:45:04.18ID:TkavPukF0 どっちも普段使わない
743デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 19:45:09.69ID:cwF5jgoMd744デフォルトの名無しさん (ワッチョイ cd7c-/PCw)
2019/11/18(月) 19:46:05.14ID:HkQQG0+L0 >>737
シート名かシートの順番を固定しないと無理
シート名かシートの順番を固定しないと無理
745デフォルトの名無しさん (ワッチョイ cd7c-/PCw)
2019/11/18(月) 19:49:12.48ID:HkQQG0+L0746デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 19:50:38.34ID:cwF5jgoMd747デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/18(月) 19:55:46.17ID:S9/8fJfLM >>743
お前がそうだというだけの話なのね
お前がそうだというだけの話なのね
748デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 19:56:31.57ID:cwF5jgoMd >>747
そうだよ。
そうだよ。
749デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 19:58:05.76ID:cwF5jgoMd 今までの経験上、組める奴は同意見が多いけどね。
750デフォルトの名無しさん (ワッチョイ c668-iGNt)
2019/11/18(月) 20:05:00.70ID:NN3IfGCl0 >>740
列方向だけに伸ばす事は少ないけど、
for k = 1 to 3
for i = 1 to 最終行
cells(i,k)
next
next
みたいに二重ループにすることはたまによくあるよ
列方向だけに伸ばす事は少ないけど、
for k = 1 to 3
for i = 1 to 最終行
cells(i,k)
next
next
みたいに二重ループにすることはたまによくあるよ
751デフォルトの名無しさん (ワッチョイ 224b-NlRl)
2019/11/18(月) 20:05:54.63ID:TkavPukF0 >>737
シートが1枚しか無いならブック開いてからアクティブシート取得すればいいのでは
シートが1枚しか無いならブック開いてからアクティブシート取得すればいいのでは
752デフォルトの名無しさん (スフッ Sda2-LOTu)
2019/11/18(月) 20:08:35.28ID:OvcXdQbJd Set
753デフォルトの名無しさん (ワッチョイ 8201-0xny)
2019/11/18(月) 20:22:40.48ID:lwVIqPwD0754デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 21:22:26.89ID:cwF5jgoMd >>753
俺の周りって結構広いんで。
俺の周りって結構広いんで。
755デフォルトの名無しさん (ワッチョイ e194-qxAY)
2019/11/18(月) 21:40:37.27ID:/hFPyym30 Rubyなら一行で書ける程度の事をVBAは面倒だね
756デフォルトの名無しさん (ワッチョイ 8201-0xny)
2019/11/18(月) 22:02:21.62ID:lwVIqPwD0 >>754
はいはいw
はいはいw
757デフォルトの名無しさん (アークセー Sx11-CPZv)
2019/11/18(月) 22:39:37.88ID:VbUqW+zkx 俺はCells派
任意のセル範囲内での位置座標を相対指定できてめちゃくちゃ便利
Cells(i)もCells(i, j)もよくつかうしSelection.Cells〜とかよくやる
任意のセル範囲内での位置座標を相対指定できてめちゃくちゃ便利
Cells(i)もCells(i, j)もよくつかうしSelection.Cells〜とかよくやる
758デフォルトの名無しさん (ワッチョイ 0610-Xbus)
2019/11/18(月) 23:25:47.41ID:NH6dP3qE0 >>728
携帯で打ってるのに無理ゆうなよ。
携帯で打ってるのに無理ゆうなよ。
759デフォルトの名無しさん (アウアウウー Sa45-4N22)
2019/11/19(火) 06:07:21.04ID:hrMAmFVPa >>754
ウエストな
ウエストな
760デフォルトの名無しさん (ワッチョイ c602-jK0f)
2019/11/19(火) 09:42:21.51ID:i5CWN+mw0 >>754
カエルかな?
カエルかな?
761デフォルトの名無しさん (ワッチョイ c6f7-G4Z9)
2019/11/19(火) 12:42:00.23ID:QxFuappz0 >>741
SpeciallCellsのほうはユーザー定義関数で使うと不具合あったはず
SpeciallCellsのほうはユーザー定義関数で使うと不具合あったはず
762デフォルトの名無しさん (オッペケ Sr11-bUGG)
2019/11/19(火) 22:43:20.17ID:UG4gZLw4r >>740
RangeをVariantに代入して
For c = 1 To Ubound(Variant)
Variant(1,c)...
が一番楽
だけどRangeが1セルだけの場合上手く代入できない気がする
RangeをVariantに代入して
For c = 1 To Ubound(Variant)
Variant(1,c)...
が一番楽
だけどRangeが1セルだけの場合上手く代入できない気がする
763デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/20(水) 13:27:25.20ID:IaTx24D1d764デフォルトの名無しさん (アウアウウー Sa9d-d1iG)
2019/11/21(木) 15:35:37.98ID:2y1jGWDSa http://officetanaka.net/excel/vba/tips/tips38.htm
Sub Sample1()
Dim RE, strPattern As String, r As Range
Set RE = CreateObject("VBScript.RegExp")
strPattern = "SUM\("
With RE
.Pattern = strPattern ''検索パターンを設定
.IgnoreCase = True ''大文字と小文字を区別しない
.Global = True ''文字列全体を検索
For Each r In ActiveSheet.UsedRange
If .Test(r.Formula) Then r.Interior.ColorIndex = 3
Next r
End With
Set RE = Nothing
End Sub
このソースのDim REの部分ってこのサブルーチンだけを動かすようなマクロの場合いらなくね?
Sub Sample1()
Dim RE, strPattern As String, r As Range
Set RE = CreateObject("VBScript.RegExp")
strPattern = "SUM\("
With RE
.Pattern = strPattern ''検索パターンを設定
.IgnoreCase = True ''大文字と小文字を区別しない
.Global = True ''文字列全体を検索
For Each r In ActiveSheet.UsedRange
If .Test(r.Formula) Then r.Interior.ColorIndex = 3
Next r
End With
Set RE = Nothing
End Sub
このソースのDim REの部分ってこのサブルーチンだけを動かすようなマクロの場合いらなくね?
765デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/21(木) 15:37:08.52ID:LUwjW7Cja766デフォルトの名無しさん (オッペケ Src5-/8GO)
2019/11/21(木) 16:45:06.69ID:CoNvnJper767デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/21(木) 17:16:22.54ID:LUwjW7Cja768デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/21(木) 17:22:58.39ID:LUwjW7Cja vbaの設計的にはSet RE = CreateObject("VBScript.RegExp") これだけで初期化できてるからdimで宣言する必要があるのかコンピューターサイエンスサイドの意味で聞きたい
769デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/21(木) 23:25:18.32ID:BtgKOXu8d 普通は変数宣言を強制するようになってるだろ。
770デフォルトの名無しさん (ワッチョイ 8901-hZ32)
2019/11/22(金) 00:36:07.32ID:kJTMU1Ov0 スモリートインハゲラクター
771デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/22(金) 01:53:36.59ID:NJe7bE9qx >>768
モジュールレベルで変数宣言を強制している場合にはプロシージャ内のDimで宣言していないとコンパイルエラーになる
型指定なしのDim宣言ってのは実際にはVariant型変数の宣言なので、代入時に型評価をしているだけだけどね
RegExp型のメモリ領域をDim宣言時に確保するとなると参照設定が必要でそれはそれでまた別の問題が生じる
モジュールレベルで変数宣言を強制している場合にはプロシージャ内のDimで宣言していないとコンパイルエラーになる
型指定なしのDim宣言ってのは実際にはVariant型変数の宣言なので、代入時に型評価をしているだけだけどね
RegExp型のメモリ領域をDim宣言時に確保するとなると参照設定が必要でそれはそれでまた別の問題が生じる
772デフォルトの名無しさん (スプッッ Sd73-MY8M)
2019/11/22(金) 11:54:02.74ID:L6bND2U2d クラスモジュールを使ってオブジェクト指向(厳密には違うらしいですが…)を理解したいと思っています
Newでオブジェクト生成して、get set letを使いながらプログラムを書くという認識で合っているでしょうか?
Newでオブジェクト生成して、get set letを使いながらプログラムを書くという認識で合っているでしょうか?
773デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/22(金) 12:01:14.10ID:BVLtoDL5a >>771
モジュールレベルで変数宣言を強制している場合には必要なのね、ありがとう良くわかった。
set RE = nothingなんだけどこのサブルーチン実行完了したらメモリとか解放されるからnothingやらなくてもスタック領域占有しないと思ってるんだけど実際のところどうなの?そもそも"VBScript.RegExp"の占有ってスタック領域であってる?
そもそもVBAのこの
モジュールレベルで変数宣言を強制している場合には必要なのね、ありがとう良くわかった。
set RE = nothingなんだけどこのサブルーチン実行完了したらメモリとか解放されるからnothingやらなくてもスタック領域占有しないと思ってるんだけど実際のところどうなの?そもそも"VBScript.RegExp"の占有ってスタック領域であってる?
そもそもVBAのこの
774デフォルトの名無しさん (ワンミングク MMd3-Na0O)
2019/11/22(金) 12:14:16.35ID:rCku/67RM 発達障害か何かか?
775デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/22(金) 12:16:14.12ID:BVLtoDL5a >>774
教えてよ知ってるなら質問してたからこれも
教えてよ知ってるなら質問してたからこれも
776デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/22(金) 12:19:40.92ID:BVLtoDL5a 実際に正常終了する前提ならset RE = nothingしなくてもメモリリーク起きないのか知りたい
777デフォルトの名無しさん (ワンミングク MMd3-Na0O)
2019/11/22(金) 12:25:56.88ID:rCku/67RM 自分で検証して納得しなさいよ
778デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/22(金) 12:44:22.42ID:BVLtoDL5a779デフォルトの名無しさん (ワッチョイ 1301-hZ32)
2019/11/22(金) 12:55:31.14ID:VuiommTl0 >>774
相手するなよ…
相手するなよ…
780デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/22(金) 13:00:58.08ID:BVLtoDL5a781デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/22(金) 13:03:14.92ID:BVLtoDL5a アインシュタイン「6歳の子供に説明できなければ、理解したとは言えない。」
782デフォルトの名無しさん (ワッチョイ 7b02-Ghh+)
2019/11/22(金) 15:54:34.05ID:ioMkz3g00 6歳って小1とかだよな?
小1が5chか・・・
小1が5chか・・・
783デフォルトの名無しさん (ワッチョイ c1da-/L9V)
2019/11/22(金) 16:07:33.42ID:TX54f/dc0 名探偵かよ
784デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/22(金) 16:59:48.42ID:K4D/35s4a785デフォルトの名無しさん (アウアウカー Sa55-d1iG)
2019/11/22(金) 17:00:31.99ID:K4D/35s4a お前ら答えられないからって逃げすぎw
786デフォルトの名無しさん (ワッチョイ 132c-4eZD)
2019/11/22(金) 18:58:21.55ID:IgRfeEG+0 CreateObject("VBScript.RegExp")
VBScript のオブジェクトを作っているのだろ。
別のプロセスか、DLL から作っているのだろ
とても、スタックとは思えない
VBScript のオブジェクトを作っているのだろ。
別のプロセスか、DLL から作っているのだろ
とても、スタックとは思えない
787デフォルトの名無しさん (オッペケ Src5-/8GO)
2019/11/22(金) 19:08:12.45ID:/fRhojahr そもそも占有領域とはなにを指しているのか
VBAのローカル変数はスタックにとられる
それ以上はそのオブジェクト次第
VBAのローカル変数はスタックにとられる
それ以上はそのオブジェクト次第
788デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/23(土) 09:54:08.90ID:W8QCJ151x >>773
VBScriptの正規表現オブジェクトはIE付属のエンジンだからヒープにインスタンス作成してるだろうし、参照カウンタ0になったら自動破棄されてるんじゃないの
このサブルーチンからの参照がなくなっても別の参照が発生してたらインスタンスは残るでしょ
だから、このサブルーチンが正常終了するかどうかとメモリリークが起きるかどうかは別問題だと思う
サブルーチン外に制御が渡った段階でこの正規表現オブジェクトがどこかのプロセスによって参照されていて、そっちの制御フローの中に猛烈なメモリ負荷が発生する処理が存在すれば、メモリリークの原因になりうる
execループで空文字をマッチさせていてindexが進まずに無限ループしたりとかね
それと、あなたの認識通り、End Subでスタック内のローカル変数のアドレス空間自体が解放されるので、End Subの直前にこの変数SEにNothingを代入する理由はない
モジュールレベルの変数やグローバル変数を使う場合は逆に、制御フロー上の要求としてサブルーチン終了時に参照アドレスをクリアしなければならない場合もある
VBScriptの正規表現オブジェクトはIE付属のエンジンだからヒープにインスタンス作成してるだろうし、参照カウンタ0になったら自動破棄されてるんじゃないの
このサブルーチンからの参照がなくなっても別の参照が発生してたらインスタンスは残るでしょ
だから、このサブルーチンが正常終了するかどうかとメモリリークが起きるかどうかは別問題だと思う
サブルーチン外に制御が渡った段階でこの正規表現オブジェクトがどこかのプロセスによって参照されていて、そっちの制御フローの中に猛烈なメモリ負荷が発生する処理が存在すれば、メモリリークの原因になりうる
execループで空文字をマッチさせていてindexが進まずに無限ループしたりとかね
それと、あなたの認識通り、End Subでスタック内のローカル変数のアドレス空間自体が解放されるので、End Subの直前にこの変数SEにNothingを代入する理由はない
モジュールレベルの変数やグローバル変数を使う場合は逆に、制御フロー上の要求としてサブルーチン終了時に参照アドレスをクリアしなければならない場合もある
789デフォルトの名無しさん (ワッチョイ c1da-pyDD)
2019/11/23(土) 10:41:17.70ID:oBrftrQi0 Windows10で、SetLayeredWindowAttributesのLWA_COLORKEYを正常動作させる方法ある?
Windows7でやる方法は知ってるので、7の場合の回答は不要。
Windows7でやる方法は知ってるので、7の場合の回答は不要。
790デフォルトの名無しさん (ワッチョイ d9bb-cCMV)
2019/11/23(土) 13:40:54.04ID:Rc1avnYX0 with cells(i,j)
.cut .offset(1,0)
.value=k
end with
cells(i,j)にkが入らず、cells(i+1,j)にkが入るんだけど仕様?
.cut .offset(1,0)
.value=k
end with
cells(i,j)にkが入らず、cells(i+1,j)にkが入るんだけど仕様?
791デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/23(土) 13:47:27.73ID:W8QCJ151x792デフォルトの名無しさん (ワッチョイ 117c-+Oop)
2019/11/23(土) 14:19:57.78ID:r/KLZ+570 >>790
cut貼り付けでセルそのものが移動してるから
cut貼り付けでセルそのものが移動してるから
793デフォルトの名無しさん (ワッチョイ 8901-hZ32)
2019/11/23(土) 14:44:54.38ID:2nUI7BT80 ストリートインハゲラクターはここに来ないの?
794デフォルトの名無しさん (スフッ Sd33-cCMV)
2019/11/23(土) 17:04:16.03ID:S321d+MCd795デフォルトの名無しさん (ワッチョイ 117c-+Oop)
2019/11/23(土) 17:11:07.86ID:r/KLZ+570 仕様というか、代入先を自分で変えてることは伝わってるんだろうか
796デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/23(土) 19:56:27.67ID:mhmkRKEvx >>790
仕様ではなくて君のコードの動作の問題
同じ綴りのオブジェクト式の記述をまとめる文法ルールとしてWithを理解するのは大きな間違い
Withで任意のセルを取得して和のセルに貼り付けたらEnd Withまでずっと貼り付けられた先のセルを参照する
その状態で.Valueに値を代入したら、当然貼り付けられたセルの値が変わる
With Cells(i, j)
.Cut .Offset(1,0)
End With
Cells(i, j).Value = k
とすれば何の問題もない
仕様ではなくて君のコードの動作の問題
同じ綴りのオブジェクト式の記述をまとめる文法ルールとしてWithを理解するのは大きな間違い
Withで任意のセルを取得して和のセルに貼り付けたらEnd Withまでずっと貼り付けられた先のセルを参照する
その状態で.Valueに値を代入したら、当然貼り付けられたセルの値が変わる
With Cells(i, j)
.Cut .Offset(1,0)
End With
Cells(i, j).Value = k
とすれば何の問題もない
797デフォルトの名無しさん (ワッチョイ 1301-hZ32)
2019/11/23(土) 20:39:38.41ID:IdTl1qyV0 >>795
わかってて聞いてるんでしょ
わかってなきゃわざわざ「仕様?」なんて聞き方しないだろうし
With で参照してるセルを変更した時の挙動を書いてるドキュメントは見たことないから仕様かどうかはよくわからん
誰か見たことある人いる?
わかってて聞いてるんでしょ
わかってなきゃわざわざ「仕様?」なんて聞き方しないだろうし
With で参照してるセルを変更した時の挙動を書いてるドキュメントは見たことないから仕様かどうかはよくわからん
誰か見たことある人いる?
798デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/23(土) 22:14:08.35ID:mhmkRKEvx799デフォルトの名無しさん (ワッチョイ 7b68-QS5Z)
2019/11/23(土) 22:28:15.56ID:K0UQgc8i0 >>790
仕様
cut後もcells()で返ってくるオブジェクトは同じ
そういや上書きされるcells()はどうなるのか、と試してみたらnothingになっていた
この辺はExcelのカットアンドペーストなどでおなじみだけど、いざやってみると不思議な気分だ
Sub foo()
i = 2
j = 3
k = "k-"
Set before = Cells(3, 3)
With Cells(i, j)
.Cut .Offset(1, 0)
.Value = k
End With
Debug.Print before.Value
End Sub
仕様
cut後もcells()で返ってくるオブジェクトは同じ
そういや上書きされるcells()はどうなるのか、と試してみたらnothingになっていた
この辺はExcelのカットアンドペーストなどでおなじみだけど、いざやってみると不思議な気分だ
Sub foo()
i = 2
j = 3
k = "k-"
Set before = Cells(3, 3)
With Cells(i, j)
.Cut .Offset(1, 0)
.Value = k
End With
Debug.Print before.Value
End Sub
800デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/23(土) 22:52:50.40ID:mhmkRKEvx >>799
不思議でも何でもない
変数によるオブジェクト参照の仕組みをもっと正確に理解すべきだろ
カットは貼り付け先のセルの削除と貼り付け元のセルの埋め込みを伴う処理だぞ
貼り付けを行った段階で、変数のスタックに格納されていた貼り付け先のセルのポインタが無効になるので、貼り付け後に変数の中身を評価するとNothingになるだけ
セルの仕様ではなくオブジェクト参照の仕組みからして当然
不思議でも何でもない
変数によるオブジェクト参照の仕組みをもっと正確に理解すべきだろ
カットは貼り付け先のセルの削除と貼り付け元のセルの埋め込みを伴う処理だぞ
貼り付けを行った段階で、変数のスタックに格納されていた貼り付け先のセルのポインタが無効になるので、貼り付け後に変数の中身を評価するとNothingになるだけ
セルの仕様ではなくオブジェクト参照の仕組みからして当然
801デフォルトの名無しさん (ワッチョイ d9bb-cCMV)
2019/11/24(日) 00:00:31.22ID:2ECmUh+O0 しかし、VBAをやり始めたら仕事がはかどるな
面倒くさい勤務表の処理もマクロで一発やからな
面倒くさい勤務表の処理もマクロで一発やからな
802デフォルトの名無しさん (ワッチョイ c1da-/L9V)
2019/11/24(日) 02:13:33.02ID:199iFod20 まるで働いているみたいな言い方だな
803デフォルトの名無しさん (アウアウウー Sa9d-5f43)
2019/11/24(日) 02:19:56.28ID:0nk530rxa VBAで劇的に工数削減できるような単価の低そうな仕事をしているのなら、
今の仕事の効率化なんかよりプログラミングに習熟してITエンジニアに転職したほうが金を稼げるのではないだろうか
今の仕事の効率化なんかよりプログラミングに習熟してITエンジニアに転職したほうが金を稼げるのではないだろうか
804デフォルトの名無しさん (ブーイモ MM8d-hgyP)
2019/11/24(日) 02:30:35.85ID:n7Fv0omHM805デフォルトの名無しさん (ワッチョイ 7990-/Q9f)
2019/11/24(日) 11:11:52.55ID:8CqNLf6R0 >>804
いかがでしたでしょうか?
いかがでしたでしょうか?
806デフォルトの名無しさん (ワッチョイ 7b68-QS5Z)
2019/11/24(日) 11:24:51.53ID:h0SmVkt10 >>803>>804
ここで回答するのもアレだが
VBAは基本的に常駐で保守のゴツイ仕事のみ。仕事自体が少なく稼げない。稼ぐなら別のプログラム言語の方が良い。
在宅の案件は更に無い。ゼロと思ったほうが良い(web業者がついでにAccessのVBAをメンテする、といった事例は聞いたことがある)
ここで回答するのもアレだが
VBAは基本的に常駐で保守のゴツイ仕事のみ。仕事自体が少なく稼げない。稼ぐなら別のプログラム言語の方が良い。
在宅の案件は更に無い。ゼロと思ったほうが良い(web業者がついでにAccessのVBAをメンテする、といった事例は聞いたことがある)
807デフォルトの名無しさん (アウアウエー Sae3-a3+U)
2019/11/24(日) 11:58:45.04ID:ZJnm9CLXa VBAはマクロ記録も出来るし、やりたいことをちょいググればいくらでもサンプルコード載ってるからね
808デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/24(日) 13:15:25.69ID:ok5C3nrlx Excel VBA限定の話だろそれ
Outlook とかWordとかPPTのVBAだと途端に情報集めの難易度が上がる
Access VBAは衰退傾向だし
Outlook とかWordとかPPTのVBAだと途端に情報集めの難易度が上がる
Access VBAは衰退傾向だし
809デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/24(日) 15:48:03.50ID:cfSGuIz8d810デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/24(日) 15:54:08.01ID:cfSGuIz8d811デフォルトの名無しさん (ワッチョイ 9994-1Uwe)
2019/11/24(日) 16:27:31.40ID:IpSlmYmZ0 検索力の問題
812デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/24(日) 17:31:24.17ID:cfSGuIz8d >>811
そんなレベルの低い話はしてないんだがw
そんなレベルの低い話はしてないんだがw
813デフォルトの名無しさん (ワッチョイ 1342-iHas)
2019/11/24(日) 17:34:20.62ID:JpcuIalq0 困ったらググれ
814デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/24(日) 18:56:22.86ID:cfSGuIz8d815デフォルトの名無しさん (ワッチョイ c1da-pyDD)
2019/11/24(日) 18:58:17.94ID:C3DnnDsf0 >>809
正常動作しなくなったのは7の時点だけど、その時はAeroを切ってどうにか切り抜けた。
しかし10はどうしたものかなと。
LWA_ALPHAの方は全く問題ないんだけど。
複数のPCで確認したから、おま環ではないと思う。
正常動作しなくなったのは7の時点だけど、その時はAeroを切ってどうにか切り抜けた。
しかし10はどうしたものかなと。
LWA_ALPHAの方は全く問題ないんだけど。
複数のPCで確認したから、おま環ではないと思う。
816デフォルトの名無しさん (ワッチョイ c1da-pyDD)
2019/11/24(日) 19:01:21.70ID:C3DnnDsf0817デフォルトの名無しさん (ワッチョイ 7b68-QS5Z)
2019/11/24(日) 20:13:58.03ID:h0SmVkt10 使えなくなったのか
大昔ハマって透明アプリばっかり作ってた記憶
大昔ハマって透明アプリばっかり作ってた記憶
818デフォルトの名無しさん (ワッチョイ c1da-pyDD)
2019/11/24(日) 21:06:06.38ID:C3DnnDsf0 >>817
使えないっていうか、変な動作をするんだよ。
ThisWorkbook.Application.Hwndでハンドル取ってるのに、
なぜか最初に配置したコマンドボタンのキャプションだけが透過するとか。
使えないっていうか、変な動作をするんだよ。
ThisWorkbook.Application.Hwndでハンドル取ってるのに、
なぜか最初に配置したコマンドボタンのキャプションだけが透過するとか。
819デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/24(日) 21:33:06.21ID:cfSGuIz8d820デフォルトの名無しさん (ワッチョイ 8901-hZ32)
2019/11/24(日) 21:55:17.62ID:HD00MhY50 ストリートインハゲラクター
821デフォルトの名無しさん (ワッチョイ 9159-jtw9)
2019/11/25(月) 01:13:03.20ID:eciN8Z7y0 透過するアプリがあったなあ昔、なんだっけ。
822デフォルトの名無しさん (ワッチョイ c1da-/L9V)
2019/11/25(月) 03:00:00.82ID:N/R5jHCP0 透明じゃ見えないよ
823デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/25(月) 08:39:02.81ID:dg2mzwJYd ググったらサンプルコードが見つかるんじゃなかったのか?
824デフォルトの名無しさん (スプッッ Sd73-MY8M)
2019/11/25(月) 11:42:30.29ID:R7yXiHMCd 初歩的な質問ですみません
標準モジュールとユーザーフォームでプログラムを書いています
1つのモジュール内にプロシージャが沢山あり、読みにくくなってしまいました
本を読むとクラスモジュールでプログラムが読みやすくなると書いてありました
どのような時にクラスモジュールを使ったらプログラムは読みやすく出来ますか?
サブルーチンやForNext,if等の繰り返し使うものはクラスモジュールを使った方がいいでしょうか?
標準モジュールとユーザーフォームでプログラムを書いています
1つのモジュール内にプロシージャが沢山あり、読みにくくなってしまいました
本を読むとクラスモジュールでプログラムが読みやすくなると書いてありました
どのような時にクラスモジュールを使ったらプログラムは読みやすく出来ますか?
サブルーチンやForNext,if等の繰り返し使うものはクラスモジュールを使った方がいいでしょうか?
825デフォルトの名無しさん (ワッチョイ 518e-6LQQ)
2019/11/25(月) 11:52:41.48ID:aBzrxBdk0 >>824
そんなことをここで聞くような人には無理
そんなことをここで聞くような人には無理
826デフォルトの名無しさん (スプッッ Sd73-MY8M)
2019/11/25(月) 14:15:33.91ID:R7yXiHMCd827デフォルトの名無しさん (スフッ Sd33-mWXg)
2019/11/25(月) 14:41:38.68ID:Md9nMpL2d ぶしつけで恐縮ですが、シート内の改行を一気に削除する方法を教えていただけないでしょうか。
cellsで指定してreplaceメソッドってやってもできないので、誰かよろしくお願い申し上げます。
cellsで指定してreplaceメソッドってやってもできないので、誰かよろしくお願い申し上げます。
828デフォルトの名無しさん (ワッチョイ c1da-/L9V)
2019/11/25(月) 15:12:03.96ID:N/R5jHCP0 新しいシート作って改行をl削除したデータをコピーすればいいんじゃないかな
829デフォルトの名無しさん (ワントンキン MMd3-Na0O)
2019/11/25(月) 15:16:08.90ID:FfR4EE1kM Dim R As Range
For Each R In ActiveSheet.UsedRange
R = Replace(R, vbCr, "")
R = Replace(R, vbLf, "")
Next
あるいは
Cells.Replace What:=vbCr, Replacement:=""
Cells.Replace What:=vbLf, Replacement:=""
For Each R In ActiveSheet.UsedRange
R = Replace(R, vbCr, "")
R = Replace(R, vbLf, "")
Next
あるいは
Cells.Replace What:=vbCr, Replacement:=""
Cells.Replace What:=vbLf, Replacement:=""
830デフォルトの名無しさん (アウアウカー Sa55-DMja)
2019/11/25(月) 15:30:30.80ID:Q3qCCewla831デフォルトの名無しさん (ワントンキン MMd3-Na0O)
2019/11/25(月) 15:42:49.49ID:FfR4EE1kM いちおう説明
excel内の改行コードはLFが基本らしいんだけど
マクロ使ったりでCRLFも入力出来るらしい
なのでCRとLFで分けて処理させてみた
excel内の改行コードはLFが基本らしいんだけど
マクロ使ったりでCRLFも入力出来るらしい
なのでCRとLFで分けて処理させてみた
832デフォルトの名無しさん (スッップ Sd33-Q8jM)
2019/11/25(月) 16:52:28.97ID:dg2mzwJYd 結局>>789はどうにもならんのか?
833デフォルトの名無しさん (アークセー Sxc5-dWLu)
2019/11/25(月) 17:03:29.94ID:Wzgj59oVx >>824
クラスモジュールというのはユーザーが独自にメソッドやプロパティ、イベントを定義して使えるオブジェクトのことで、本質的にはユーザーフォームと変わらない設計とコーディングに結構手間がかかる
オブジェクト化によるカプセル化がどうしても必要なら試してもいいが、肥大化したモジュールのコードの可読性改善くらいの目的であればやらない方がいいかもしれない
クラス内に定義された関数を呼び出すにも、そのクラスの型をもつ変数を宣言してインスタンスを生成してメソッドを呼び出なければならなくなるのでね
モジュールがごちゃごちゃして嫌なら、モジュールに記載している関数を機能カテゴリに分類して、各機能カテゴリごとモジュールを分ければいいんじゃないのかな
文字列操作系、メール送信機能系、メッセージダイアログ系、みたいな感じの切り分けで
クラスモジュールというのはユーザーが独自にメソッドやプロパティ、イベントを定義して使えるオブジェクトのことで、本質的にはユーザーフォームと変わらない設計とコーディングに結構手間がかかる
オブジェクト化によるカプセル化がどうしても必要なら試してもいいが、肥大化したモジュールのコードの可読性改善くらいの目的であればやらない方がいいかもしれない
クラス内に定義された関数を呼び出すにも、そのクラスの型をもつ変数を宣言してインスタンスを生成してメソッドを呼び出なければならなくなるのでね
モジュールがごちゃごちゃして嫌なら、モジュールに記載している関数を機能カテゴリに分類して、各機能カテゴリごとモジュールを分ければいいんじゃないのかな
文字列操作系、メール送信機能系、メッセージダイアログ系、みたいな感じの切り分けで
834デフォルトの名無しさん (ワッチョイ 7145-MY8M)
2019/11/25(月) 18:09:55.21ID:H9kNla+G0 >>833
ありがとうございます
おっしゃる通りで今問題なく動くプログラムをわざわざ変える必要は無いですね
まずはモジュールを分けるところから始めてみます
今後プログラムを作る際の参考にさせていただきます
ありがとうございます
おっしゃる通りで今問題なく動くプログラムをわざわざ変える必要は無いですね
まずはモジュールを分けるところから始めてみます
今後プログラムを作る際の参考にさせていただきます
835デフォルトの名無しさん (ワッチョイ 8901-hZ32)
2019/11/25(月) 19:07:37.29ID:6cilP10x0 グラサンのハゲはここにこないの?
836デフォルトの名無しさん (ワッチョイ 7bf7-r64g)
2019/11/25(月) 19:23:35.97ID:9hpYEcN60 シートやセルと変数の定義が重複するようなときに一カ所まとめられて便利
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 自民・麻生太郎 副総裁 石破政権の1年は「どよーん」 高市政権の発足で「何となく明るくなった」「世の中のことが決まり動いている」 [Hitzeschleier★]
- JA全農が「新おこめ券」…来年9月末の有効期限を新設、必要経費のみ上乗せ [蚤の市★]
- 1人3千円の食品高騰対策、何に使える? あいまいなまま衆院通過 [蚤の市★]
- ゆたぼん 二重手術を報告「めちゃくちゃ気に入っています」 [muffin★]
- 「働いて働いて」の流行語大賞に懸念 「言葉が独り歩き」 過労自殺遺族 [尺アジ★]
- ひろゆきさん「津波の来る土地に住むのやクマの来る土地、台風の来る土地、地震の来る土地に住むのが悪い」 [牛丼★]
- 【安倍晋三】クマ駆除で誤射した猟友会隊員に町が1663万円請求【山形】 [452056903]
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★3
- 【実況】博衣こよりのえちえちダンガンロンパ2🧪★2
- 官僚「台湾有事についての質問か、『政府として逐一答えない』と…(カタカタカタ)」高市「私1人で答弁できるわよ!」 [972432215]
- 🏡
- 雑談した~い!
