!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:emfTAhXr0677デフォルトの名無しさん (ワッチョイ 9fda-AXNO)
2019/11/13(水) 20:10:53.70ID:YFdnwmN50 何だそりゃww
可視セル以外は計算しちゃいけないのか?
計算してもいいなら、全部配列に入れて計算しちゃえば?
可視セル以外は計算しちゃいけないのか?
計算してもいいなら、全部配列に入れて計算しちゃえば?
678デフォルトの名無しさん (ワッチョイ 2be5-NsPY)
2019/11/13(水) 20:15:05.26ID:YIACCBmB0679デフォルトの名無しさん (オッペケ Sr0f-NaRu)
2019/11/13(水) 20:15:12.55ID:6AWs9S2tr >>676
B列にはじめから計算式入れとけば良いんじゃ
B列にはじめから計算式入れとけば良いんじゃ
680デフォルトの名無しさん (ワッチョイ fb7c-Sray)
2019/11/13(水) 20:23:26.06ID:1iCOkal60681デフォルトの名無しさん (ササクッテロ Sp0f-jIeE)
2019/11/13(水) 21:12:54.98ID:xS2J4sOcp 質問失礼します。
vbaからc++のdllへ引数を渡してc++で処理し、配列をvba側に返したいです。
引数で渡すものは、配列ではありません。
文字列や数値をvbaで受け取ることは出来るのですが、配列はどのようにc++から受け取れば良いのでしょうか?
お願いします。
vbaからc++のdllへ引数を渡してc++で処理し、配列をvba側に返したいです。
引数で渡すものは、配列ではありません。
文字列や数値をvbaで受け取ることは出来るのですが、配列はどのようにc++から受け取れば良いのでしょうか?
お願いします。
682デフォルトの名無しさん (ワッチョイ 2be5-NsPY)
2019/11/13(水) 21:45:08.38ID:YIACCBmB0683デフォルトの名無しさん (ワッチョイ fb7c-Sray)
2019/11/13(水) 21:50:01.18ID:1iCOkal60 >>682
だからボタン押した時色によって計算変えればいいじゃないかと
だからボタン押した時色によって計算変えればいいじゃないかと
684デフォルトの名無しさん (ワッチョイ 6b01-lZUE)
2019/11/13(水) 22:20:19.63ID:nTBpuTY40 このスレって北海道のハゲのおっさん来てるの?
685デフォルトの名無しさん (ワッチョイ 02da-6HYk)
2019/11/14(木) 20:59:40.88ID:17R2nmHB0686デフォルトの名無しさん (オッペケ Sr11-CPZv)
2019/11/15(金) 05:48:17.81ID:yBQ3/wSNr687デフォルトの名無しさん (ワッチョイ 3901-u6X5)
2019/11/15(金) 06:53:06.51ID:PYCwQdmA0 このスレって北海道のハゲのおっさん来てないの?
688デフォルトの名無しさん (JP 0H96-XgEr)
2019/11/15(金) 08:30:23.58ID:1eiULMc8H >>687
こんなとこでハゲ友おっさんずラブっすかw
こんなとこでハゲ友おっさんずラブっすかw
689デフォルトの名無しさん (スップ Sda2-sGiA)
2019/11/15(金) 09:09:18.54ID:kdsqvzvNd690デフォルトの名無しさん (ワンミングク MMd2-NlRl)
2019/11/15(金) 09:16:55.98ID:QHXNBkQLM vbaスタンダードの教材の目次見たけど基礎というか普通に初心者向けという感じがした
逆にこういう内容飛ばしてどうやって使ってるんだろう
逆にこういう内容飛ばしてどうやって使ってるんだろう
691デフォルトの名無しさん (ワッチョイ 02da-6HYk)
2019/11/15(金) 18:37:41.87ID:C4049C6d0 基礎からやるの、良いと思うけどな。
基礎を無視した俺は、ADOもWinAPIもUiAutomationも使えるが、
プロシージャの意味を20年くらい知らなかったぞ。
基礎を無視した俺は、ADOもWinAPIもUiAutomationも使えるが、
プロシージャの意味を20年くらい知らなかったぞ。
692デフォルトの名無しさん (ワッチョイ 3901-u6X5)
2019/11/15(金) 18:58:40.00ID:PYCwQdmA0 スーパーつるっぱげ
693デフォルトの名無しさん (アウアウウー Sa45-dd3P)
2019/11/16(土) 13:07:26.06ID:sIw2xRM6a VBAスレ民はマジで頭弱めだな
694微糖 (ワッチョイ 2eda-zGDE)
2019/11/16(土) 20:01:13.26ID:Owph/MuN0 「置換したい文字列」と「置換文字」を変数として扱って、全体の文字を出力することはできませんか?
Replace関数では、Replace(文字列, 検索文字, 置換文字)とありますが、
文字列の入った変数を第一引数に与えるエラーが出てしまいます。
最終的な目的として、エクセルで定型的なHTMLコードを出力したいのです。
何かよい策がありましたら教えてください。
Sub 企業情報コピーテスト()
Dim i As Long
Dim s1 As String
Dim excelldata1 As String
Dim excelldata2 As String
....
s1 = HtmlSorce.Cells(2, 2).Value
'企業名
excelldata1 = Sheet1.Cells(4, 4).Value
'資本金
excelldata2 = Sheet1.Cells(5, 4).Value
Replace(s1,"tabledata1", excelldata1)
Debug.Print (s1)
End Sub
Replace関数では、Replace(文字列, 検索文字, 置換文字)とありますが、
文字列の入った変数を第一引数に与えるエラーが出てしまいます。
最終的な目的として、エクセルで定型的なHTMLコードを出力したいのです。
何かよい策がありましたら教えてください。
Sub 企業情報コピーテスト()
Dim i As Long
Dim s1 As String
Dim excelldata1 As String
Dim excelldata2 As String
....
s1 = HtmlSorce.Cells(2, 2).Value
'企業名
excelldata1 = Sheet1.Cells(4, 4).Value
'資本金
excelldata2 = Sheet1.Cells(5, 4).Value
Replace(s1,"tabledata1", excelldata1)
Debug.Print (s1)
End Sub
695微糖 (ワッチョイ 2eda-zGDE)
2019/11/16(土) 20:02:05.70ID:Owph/MuN0 ■HtmlSorce.Cells(2, 2)に入っているデータ■
<table width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>企業名</td>
<td>
tabledata1
</td>
</tr>
<tr>
<td>資本金</td>
<td>
tabledata2
</td>
</tr>
....
</tbody></table>
///////////////////////////////
こんな感じです。どうぞよろしくお願いいたします。
<table width="100%" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>企業名</td>
<td>
tabledata1
</td>
</tr>
<tr>
<td>資本金</td>
<td>
tabledata2
</td>
</tr>
....
</tbody></table>
///////////////////////////////
こんな感じです。どうぞよろしくお願いいたします。
696デフォルトの名無しさん (ワッチョイ 65ce-iGNt)
2019/11/16(土) 20:06:56.33ID:sGW0vpYA0697デフォルトの名無しさん (ワッチョイ cd7c-/PCw)
2019/11/16(土) 20:08:04.72ID:TSYRRFtw0 >>694
普通はエラー出ない
普通はエラー出ない
698微糖 (ワッチョイ 2eda-zGDE)
2019/11/16(土) 20:10:44.84ID:Owph/MuN0 すいません。できた 私はあほでした。
s1 = Replace(s1,"tabledata1", excelldata1)
で出力できました。
s1 = Replace(s1,"tabledata1", excelldata1)
で出力できました。
699微糖 (ワッチョイ 2eda-zGDE)
2019/11/16(土) 20:11:37.38ID:Owph/MuN0 みんな、早い。。ありがとう。。
700デフォルトの名無しさん (アークセー Sx11-CPZv)
2019/11/17(日) 03:29:18.67ID:2cbrHYYdx レンダリングエンジンとしてExcelを使ってるの?
つらすぎるなそれは
つらすぎるなそれは
701デフォルトの名無しさん (ワッチョイ 224b-NlRl)
2019/11/17(日) 04:16:20.60ID:ssaK56un0 レンダリングエンジンの意味間違ってるよ
702デフォルトの名無しさん (ワッチョイ 65ce-iGNt)
2019/11/17(日) 06:32:04.83ID:xHzCYEPp0 使ってるかどうかは、これだけじゃ判断できない
可能性はあるけど断言はできないから
可能性はあるけど断言はできないから
703微動 (ワッチョイ 2eda-zGDE)
2019/11/17(日) 11:35:29.77ID:7JpkRiZ80 わたくしのことですか??
コーディングは、いつもAtom使って手打ちしてるよ。
ただ、定期的にエクセルで入稿してくる案件があるので、
毎回エクセルからデータを手作業でコピペするのがしんどくて
コピペミスもあるし。
VBAでまるっとタグが出力できればいいなと。
他に良い方法がみあたらないし、これがベストかと。
思ってるとこでし。
コーディングは、いつもAtom使って手打ちしてるよ。
ただ、定期的にエクセルで入稿してくる案件があるので、
毎回エクセルからデータを手作業でコピペするのがしんどくて
コピペミスもあるし。
VBAでまるっとタグが出力できればいいなと。
他に良い方法がみあたらないし、これがベストかと。
思ってるとこでし。
704デフォルトの名無しさん (アウアウウー Sa45-woiy)
2019/11/17(日) 11:38:28.01ID:iKuebie5a Atomとか久しぶりに聞いたな
VSCodeに完全敗北して利用者がほとんど乗り換えた挙げ句に開発元がMSに買収されて完全に開発も終わった死んだエディタだよ
VSCodeに完全敗北して利用者がほとんど乗り換えた挙げ句に開発元がMSに買収されて完全に開発も終わった死んだエディタだよ
705微糖 (ワッチョイ 2eda-zGDE)
2019/11/17(日) 11:47:05.51ID:7JpkRiZ80 そんなこといわなくても、、、
web系は、sublimetext か Atom が多いと思う。まれに秀丸さんもいるお。
web系は、sublimetext か Atom が多いと思う。まれに秀丸さんもいるお。
706デフォルトの名無しさん (ワッチョイ cd7c-/PCw)
2019/11/17(日) 11:51:44.83ID:+9SinR1u0 >>705
そいつは触らなくていいやつだよ
そいつは触らなくていいやつだよ
707微糖 (ワッチョイ 2eda-zGDE)
2019/11/17(日) 11:52:22.26ID:7JpkRiZ80 ここらへんにいらっしゃるかたは
R列が何番目か直ぐに頭にでてくるのかしらん。
セル選択したら、行列番号がすぐわかる表示設定あるといいですねえ。
R列が何番目か直ぐに頭にでてくるのかしらん。
セル選択したら、行列番号がすぐわかる表示設定あるといいですねえ。
708デフォルトの名無しさん (ドコグロ MM49-woiy)
2019/11/17(日) 11:52:40.84ID:RwF92niuM いつの話だよ
Web系のAtomユーザーはほとんどVSCodeに乗り換えたよ
Web系のAtomユーザーはほとんどVSCodeに乗り換えたよ
709デフォルトの名無しさん (ワッチョイ 86c9-jvSr)
2019/11/17(日) 12:25:47.38ID:sTIVZZab0710デフォルトの名無しさん (アークセー Sx11-CPZv)
2019/11/17(日) 12:31:12.53ID:Sxy4Nq05x >>707
言ってることがよくわからんけど↓みたいにVBEでコンソール出力するのは駄目なの?
?Selection.Item(1).Row & ", " & Selection.Item(1).Column
言ってることがよくわからんけど↓みたいにVBEでコンソール出力するのは駄目なの?
?Selection.Item(1).Row & ", " & Selection.Item(1).Column
711微糖 (ワッチョイ 2eda-zGDE)
2019/11/17(日) 12:46:43.50ID:7JpkRiZ80 いろいろ提案ありがとうございます。
普通に対応表を手元においときます。
普通に対応表を手元においときます。
712デフォルトの名無しさん (ワッチョイ cd7c-/PCw)
2019/11/17(日) 13:14:49.52ID:+9SinR1u0 >>707
A1とR1C1表示を切り替えられるショートカット作った
A1とR1C1表示を切り替えられるショートカット作った
713デフォルトの名無しさん (ワッチョイ e9f1-Xz/Q)
2019/11/17(日) 13:37:03.64ID:3mRPp1GD0 まれに禿もいるよ
714デフォルトの名無しさん (ワッチョイ e9d2-gqPR)
2019/11/17(日) 14:08:51.89ID:1WE0juC20 >>707
1行目に連番を振っておく
1行目に連番を振っておく
715デフォルトの名無しさん (ワッチョイ c668-iGNt)
2019/11/17(日) 15:12:07.26ID:6UewZHZj0 >>707
機能はいらんかな。見たくなったらcolumn()入れてる
機能はいらんかな。見たくなったらcolumn()入れてる
716デフォルトの名無しさん (ワッチョイ 3901-0xny)
2019/11/17(日) 18:02:42.14ID:iBcgGvQr0 北海道のグラサンの禿はここにきてないの?
717デフォルトの名無しさん (ワッチョイ 05da-6HYk)
2019/11/17(日) 19:02:54.92ID:FdUgz5q60 俺も=Column()入れてるわ。
ていうかね、何でどっちか片方だけなんだよ。
A(1)、B(2)とか両方表示するモード付けりゃいいのに。
ていうかね、何でどっちか片方だけなんだよ。
A(1)、B(2)とか両方表示するモード付けりゃいいのに。
718デフォルトの名無しさん (ワッチョイ c668-iGNt)
2019/11/17(日) 19:28:55.74ID:6UewZHZj0719デフォルトの名無しさん (アークセー Sx11-CPZv)
2019/11/17(日) 19:33:09.97ID:Sxy4Nq05x 現状自作するしかないわな
720デフォルトの名無しさん (ワッチョイ 8201-0xny)
2019/11/17(日) 19:38:26.25ID:SNu9npot0 むしろ列番号が必要なことって少なくね?
721デフォルトの名無しさん (ワッチョイ c668-iGNt)
2019/11/17(日) 19:43:53.48ID:6UewZHZj0 indirectやVBAで古いデータを整備する時にたまに必要になる
722デフォルトの名無しさん (JP 0H92-iGNt)
2019/11/17(日) 22:37:01.66ID:8Px/zAQ8H 1行目1列目にランダムに数字が入力されている表において、その数字を上から順番に足して2列目にその合計を表示させるにはどう書けばいいでしょうか?(下みたいな感じで)
1列目 2列目
--------------------
4 4
7 11
8 19
12 31
15 46
2 48
1列目 2列目
--------------------
4 4
7 11
8 19
12 31
15 46
2 48
723デフォルトの名無しさん (ワッチョイ 224b-NlRl)
2019/11/17(日) 22:40:14.20ID:ssaK56un0 上から順番に足して2列目にその合計を表示させればいいですよ
724デフォルトの名無しさん (アークセー Sx11-CPZv)
2019/11/17(日) 22:55:50.76ID:Sxy4Nq05x >>722
ワークシート関数じゃ駄目なの?
ワークシート関数じゃ駄目なの?
725デフォルトの名無しさん (ワッチョイ cd7c-/PCw)
2019/11/17(日) 23:11:53.16ID:+9SinR1u0 >>722
左のセル+上のセル
左のセル+上のセル
726デフォルトの名無しさん (ワッチョイ cd7c-/PCw)
2019/11/17(日) 23:14:14.11ID:+9SinR1u0 A2から対象行までを合計
727デフォルトの名無しさん (ワッチョイ 0610-Xbus)
2019/11/18(月) 00:38:18.28ID:NH6dP3qE0 for i = 1to10
v=v+cel(i,1)
cel (i,2)=v
next
みたいな感じ?
v=v+cel(i,1)
cel (i,2)=v
next
みたいな感じ?
728デフォルトの名無しさん (ワッチョイ 8279-dW04)
2019/11/18(月) 00:45:00.05ID:+I12EpJt0 なんだcelて
ちゃんと書けボケナス
ちゃんと書けボケナス
729デフォルトの名無しさん (ワッチョイ 6d8e-2sI3)
2019/11/18(月) 01:27:00.60ID:pxOyK5Ui0 >>722
馬鹿は死ねよ
馬鹿は死ねよ
730デフォルトの名無しさん (ワッチョイ 822c-Lnqu)
2019/11/18(月) 04:45:54.36ID:SrAXqM1K0 Ruby で作った
nums = <<"EOT".lines( chomp: true ).map( &:to_i ) # 数字の配列。改行は削除
4
7
8
12
15
2
EOT
totals = nums.each_with_object( [ 0 ] ) {
|num, ary| ary.push( ary.last + num ) }
totals.shift # 先頭要素の0 を削除する
p totals #=> [4, 11, 19, 31, 46, 48]
nums = <<"EOT".lines( chomp: true ).map( &:to_i ) # 数字の配列。改行は削除
4
7
8
12
15
2
EOT
totals = nums.each_with_object( [ 0 ] ) {
|num, ary| ary.push( ary.last + num ) }
totals.shift # 先頭要素の0 を削除する
p totals #=> [4, 11, 19, 31, 46, 48]
731デフォルトの名無しさん (ドコグロ MM15-dzja)
2019/11/18(月) 15:14:40.58ID:ScNSEd7IM >>722
Sub sample1()
Dim i Range
Range("B1") = Range("A1")
For i = 2 To 6
Cells(i, 2) = Cells(i - 1, 2) + Cells(i, 1)
Next i
end sub
A列が不特定多数で出力の速さを求めるのなら
Sub sample2()
Dim i Range,j Range
j = WorksheetFunction.Count(Range("A:A"))
Application.ScreenUpdating = False
Range("B1") = Range("A1")
For i = 2 To j
Cells(i, 2) = Cells(i - 1, 2) + Cells(i, 1)
Next i
Application.ScreenUpdating = True
end sub
Sub sample1()
Dim i Range
Range("B1") = Range("A1")
For i = 2 To 6
Cells(i, 2) = Cells(i - 1, 2) + Cells(i, 1)
Next i
end sub
A列が不特定多数で出力の速さを求めるのなら
Sub sample2()
Dim i Range,j Range
j = WorksheetFunction.Count(Range("A:A"))
Application.ScreenUpdating = False
Range("B1") = Range("A1")
For i = 2 To j
Cells(i, 2) = Cells(i - 1, 2) + Cells(i, 1)
Next i
Application.ScreenUpdating = True
end sub
732デフォルトの名無しさん (ドコグロ MM15-dzja)
2019/11/18(月) 15:19:20.54ID:ScNSEd7IM 間違えた
Sub sample1()
Dim i As Long
Range("B1") = Range("A1")
For i = 2 To 6
Cells(i, 2) = Cells(i - 1, 2) + Cells(i, 1)
Next i
end sub
A列が不特定多数で出力の速さを求めるのなら
Sub sample2()
Dim i As Long,j As Long
j = WorksheetFunction.Count(Range("A:A"))
Application.ScreenUpdating = False
Range("B1") = Range("A1")
For i = 2 To j
Cells(i, 2) = Cells(i - 1, 2) + Cells(i, 1)
Next i
Application.ScreenUpdating = True
end sub
Sub sample1()
Dim i As Long
Range("B1") = Range("A1")
For i = 2 To 6
Cells(i, 2) = Cells(i - 1, 2) + Cells(i, 1)
Next i
end sub
A列が不特定多数で出力の速さを求めるのなら
Sub sample2()
Dim i As Long,j As Long
j = WorksheetFunction.Count(Range("A:A"))
Application.ScreenUpdating = False
Range("B1") = Range("A1")
For i = 2 To j
Cells(i, 2) = Cells(i - 1, 2) + Cells(i, 1)
Next i
Application.ScreenUpdating = True
end sub
733デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 15:42:28.46ID:cwF5jgoMd >>707
VBEのメニュー上にテキストボックス作って数値とアルファベット相互変換する奴作れば。
VBEのメニュー上にテキストボックス作って数値とアルファベット相互変換する奴作れば。
734デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 15:43:19.48ID:cwF5jgoMd >>720
寧ろ列番号の方が必要。
寧ろ列番号の方が必要。
735デフォルトの名無しさん (スッップ Sda2-sGiA)
2019/11/18(月) 15:53:04.73ID:cwF5jgoMd >>722
Range("B1:B10").Value="=SUM($A$1:$A1)"
'関数残したくなければ下を追加
Range("B1:B10").Value=Range("B1:B10").Value
Range("B1:B10").Value="=SUM($A$1:$A1)"
'関数残したくなければ下を追加
Range("B1:B10").Value=Range("B1:B10").Value
736デフォルトの名無しさん (ドコグロ MM4a-0xny)
2019/11/18(月) 17:07:56.73ID:S9/8fJfLM >>734
どんなときに必要なの?
どんなときに必要なの?
737デフォルトの名無しさん (ワッチョイ 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しなくてもメモリリーク起きないのか知りたい
■ このスレッドは過去ログ倉庫に格納されています
ニュース
- オイルマッサージ施術中20代女性にわいせつ行為か セラピストの男(30)を再逮捕 余罪複数とみて警視庁が捜査 [どどん★]
- 【おこめ】「有能だったんじゃ」おこめ券で批判殺到の鈴木農水大臣…ネットでは前任の“進次郎再評価” ★2 [ぐれ★]
- 内閣支持、微減59.9% 5割超が補正予算評価 時事通信世論調査 [どどん★]
- 【中国外務省】日本への渡航自粛を再度呼びかけ 今度は「地震発生」を理由に [ぐれ★]
- 立憲・小宮山議員、「牛乳=白い水」投稿を削除 批判殺到で「大変失礼申し上げました」 [少考さん★]
- 日本語が話せない「外国籍」の子が急増中、授業がストップ、教室から脱走も…先生にも大きな負担「日本語支援」追いつかず★3 [七波羅探題★]
- 愛国者「徴兵されるのは嫌。でも敵が侵略してきたら考えます」 [834922174]
- Vtuber「人気アニメとコラボします!」←これでVが叩かれるの謎じゃね
- 【悲報】日中戦争5割が賛成、高市キッズたち徴兵へ [834922174]
- 【悲報】日本人のTikTok収益、ガチで剥奪中wwwwwwwwwwwwwwwwwwwwwwwww [279254606]
- 【速報】高市内閣支持率、下落WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW
- 頭悪そうな奴がしてくるレス
