VBAなんでも質問スレ ..
[2ch|▼Menu]
262:デフォルトの名無しさん
17/02/07 22:43:16.46 diTiDCUQ.net
>>254
> 変な場所に
透明のシェイプとかのことですね、わかります

263:デフォルトの名無しさん
17/02/13 17:14:33.92 QPcPOced.net
50枚のスライドが入ったパワポが5個あります。
これを統合したいのですが
ファイル1の1枚目
ファイル2の1枚目
ファイル3の1枚目
ファイル4の1枚目
ファイル5の1枚目
ファイル1の2枚目。。。
という順番にしたいのです。
どういうマクロを書けばいいでしょうか?

264:デフォルトの名無しさん
17/02/13 21:36:30.61 MAF656mM.net
>>256
その通りのマクロを書けばいいのでは?

265:デフォルトの名無しさん
17/02/13 21:54:55.31 1gaAmlEB.net
新規で作ったらコピペを繰り返すだけ

266:デフォルトの名無しさん
17/02/14 00:38:49.96 hvVJhpIb.net
パワポってマクロ使えるんだ
そらそうだわな

267:デフォルトの名無しさん
17/02/14 01:58:27.90 ahDpDw9M.net
ExcelVBAをつかいこなしていても
パワポはマクロの記録がないと腰が重いな

268:デフォルトの名無しさん
17/02/15 08:18:34.60 uIQboeV9.net
>>256
この作業用を何回も繰り返さないといけないの?
1度きりならあなたの場合は手作業の方が早い気が

269:デフォルトの名無しさん
17/02/15 13:14:12.73 zgJtAmDR.net
>>256
スマホからだから試してないけどこんな感じかな
Application.Presentations.Open(ひとつ目のファイル)
Application.Presentations.Open(ふたつ目のファイル)
...
Application.Presentations.Open(いつつ目のファイル)
Set P = Application.Presentations.Add
For I = 1 To 50
For J = 1 To 5
Application.Presentations.Item(J).Slides(I).Copy
P.Slides.Paste
Next
Next
P.SaveAs(新規のファイル)

270:デフォルトの名無しさん
17/02/23 13:32:21.69 xPy6pfR0.net
選択されているセル範囲内の文字、図形を削除する手順を作ってみましたが、処理がえらく重いです。
もっと処理を早くする方法はないでしょうか?
Sub sakujo()
Application.ScreenUpdating = False   '画面更新を停止
Dim shp As Shape
Dim rng As Range
If TypeName(Selection) <> "Range" Then Exit Sub
For Each shp In ActiveSheet.Shapes
Selection.ClearContents
Set rng = Range(shp.TopLeftCell, shp.BottomRightCell)  '図形の配置されているセル範囲をオブジェクト変数にセット
If Not (Intersect(rng, Selection) Is Nothing) Then  '図形の配置されている範囲と選択されているセル範囲が重なっているときに図形を削除
shp.Delete
End If
Next
Application.ScreenUpdating = True  '画面更新を再開
End Sub

271:デフォルトの名無しさん
17/02/23 14:40:32.47 bekNjoMq.net
>>263
再計算とイベントも停止してみた?
あと、コレクションに対するループの中で自分自身のコレクションが変化するのは、なんとなくまずい気がする
根拠はないけど、それって遅くなる要因と違う?

272:デフォルトの名無しさん
17/02/23 15:02:34.32 Q2T7iSLN.net
処理の基本をよく考えるべき。
1.Shape毎にSelection.ClearContentsする意味は?
2.shp.Delete後もループする意味は?
3.そもそもSelectionって何?つまり何が選択されている時に削除したいの?
For Each shp In ActiveSheet.Shapes
If shp Is Selection Then
shp.Delete
Exit For
End If
Next
じゃ駄目?

273:デフォルトの名無しさん
17/02/23 15:08:21.72 Q2T7iSLN.net
選択されているセル範囲については最初のIf文でExit Subしてるから削除されないんじゃ?
処理がよく分からん。
選択されているShapeの下のRangeの内容を削除したいならshp=Selectionの場合に
Range(shp.TopLeftCell,shp.BottomRightCell).ClearContents
で良いんじゃ?

274:デフォルトの名無しさん
17/02/23 15:10:34.31 Q2T7iSLN.net
shp=Selectionの場合じゃなくてshp Is Selectionの場合だな。
shp.Deleteの前ね。

275:デフォルトの名無しさん
17/02/23 15:24:01.29 5OVH7aZj.net
>>265
質問者じゃないけど変わって説明するよ
・シート上に文字と図形が複数箇所に設定されている
・消す範囲を選択して、その範囲内の文字と図形を消すコードを書いた
・でもなぜか遅い
質問者に言えるのは、
・Selection.ClearContentsはfor eachの外でいい
・試しに100個のshapeを貼り付けて50個くらいが入る範囲を選択して消してみたら一瞬で終了(もちろんコードでだよ)
・遅いって具体的にどれくらいなの?

276:デフォルトの名無しさん
17/02/23 16:00:14.32 Q2T7iSLN.net
>>268
コード見りゃわかる。
でもコードがやってることは無駄な部分が多いから聞いてる。
最初のIf文を見ればRangeを選択した場合はExit Subしたいみたいだがら範囲選択した場合は処理して欲しく無いんだよな。
→じゃ、どんな時に処理して欲しいの?
For Each shp In ActiveSheet.Shapes
If shp Is Selection Then
Range(shp.TopLeftCell,shp.BottomRightCell).ClearContents
shp.Delete
Exit For
End If
Next
じゃ駄目なの?

277:デフォルトの名無しさん
17/02/23 16:07:14.86 xPy6pfR0.net
今までは長い時で1〜1.5秒程止まっていました
>>268さんの言われた通り、Selection.ClearContentsの位置を変えたらスムーズになりましたのでこれで行こうと思います
たくさんご意見頂きありがとうございました

278:デフォルトの名無しさん
17/02/23 16:14:41.52 5OVH7aZj.net
>>269
> If TypeName(Selection) <> "Range" Then Exit Sub
だよ

279:デフォルトの名無しさん
17/02/26 14:44:16.79 nMuhJunv.net
エクセルのマクロでも質問大丈夫でしょうか?
名前と同じファイル名の画像を名前セルの隣に貼り付けるプログラムなんですが
Sub ボタン1_Click()
Const n As Long = 2
Dim i As Long
Dim x As Double
Dim s As String
Dim t As FileDialog
Dim m As VbMsgBoxResult
With ActiveSheet
For i = 2 To .Cells(.Rows.Count, 2).End(xlUp).Row Step 6
Set r = .Cells(i, 3).MergeArea
s = "D:\画像\1\" & .Cells(i, 2).Value & ".jpg"
Dir Application.Path
With .Pictures.Insert(s).ShapeRange
.LockAspectRatio = msoTrue
x = Application.Min(r.Width / .Width, (r.Height - n) / .Height)
.Width = .Width * x
.Left = r.Left + (r.Width - .Width) / 2
.Top = r.Top + (r.Height - .Height) / 2
End With
Next
End With
End Sub
この"D:\画像\1\"の部分をフォルダ選択できるようにしたいので
Dim s As String
  Dim t As FileDialog
Set t = Application.FileDialog(msoFileDialogFolderPicker)
s = "t" & .Cells(i, 2).Value & ".jpg"
としたら「1004 PicturesクラスのInsertプロパティを取得できません。」と実行できません
どうしたら"D:\画像\1\"の部分をフォルダ選択できるようにできるのでしょうか?ご教示お願い致します。

280:デフォルトの名無しさん
17/02/26 16:00:22.84 nt1S72uw.net
>>272
Dim s As String
Dim t As String
With Application.FileDialog(msoFileDialogFolderPicker)
  If .Show = False Then Exit Sub
  t = .SelectedItems(1) & "\"
End With
'途中省略
s = t & .Cells(i, 2).Value & ".jpg"
じゃないかな?
あと
元コードもそうだけど
フォルダ内に その画像ファイルが存在してなかった時の対策も必要だと思うよ
同じエラーになるぞ それとも絶対 あるのが 確定してる?

281:デフォルトの名無しさん
17/02/26 16:45:49.33 nMuhJunv.net
>>273
大変ありがとうございます!
ただ、貼り付ける画像は複数あり、貼り付けるたびにフォルダ選択画面が出てしまいますので、一気に貼り付けられないものでしょうか?
ファイルが存在してない時の対策は、セルの状態を色変えて罫線で斜線を挿入したいと考えてますが、まだそこまで進む前段階がクリアできないので困ってます
よろしくお願いします

282:デフォルトの名無しさん
17/02/26 16:51:45.39 nt1S72uw.net
>>274
ん? そこは分ってるとおもたよ
フォルダ選択部分は Forループの外だよ
↓ここねw
With Application.FileDialog(msoFileDialogFolderPicker)
 If .Show = False Then Exit Sub
 t = .SelectedItems(1) & "\"
End With

283:デフォルトの名無しさん
17/02/26 16:57:59.74 nMuhJunv.net
>>275
あっ!できました!ありがとうございます!助かりました!

284:デフォルトの名無しさん
17/03/06 23:29:36.96 QCgyLcj6.net
こんにちは。
パワーポイント2013のVBAについて分かる方教えて下さい。
やりたいことは、グラデーションの塗りつぶしがあるシェイプのGradientStopsのそれぞれの色を変化させるアニメーションの方法です。
2013ではできないけど2016ではできる等の情報もあればお願い致します。

285:デフォルトの名無しさん
17/03/08 21:50:45.20 DO0ivfK5.net
vbaだけでhttpサーバーって出来る?

286:デフォルトの名無しさん
17/03/08 23:04:04.36 Tpob7EG8.net
俺が手を下すまでもないな
答えてやれよ
>>280

287:デフォルトの名無しさん
17/03/09 01:39:01.40 UFk6xx1O.net
VBAだけってのが
外部コントロール使用禁止
API呼び出し禁止
なら不可能です

288:デフォルトの名無しさん
17/04/09 15:56:17.26 9WwYB+FH.net
VBAの変数の値を次回の処理を行う時まで記録しておくのにセルに書き込みをしたりしていますが、
セルにアクセスするのを減らすためにセルに記録しなくて処理終了時に変数値をVBA内で保存しておいてくれる一次記憶領域みたいな物はないのでしょうか?

289:デフォルトの名無しさん
17/04/09 16:02:56.39 9WwYB+FH.net
ちりも積もればの話ですが
足し算引き算割り算レベルの計算をセルに関数を割り当てて行うのと
同じ計算式を変数を用いてVBAで書いて実行するのとで、より処理速度が速いのはどちらでしょうか?

290:デフォルトの名無しさん
17/04/09 16:09:57.30 Lq/WJuQk.net
>>281
セルでいいんじゃないの?
ただそのIOは配列アクセスを使うべき
ループで1セルづつ読み込むとかがナンセンス

291:デフォルトの名無しさん
17/04/09 16:14:42.36 K8MFArI9.net
>>281
説明がいまいち分かりにくい。
次回ってのは何時のことを言ってる?
グローバルな変数じゃダメなの?
次にそのブックを開くまで保持したいならセルってのも分かるんだが。
で、その場合にセルの代わりに保持したいならCustomDocumetProperties使ったりするかな。

292:デフォルトの名無しさん
17/04/09 16:27:32.06 9WwYB+FH.net
>>283
ありがとうございます。
>配列アクセス
勉強してみます。
>>284
Bookを閉じずに他からデーターを取り込み再度VBA実行を繰り返します。
>グローバル変数
>CustomDocumetProperties
勉強してみます。
グローバル変数に代入した数値は処理を中断しても生き続けるのであればそれで解決しそうです。

293:デフォルトの名無しさん
17/04/09 16:44:07.10 9WwYB+FH.net
>>284
プロシージャの上に定義すると処理が終了しても最終定義された内容は残ったままなんですね!
今まで処理を中断する必要がある場合は変数をすべてセルに書き出していましたが大発見です。ありがとうございました。

294:デフォルトの名無しさん
17/04/09 19:39:59.08 9WwYB+FH.net
Public変数もしくは通常の変数の指定数の限界はあるのでしょうか?
問題なく動くレベルは何個ぐらいでしょうか?
50個
100個
1000個
10000個でも平気だっり?
実は
100000個以上でも問題ないとか?

295:デフォルトの名無しさん
17/04/09 19:51:50.86 0T9WQSVM.net
>>287
使えるメモリは決まってる
変数の個数じゃなくてそれぞれのバイト数の合計

296:デフォルトの名無しさん
17/04/09 23:55:43.90 K8MFArI9.net
>>287
グローバル変数(Public)は便利に見えるけどスコープを考えて必要無い所では使わない方が良い。
PublicかPrivateかプロシージャ内で宣言するかを意識して使った方が良いね。

297:デフォルトの名無しさん
17/04/10 02:47:06.39 AhmZ51rM.net
日曜の午後からずっとVBAを書いてるけどまだおわらね〜
てかやればやるほど選択肢が爆発的に増えてきて一生かかってもおわりそうにね〜!w

298:デフォルトの名無しさん
17/04/10 04:05:13.85 sRLMXvmn.net
>>287
しかもEndやErrorで抜けたら破棄されるという罠

299:デフォルトの名無しさん
17/04/11 00:40:18.97 egN7ZnVO.net
素数や組み合わせ爆発のような数学の迷宮的な問題に陥って
一生かかってもコードを完成させるのは無理ですよみたいな場合もあるのでしょうか?

300:デフォルトの名無しさん
17/04/11 10:41:22.79 Ei1BFwyD.net
>>292
数学的バックグラウンドがなければコードが書けないという類いの問題はあるね。
たとえばNP困


301:難なやつ。 巡回セールスマンとかナップサック問題とか、ナーススケジューリング問題とか。 自力でなければ、それなりの回答が得られる解法(コード)が既に存在してるものもある。



302:デフォルトの名無しさん
17/04/11 11:01:45.96 o/k96Ri6.net
問題を解く方法を考案するのと、その方法をコンピューター言語に翻訳する作業は別ですわ
それぞれに異なった知識と才能が必要となりますので

303:デフォルトの名無しさん
17/04/11 11:03:15.94 6dnWkPrh.net
>>291
End Subの行にブレークポイント、これ

304:デフォルトの名無しさん
17/04/12 22:41:46.94 iuenojzm.net
パブリック変数で
1000個
10000個でも平気だっり?
とかどんな拷問なんだよw

305:デフォルトの名無しさん
17/04/20 23:26:11.80 92wBssf5.net
テストしてみたがパブリック変数500個は問題なく動いた。
もっと使ってる人いる?

306:デフォルトの名無しさん
17/04/21 19:40:41.67 TpPjDerb.net
いらない

307:デフォルトの名無しさん
17/04/21 21:22:06.10 BWuBR5xw.net
変数の一部を変数にする事は出来ないのでしょうか?(代入
とかではなく)
たとえば↓はイメージですが変数名の箇所を文字列をつなぎ合わせる時と
同じように変数をわりあてられないのでしょうか?(以下は動きませんがphpではこれができます。)
dim aaa1
dim aaa
dim no
dim bbb
aaa1=例文1
aaa=aaa
no=1
aaa & no = bbb
msgbox bbb

結果は「例文1」 と表示されますみたな、、 

308:デフォルトの名無しさん
17/04/21 21:28:31.62 BWuBR5xw.net
>>299
最終的には
aaa1=「例文1」
aaa2=「例文2」
aaa3=「例文3」


とし
aaa & no のno番号だけ差し替えて制御するみないな感じで使います。
ただしnoの番号は連続した数字ではなく他の集計結果からランダムに発生するため
ループ処理等では成り立たず変数のように扱う必要があります。

309:デフォルトの名無しさん
17/04/21 22:10:11.53 9tskJEPF.net
>>300
aaa1とかaaa2を変数として捉えず、文字列と数値を要素に持つ2次元配列と見れば良い
で、データ全体を制御するときは、aaa1,aaa2...の2次元配列全てを要素として持つコレクションオブジェクトを生成して操作する

310:デフォルトの名無しさん
17/04/21 22:18:30.36 TpPjDerb.net
>>300
Dictionaryのkeyにすれば良いんじゃね

311:デフォルトの名無しさん
17/04/21 22:25:23.50 9tskJEPF.net
CollectionよりDictionaryだな、確かに

312:デフォルトの名無しさん
17/04/21 23:24:44.93 3F+Ljh12.net
そういう質問、初心者によく聞かれるわ
普通は配列を使えと教えるもんだが

313:デフォルトの名無しさん
17/04/22 06:16:50.97 zUhE/Mll.net
>>302
>>301
ありがとうございます。Collection Dictionary 調べてみましたが
どちらも説明をざっと読んでも使い方が理解できませんでしたが挑戦してみます。
phpのように (aaa & no) =
と変数名自体を複数の変数で合成する事は出来ないのですね。

314:299
17/04/22 08:27:20.54 zUhE/Mll.net
>>300
>>301
>>302
>>304
aaa1=「状況に応じて変化する数値1」
aaa2=「状況に応じて変化する数値2」
aaa3=「状況に応じて変化する数値3」


すみません説明を単純にするために「例文1」としてましたが
変数に格納されるのは状況に応じて変化する数値(他の集計の計算結果)でした。
固定された文言であればDictionary keyで処理できるというのはわかりましたが
格納されている物が変化する数値の場合かつ
変数名を数字で管理(他の集計から3という結果が出たら→aaa3が適応されるみたいな)
したい場合こういうことを実現する方法はありますでしょうか?

315:デフォルトの名無しさん
17/04/22 08:53:12.92 MM2jcjjz.net
>>306
変数名を数字だけで管理する方法はない。
VBAの仕様上、できない。
というか、その集計結果なるものがプログラム実行時に決定するのだとしたら、集計結果を格納する変数の名前に集計結果の数値をはじめから盛り込もうとするのは無理があるし、そもそも理由が分からない。
やりたいことを実現するにはもっと適切な他の方法があるんじゃないかな。

316:デフォルトの名無しさん
17/04/22 11:27:30.44 6RXuRSFv.net
>>306
Dictionaryのvalueは変更可能

317:299
17/04/22 15:29:06.19 zUhE/Mll.net
>>308
>>307
理解するのにかなり時間がかかりましたがDictionaryなんとなくわかりました。
これって Dim とかPublicとかの変数とは別に存在できるんですね。
全く未知の分野ですが使ってみます。ありがとうございました。

318:デフォルトの名無しさん
17/04/22 20:43:48.30 zUhE/Mll.net
Dim dic As New Dictionary
Dim i As Integer
dic.Add "キー1", "アイテム1"
dic.Add "キー2", "アイテム2"
dic.Add "キー3", "アイテム3"
Dictionaryで指定した"キー"と "アイテム"は処理が終了するとリセットされるようですが、
グローバル変数のように処理が終了しても次実行されるまで記憶させておくようにする事は出来ないのでしょうか?

319:デフォルトの名無しさん
17/04/22 22:48:51.75 AOzJBbd9.net
>>310
プロシージャを跨いで値を保持させるなら、グローバルな配列変数、(アプリケーションがExcelならば)セル、シェイプ、カスタムドキュメントプロパティ、グローバルコレクション、自作のグローバルクラスのインスタンスなどに値を記憶させるしかない
でもそれならわざわざプロシージャ内でDictionaryを使って連想配列を操作するより、ExcelのセルにKeyと値を書き込んで配列アクセスして読み書きする処理の方が遥かに楽だと思う

320:デフォルトの名無しさん
17/04/22 23:30:15.48 zUhE/Mll.net
>>311
ありがとうございます。
今作っているコードでセルへのアクセスが膨大になってきて処理時間がどんどん長くなる傾向がみられまして
全操作をセルにアクセスせずに完結させようと色々考えていましたがなかなかそうはいかないようですね。

321:デフォルトの名無しさん
17/04/23 05:30:19.61 t5ve42Di.net
>>312
Dim dic As New Dictionary
の宣言を何処でしているかによるんじゃね?

322:デフォルトの名無しさん
17/04/23 10:16:09.39 wfwXXeKO.net
>>312
標準モジュールとかでDictionary型のオブジェクト変数をグローバルスコープ(Public)でNew宣言すれば、処理を抜けてもDictionaryのItemは初期化されないんじゃないのかな
ただ単なる配列の処理でデータが数千件程度なら、描画止めた状態でワークシート使った方が遥かに楽だと思うが。

323:デフォルトの名無しさん
17/04/23 16:51:51.75 fs201BJ1.net
>>311
引数に渡すってのを忘れてるぞ。
一番使われてるんじゃないか?

324:デフォルトの名無しさん
17/04/23 17:11:32.92 yvJyPXpi.net
>>315
何の引数に渡すことを指してるのかな?

325:デフォルトの名無しさん
17/04/23 18:02:04.26 fs201BJ1.net
>>316
プロシージャを跨ぐって話だろ。
別のプロシ−ジャに引数として渡せば形の上ではそれぞれのローカル変数でも値は保持されるだろ。

326:デフォルトの名無しさん
17/04/23 18:27:09.16 yvJyPXpi.net
>>317
>>310を読んでなんとなく、一個のルーチンのプロシージャ間の値の受け渡しの話ではなく、ルーチン内で一度AddしたDictionaryのKeyとItemを何らかの形で保存して、同じルーチンを再実行したときにKeyとItemを再利用することが出来るかどうかという話だと思ったんだが
まぁ、オブジェクトプロパティへの値の保存も実際はそのオブジェクトを定義してるクラスのメソッドに引数を渡してるのと同じだから、変わらないといえば変わらないけど

327:デフォルトの名無しさん
17/04/28 17:33:41.10 krqKI6DB.net
超既出FAQですな。
『Public 宣言された変数の有効期間』
URLリンク(support.microsoft.com)
簡単に言うと、メソッド実行中以外はいつでもpublic変数はクリアされうるから、値が残っていることを期待したマクロを書くなってこと。

328:デフォルトの名無しさん
17/04/28 19:14:11.69 AZu


329:qyiJa.net



330:デフォルトの名無しさん
17/04/28 22:13:43.74 A3VkBONm.net
Publicな静的変数は使わない。
エクセルのセルとかワードの文書変数とかの規定オブジェクトにデータを書き込んだ方が便利

331:デフォルトの名無しさん
17/04/29 02:16:02.91 2iGvQ1xG.net
>>321
いや、それは格好悪いんじゃね?
セルを使ったりCustomDocumentPropertiesも使うけど、それに合ったものだから使うわけでPublic変数に合ったものもある。
適材適所だろ。

332:デフォルトの名無しさん
17/05/25 20:51:55.45 yS9f0RVc.net
ontime で実行するプロシージャって標準モジュールに書かないとあかんのか。
このブックでマクロが使用できないか、またはすべてのマクロが無効になっている可能性があります。って出た。

333:デフォルトの名無しさん
17/05/25 21:07:30.77 JTnnq+Q0.net
>>323
スコープ
普通にCallで呼び出せる場所にないと実行できないのは、どの方法でも同じ

334:デフォルトの名無しさん
17/05/26 00:03:34.69 Fw61rXsb.net
>>324
ThisWorkBookのモジュールからOnTimeでThisWorkBookのモジュール内のPrivate Sub を予約したんですが・・・これじゃ駄目なんですかね?

335:デフォルトの名無しさん
17/05/26 23:19:52.51 Fw61rXsb.net
>>325です
OnTimeで実行予約するプロシージャを標準モジュールに移動したら動くようになりました〜

336:デフォルトの名無しさん
17/06/05 21:02:56.92 bd1ggU41.net
特定の文字が含まれているセル(複数ある)を検索し、
検索されたセルを含む行全体(Entirerow)を同時選択する方法
以上お願いします。

337:デフォルトの名無しさん
17/06/05 21:06:49.56 bd1ggU41.net
その文字を含むセルを、行ごと削除したり、行ごとコピーしたりと、いろいろしたいので質問致しました。

338:デフォルトの名無しさん
17/06/05 21:25:48.60 nSGQpg3a.net
鮮やかな丸投げっぷりにワラタ
作成依頼OKな Excel VBAスレと間違えてない?

339:デフォルトの名無しさん
17/06/05 21:31:47.51 tRFV5HQ5.net
>>328
とりあえず、複数行を選択するところをマクロの記録で見てみたら?
ctrlキー押しながら選択するのとshiftキーを押しながらのとで。

340:デフォルトの名無しさん
17/06/05 21:41:12.12 jKyX/qwq.net
検索対象のセル範囲でForループを回す
セル値に特定文字を含むセルが見つかる度にEntireRowを取得して変数に入れるかUnionで選択対象の範囲をマージしていく
ループ終了後にSelectする
以上

341:デフォルトの名無しさん
17/06/05 21:45:35.27 epzJZZwH.net
>>327
Ctrl+Fで検索しろやボケナス
ちゃんと行選択までしてくれるぜ

342:デフォルトの名無しさん
17/06/05 22:37:03.17 bd1ggU41.net
ごめんなさい、質問者です。
ここじゃなかったのですね。上に上がったやり方でできそうなのでやってみます。ありがとうございます

343:デフォルトの名無しさん
17/06/06 05:49:03.11 tznXutzN.net
色々細かい条件でどんなコードが効率いいか、変わってくるでしょ。
例えばそのセルがあるのは、特定の行だけとか、検索文字列はセルに完全一致なのか含まれるのか、など。

344:デフォルトの名無しさん
17/06/06 09:11:47.41 YhE+Nuz8.net
331だが、同じ行に該当セルが複数ある場合は無駄が生じるな
実現したい機能次第だが、工夫が必要かもな

345:デフォルトの名無しさん
17/06/07 19:31:10.77 e13xfCG0.net
はじめまして。以下2点、教えていただけると幸いです。
環境は、OS:Windows7, Excel2010です。よろしくお願いします。
1.プルダウンの初期値設定
セルA1にりんご、A2にバナナ、・・・のようにA列にある項目をプルダウンで選択したいです。
このとき、「A列のj行目(パラメータ選択可能)を初期値にしたプルダウンをB1に設置する」VBAのコマンドを教えていただきたいです。
2.ファイル名の変更
aaa.txtというファイルをデスクトップに出力するマクロを作れました。
このマクロ実行後、再度実行するとaaa(2).txtのファイルを、再度実行するとaaa(3).txtのファイルを出力・・・
このようなVBAのコマンドを教えていただきたいです。

346:デフォルトの名無しさん
17/06/07 21:49:32.12 nqbSOdK9.net
>>336
コマンドはありません

347:デフォルトの名無しさん
17/06/07 22:23:27.64 L3ua+fDn.net
>>336
txtファイルをデスクトップに出力っていう日本語の破壊力がやべぇ

348:デフォルトの名無しさん
17/06/08 05:33:24.44 1DKX/Vru.net
>>336
1
・B1セルを選択してからマクロの記録を実行
・入力規則でリストを選択にリストの内容でA列を選択する
・マクロ記録の終了をする
・できたコードを修正してA列の任意のセルをデフォルトにするように変更する
2
・デスクトップにaaa.txtが存在するかチェックする。
・存在しない場合はaaa.txtを作成して終了。
・存在する場合はDo~Loop中にデスクトップにaaa(i).txtが存在するかチェックする
・存在する場合はiをカウントアップして次のループ
・存在しない場合はそのiを使用してaaa(i).txtを作成して終了。

349:デフォルトの名無しさん
17/06/25 17:10:56.20 /fEFwdln.net
A1セルに =NOW()-TODAY() と入力すると
現在時刻が表示されますが。
MsgBox Range("a1")
とすると 0.0110212・・・と言ったような数値が出ます。
Dim now As Date 
now=Range("a1")
と型を指定した変数に格納してやると 
MsgBox now で 21:49:32 といった一般的な時間表記を示せますが、
変数化を省略して
MsgBox Range("a1")〜に補足コードを書くなどで同じ処理を実現する方法は無いのでしょうか?

350:デフォルトの名無しさん
17/06/25 17:20:36.10 A4A49pvi.net
MsgBox Range("A1").Text
とか
MsgBox Format(Range("A1"), "hh:mm:ss")
とか

351:デフォルトの名無しさん
17/06/25 17:26:03.97 /fEFwdln.net
>>341
なんと!!
変数をだらだら定義すること無く綺麗さっぱり解決できました!ありがとうございました。m(_ _ )m

352:デフォルトの名無しさん
17/07/17 17:20:20.62 7pjXcMGR.net
プロシージャの中で1回しか使わないのに、わざわざ変数にするやつとかいるよね。(しかもハンガリアン記法で)
100行に満たない程度のコードなら、Withステートメント使ったほうがむしろ可読性は上がる。

353:デフォルトの名無しさん
17/07/17 17:25:26.05 l3sSLpQS.net
マシンパワーが貧弱だった大昔ならともかく、今時はリソースを気にする必要なんてないんだから、可読性を最優先で記述するべきだよ。

354:デフォルトの名無しさん
17/07/23 22:54:52.46 EbUz/UVB.net
>>343
ああ、俺だ。
Ubound(配列)とか、For〜Nextの中で何回も実行すると、
なんか遅いような気がして、一度変数に入れちまう。

355:デフォルトの名無しさん
17/07/24 03:07:48.10 /3vdoRrW.net
>>345
何回も実行するなら変数に入れたほうがいいんじゃね?

356:デフォルトの名無しさん
17/09/01 23:04:37.73 RmCwgyLh.net
>>345
(1)
For I1 = 1 to UBound(xxx)
For I2 = 1 to UBound(xxx)
(2)
J=UBound(xxx)
For I1 = 1 to J
For I2 = 1 to J
普通に考えて本のチョット早いと思われますが、記述の労力ほどじゃない。
他の方の書いてますが、今は、処理速度が物凄く早くなっています。
気にしなくていいと思います。
ただし、私はEXCELでVBAを書くのですが、シートのセルに書き出すと物凄く遅くなる。
VBAの配列とかメモリーならばほとんど気にしなくていいです。
ですから、メモリー内で処理して最後の最後にシートに書くようにしてます。

357:デフォルトの名無しさん
17/09/02 08:26:52.52 tqo/3wkP.net
>>347
> ですから、メモリー内で処理して最後の最後にシートに書くようにしてます。
基本中の基本だからいちいち書かなくてよろし

358:デフォルトの名無しさん
17/09/05 10:53:29.80 WmSrV0rS.net
アノニマスに入会したいんですがVBA知ってるだけで入れますか?
あと入会ってどうやんの? スーツ着て履歴書持って事務所に面接に行くの?

359:デフォルトの名無しさん
17/09/05 12:25:17.40 P2jRu54V.net
たまにハローワークに求人出てるから行ってみれば?

360:デフォルトの名無しさん
17/09/12 02:10:43.27 2wFcaigK.net
超初心者です
同じブック内の複数のシートにある顧客データをUserFormを用いて(検索するイメージ)抽出し、別のシートへ出力するコードを書きたいのですがいまいちわかりません。
大変困っているのでヒントをくださればありがたいです。

361:デフォルトの名無しさん
17/09/12 02:30:21.88 U3/YorLf.net
>>351
超初心者には無理です
パソコン教室に通ってせめて初級をクリアしてから質問してください

362:デフォルトの名無しさん
17/09/12 04:10:40.96 2wFcaigK.net
>>352
返信ありがとうございます
Excel自体触ったことない超初心者ですが頑張っているところです( ??? )

363:デフォルトの名無しさん
17/09/12 08:28:28.15 GFFccSR9.net
>>351
自称初心者がどこでUserFormとか覚えたの?
まずはシート上でやってみようね

364:デフォルトの名無しさん
17/09/12 12:27:40.35 7XJfZGpJ.net
どこで覚えようとお前の知った事じゃねえだろw
なんだこのバカはwww

365:デフォルトの名無しさん
17/09/12 13:06:30.39 N1ygkJfx.net
>Excel自体触ったことない超初心者
ユーザーフォームを作ったことはあるのか?
 無けりゃ、この時点でやろうとしていることはもう無理
VBAはほんの少しでも書いたことはあるのか?
まぁ最初は>>354の言うようにシート上で実現して、それをユーザーフォームにもっていくのが順当
というか触ったこと無いって時点で釣り確定

366:デフォルトの名無しさん
17/09/12 16:38:53.70 2wFcaigK.net
VBA参入門書とネットの知識を詰め込みました。
Excel初心者は本当です。友達に教えてもらいつつやっています。気分を害された方、すみません。
>>356さん非常に分かりやすいです。
二日間くらい最初からコードを書こうとしてもがいていましたが、マクロの記録が使えそうな気がします。
そのコードをいじってボタンで起動するユーザーフォームとくっつけるイメージで挑戦してみます。

367:デフォルトの名無しさん
17/09/12 16:41:08.80 2wFcaigK.net
>>354さんもありがとうございます!参考&励みになります

368:デフォルトの名無しさん
17/09/12 20:34:49.57 /wKXVszF.net
このスレで一番の基地外が満を持して遅れて登場

369:デフォルトの名無しさん
17/09/12 20:51:47.27 U3/YorLf.net
俺のことかな?

370:デフォルトの名無しさん
17/09/13 00:17:05.57 DHqL5rdG.net
>>357
ユーザーフォームでその機能を実現する必然性が感じられない
フィルタオプション機能を用いて、検索結果の出力先を新規シートに設定するだけで事足りると思うぞ

371:デフォルトの名無しさん
17/09/14 07:47:53.75 w7wWQUJY.net
フィルタオプションとマクロの記録で8割方完成できるな

372:デフォルトの名無しさん
17/09/15 10:19:31.10 wFtq+9vG.net
ADOの事でちょっと質問です
変数を定義する時に
Dim wkR as New ADODB.Recordset
ってするんだけど、RecordsetとRecordの違いって何?

373:あ
17/09/15 10:57:55.87 oEkV+GvG.net
スレリンク(morningcoffee板)

374:デフォルトの名無しさん
17/09/18 06:42:59.71 xbe9SlrW.net
>>361-362 ありがとうございます、簡単なプログラムですが完成して感動しました。
Ifとマクロの記録が万能すぎることを肝に銘じてこれからもがんばります( ??? )

375:デフォルトの名無しさん
17/09/18 15:10:56.93 7Xxpypu9.net
>>365
万能過ぎないけどね。
そればっかり使ってる人は永遠に初心者なままだし、色々な面で出来の悪いプログラムになる。
自動生成されたコードのそれぞれの意味を理解して自分なりに書けるようになると上達する。
例えば
Range("B4").Select
Selection.Value=10
のようなコードが生成されると思うけど意味を考えたら
Range("B4").Value=10
で良いとわかるよね。

376:デフォルトの名無しさん
17/09/18 20:44:49.78 ydCO3vgD.net
>>363
Recordset オブジェクト
URLリンク(msdn.microsoft.com)
Record オブジェクト
URLリンク(msdn.microsoft.com)

377:デフォルトの名無しさん
17/09/18 23:50:59.42 XctjYupl.net
すみませんお力添えをお願いします!
エクセルマクロ(VBA)の件でお尋ねいたしたく思います!
まずグラフの系列名はセル参照で表示させてます
シート名:あいうえお
適用グラフ:グラフ4
系列範囲:A11:Z11
必要なデータ選択は全ての系列で済ませています
あとはグラフで不要な系列を削除したいため、グラフに乗せたくない系列名は”×”になるようにしてます
この系列名”×”をVBAで自動的に削除させることは可能でしょうか?
またグラフは別シートの数値入力をもって自動作成される仕様にしているので、トリガーは設けません
デフォルトだと全部”×”のため(初めは数値データの入力がないため)
数値が入ると正しい系列名に変更されるため、VBAではまず”×”で削除して、”×”以外の系列名に変わったら復活するという構想を練っています
とりあえず、まず”×”を消すコードを見よう見まねで書いてみたのですが動作しませんでした
消すのは良いですが復活させるのも組み込むとなるとちんぷんかんぷんです
是非ともご教示お願いします!
Sub test()
Dim d As Long
Dim i As Long
Dim j As Long
For i = 2 To Sheets.Count
d = Range("A11:Z11").End(xlUp).Row
With Worksheets(i).ChartObjects("グラフ 4").Shapes.AddChart.Chart
.ChartType = xlLineMarkers
For j = .SeriesCollection.Count To 1 Step -1
If .SeriesCollection(j).Name <> "×" Then
.SeriesCollection(j).Delete
End If
Next j
End With
Next
End Sub

378:デフォルトの名無しさん
17/09/19 20:55:54.78 2SFxAhMD.net
>>367
説明サイトへのリンク、ありがとう。
取り敢えず、「階層構造のデータ間を移動する手段として」のRecordオブジェクトは使うこと無さそうw

379:デフォルトの名無しさん
17/09/20 01:17:31.22 2dxgF4qE.net
IF文初心者ですが
3つ数字の中から一番小さい数を判定したいのですが、
elseや入れ子で複数書けば判定できるというのは推測がつきますが
最も簡潔に記述するとしたらどんな記述方法がありますでしょうか?
例)
33 12 3

3を抽出

380:デフォルトの名無しさん
17/09/20 05:19:03.75 mkPuPLWs.net
>>370
最小値 = WorksheetFunction.Min(Array(33, 12, 3))

381:デフォルトの名無しさん
17/09/20 05:37:31.94 mkPuPLWs.net
>>370
x = 33
y = 12
z = 3
If x < y And x < z Then
  最小値 = x
ElseIf y < x And y < z Then
  最小値 = y
Else
  最小値 = z
End If

382:デフォルトの名無しさん
17/09/21 21:28:21.10 j1SDXypf.net
>>372
>>371
明確な答えをありがとうございます。
やはりIFの場合は372が妥当なようですね。

383:デフォルトの名無しさん
17/09/21 22:56:33.81 8rkXkN3+.net
>>372は < じゃなくて <= にしないと誤判定する

384:デフォルトの名無しさん
17/09/22 06:56:36.59 zUC9dslV.net
例題の対象が3ではなくて1000とかに増えたら破綻するだろw

385:デフォルトの名無しさん
17/09/22 07:13:14.29 TPoybrYY.net
>>375
数字3つという前提を勝手に変えるこういう馬鹿はなんだろう

386:デフォルトの名無しさん
17/09/22 09:34:43.90 KphHXryq.net
汎用性を考慮しないのか。
なかなかひどい。こういう人もいるという参考になったわ。

387:デフォルトの名無しさん
17/09/22 09:37:13.81 oVXNeyl2.net
ソートアルゴリズム書くだけやん

388:デフォルトの名無しさん
17/09/22 09:54:47.89 yLI54yGL.net
372のはアルゴリズムと言うよりその場しのぎの対応

389:デフォルトの名無しさん
17/09/22 10:13:30.00 yLI54yGL.net
配列に入れてループで最小値と比較して小さければ最小値を更新していくのが定石なのでは。

390:デフォルトの名無しさん
17/09/22 10:29:30.23 WIc1mdfR.net
だからMin関数で一発なのに、無駄に車輪の再発明をしたがるやつが多くてリンダ困っちゃう

391:デフォルトの名無しさん
17/09/22 10:32:40.77 4is4PUWl.net
>>379
順次比較も立派なアルゴリズムの一種なんだが

392:デフォルトの名無しさん
17/09/22 14:42:52.69 KphHXryq.net
これはひどい

393:デフォルトの名無しさん
17/09/22 14:57:48.38 WETwNkme.net
IF初心者とか言ってる人に何言ってるんだか
あといつからこのスレはEXCEL VBA限定になったんだ

394:デフォルトの名無しさん
17/09/22 20:39:03.91 zUC9dslV.net
>elseや入れ子で複数書けば判定できる
>最も簡潔に記述するとしたらどんな
という問いに、elseや入れ子の回答するのは無能以前に答えになってないのとちがう?

395:デフォルトの名無しさん
17/09/22 22:15:07.62 250/7oh7.net
え?え?日本語理解できてる?
質問には「Elseを使わずに」なんてどこにも書いてないぞ
ざっくり意訳すれば「IfとElseの数を最小に」する方法を聞いてるんだろ

396:デフォルトの名無しさん
17/09/23 06:12:18.34 6cN/4Ux4.net
372のは374が書いてるように、例えば
x=1
y=1
z=3
と入れただけで誤判定する。アルゴリズムの最低限を割ってるぞ。
372がベストアンサー(笑)だと質問者が思ったなら気の毒なので念のため。

397:デフォルトの名無しさん
17/09/23 07:50:16.98 nAanI8EG.net
そもそも計算量も最少じゃないしな
普通に
最小値 = x
If y < 最小値 Then 最小値 = y
If z < 最小値 Then 最小値 = z
ってやる方がわかりやすい

398:デフォルトの名無しさん
17/09/23 10:07:44.78 hX9NlXap.net
うん、ベストアンサーはMin使った方だね。
俺だったら迷わずMin使用する。
同時にMin使わない方法も考える。
配列ループも考えた。
でも、別にIf文使っても良いんじゃない?
そんな目くじらを立てるようなことじゃない。

399:デフォルトの名無しさん
17/09/23 12:22:56.52 /uotOgAp.net
>>386が分かってないバカ多すぎw

400:デフォルトの名無しさん
17/09/23 14:36:58.57 OMtgmcpv.net
だから372はif elseだとしても最小(計算量的に)の答えにもなってないし、そもそも答えとして間違ってるって話だろ

401:デフォルトの名無しさん
17/09/23 17:06:13.24 HTwX+3ra.net
それは勉強する奴と仕事にしてる奴のスタンスの違いだな。
仕事にしてる奴はIfを使わなきゃならないなんてことに遭遇しないから、はなっから抜けてる。

402:デフォルトの名無しさん
17/09/23 23:00:39.63 9AVefP05.net
必ずIfを使う縛りなら>>388がベストアンサー
ソートアルゴリズムの最初の1回目のループを展開してるだけなんだけど、基本中の基本のやり方

403:デフォルトの名無しさん
17/09/23 23:28:57.04 UvR7p8sn.net
>>392
if文の使い方を聞かれてmin()関数を教えるような人はプログラムを仕事にしないで欲しいのです
いえ、仕事をしないで欲しいのです

404:デフォルトの名無しさん
17/09/23 23:49:29.12 9AVefP05.net
仕様書はちゃんと読んで、条件は無視しちゃいけないよね

405:デフォルトの名無しさん
17/09/24 02:12:05.73 3B64fACL.net
勉強のため何が何でもIfだけで解決しなきゃいけなかったのか、
まだ初心者だからMinという便利な物があることを知らなかったのか
それによって変わってきちゃうからー

406:デフォルトの名無しさん
17/09/24 08:43:50.06 LX+6AD0q.net
>>395
仕様書ならそれが正解
しかし案件定義なら顧客が何をしたいかを読み取ってより良い方法を提案することも必要
そもそも>>370にはIf使えとは書いてないし

407:デフォルトの名無しさん
17/09/24 09:20:40.69 SDtHFGLj.net
>>394
分かってねえなあ。
勉強を教える仕事じゃないならユーザーにとって一番使いやすいとか、速度が速いとか、ユーザーが満足するようなものかどうかが大事なのであって、どんなコードじゃなければならないとかの要望は普通無い。
そして、メンテナンス性とかコードの書き方に関してもMinの方が良いとなればそもそもの問い掛け自体仕事で発生することは無い。
そして実際には、何でMinじゃ駄目なのと問い掛けられない奴は仕事の出来ない奴ということになる。
(もちろん明確に理由が有るならIfで書く。)
指示通りにしか作れない奴じゃ単なるコーダって奴になるしかない。
仕事ではMinを使わないなら明確な理由が存在するし、打ち合わせなんかのやり取りで既に意思統一されてる筈だ。
つまり今回の問い掛けのような事態は存在しない。

408:デフォルトの名無しさん
17/09/24 10:07:44.74 lViLIhLn.net
>>393
だな、簡素で分かりやすく奇麗なコードだ

409:デフォルトの名無しさん
17/09/24 15:00:43.73 3BjqQEbI.net
>>398
なんか仕事をしてる体で話してますけど
あなたの想像上の仕事では自分にとって都合の悪い事態は存在しないのですね
さぞかし楽しかろうとは思いますが
あなたは社会に出ないでください

410:デフォルトの名無しさん
17/09/24 16:46:42.97 jWeMnfEt.net
>>400
仕事をしたことの無い奴には分かるまいw

411:デフォルトの名無しさん
17/11/08 05:55:55.96 mrDDFdOE.net
こっちを再利用?

412:デフォルトの名無しさん
17/11/08 09:41:10.42 VRSOCYqC.net
再利用したいけどExcelの話をしたいときに困るのかな

413:デフォルトの名無しさん
17/11/08 10:15:34.15 6WBHyYXn.net
そのうち立つんじゃね

414:デフォルトの名無しさん
17/11/08 11:10:32.82 JKxKdsR3.net
「Excelの話」したいんだったら総合相談所でやれ

415:デフォルトの名無しさん
17/11/08 11:59:42.12 VRSOCYqC.net
なるほどなるほど

416:デフォルトの名無しさん
17/11/08 12:50:47.32 +KUB1/9h.net
早速質問
今vbaでマップ使って
とある表の集計を行なっております
一つのkeyに対しアイテムが複数あるので
配列で入れようと思ったのですがうまくいきません
何か良い方法はありませんか?

417:デフォルトの名無しさん
17/11/08 16:45:58.99 pE/cp7rq.net
もう少し具体的にどうぞ

418:デフォルトの名無しさん
17/11/08 21:23:36.05 +KUB1/9h.net
>>408
一つのキーに対して複数のアイテムがある
これをどうにかこうにか出来ないか
やりたいことは
キーが重複された二次元配列を
グループ化&合計を取りたい

419:デフォルトの名無しさん
17/11/08 21:28:10.43 aQlO1Uq5.net
>>409
エクセルならピボットテーブルでいいんじゃない?

420:デフォルトの名無しさん
17/11/08 21:32:09.19 +KUB1/9h.net
>>410
自動で計算させるんだよ

421:デフォルトの名無しさん
17/11/08 21:33:56.61 aQlO1Uq5.net
>>411
ピボットテーブルをvbaで作ればいい

422:デフォルトの名無しさん
17/11/08 21:38:43.05 vt31E4Mm.net
エスパーじゃないんだから、もっと具体的に説明しないと、何がしたくて何ができないのか判んないよ。
そして多分だけど普通にifで分岐するプログラムを書くだけだと思う。

423:デフォルトの名無しさん
17/11/08 21:40:37.09 0sSRKP/b.net
いや多分


424:forでループするプログラムを書くだけだと思う



425:デフォルトの名無しさん
17/11/08 22:38:17.07 +KUB1/9h.net
データシート
キー 金額a 金額b
1 10 20
2 20 50
1 30 90
結果(期待)
キー 金額a 金額b
1 40 110
2 20 50

上のような感じのシートがあって
集計かけたり
平均とったり
最大値だったりしたい

426:デフォルトの名無しさん
17/11/08 23:08:47.37 aQlO1Uq5.net
>>415
そのくらいの事を自分でできないなら
ピボット使った方がいいと思うぞ
バグって計算結果が合わないから

427:デフォルトの名無しさん
17/11/08 23:25:51.57 0sSRKP/b.net
そのくらいの事を自分でできないから質問してんだろ
そのくらいの事を理解できないなら質問スレに来ない方がいいのに

428:デフォルトの名無しさん
17/11/08 23:38:17.91 aQlO1Uq5.net
そのくらいの事も判らない人にも実現できる方法を提案してるだろ

429:デフォルトの名無しさん
17/11/09 00:17:55.65 hDRDp7cw.net
URLリンク(i.imgur.com)
上のように各列の情報に応じて、一定の条件にヒットしたら評価欄に追記、ということをしているのですが、
上手い書き方が思いつかず、冗長で読みにくいコードになってしまいます
URLリンク(i.imgur.com)
どうすれば綺麗で読みやすいコードになるでしょうか?
特に、変数(ここでは「評価」)の参照先のセルに書き込みつつ、変数の値自体も更新するスマートな方法と
If文で2つの条件が当てはまった場合に両方の処理を実行させる(ここでは40点以下と60点未満のIf文を一つで済ませるとか)方法があれば知りたいです

430:デフォルトの名無しさん
17/11/09 03:11:02.61 HAMnFTNh.net
>>419
配列を使え
あとソースを読んだり修正したりやりにくいから画像にせずそのままテキストとして貼ってくれ
科目 = Array("国語", "算数", "理科")
For j = 0 to 2
  点数 = i.Offset(0, j + 1)
  If 点数 <= 40 Then
    i.offset(0, -1).Value = i.offset(0, -1).Value & 科目(j) & "の点数が以下略" & vbCrLf
みたいな感じで教科の数に関わりなく記述を1回にできる
条件が3つ以上ある時はCaseで分ける方法もあるけど、どんどん文字列を追加するならIfを並べる今の書き方で別に悪くない

431:デフォルトの名無しさん
17/11/09 08:39:48.02 m3IDSHjM.net
ありがとうございます、やってみます
(コードは行数制限とインデントが反映されなかったのでつい画像に…すみません)

432:デフォルトの名無しさん
17/11/10 08:15:39.86 vvDXnBRS.net
オートフィルの連続データでA1が0なら終わりでそれ以外なら下にオートフィルの連続データを追加して行くってどうやればいい?

433:デフォルトの名無しさん
17/11/10 08:52:12.12 EDTrdPIL.net
何をどこまで追加すんの?

434:デフォルトの名無しさん
17/11/10 09:18:59.30 vvDXnBRS.net
下に一つオートフィルの連続データを追加してもしもその数が0以外ならばその下に一つづつ追加してもし0になったら終わるってことです
オートフィルの連続データまでは成功しました!

435:デフォルトの名無しさん
17/11/10 12:58:08.94 MIqJX5DT.net
>>424
何をやりたいのかさっぱりわからんから
> オートフィルの連続データまでは成功しました!
のコードを晒してくれ

436:デフォルトの名無しさん
17/11/10 22:07:12.41 KbRkXeO5.net
何をどーしたいのかよーわからんが、
オートフィルの連続データが完成したならDo  While Loopでも使えばいいんじゃね

437:デフォルトの名無しさん
17/11/11 10:59:01.85 t1iacSS7.net
そうですね連続データと探す作業分けてDo until使ってみたら目的は達成できました ありがとございます

438:デフォルトの名無しさん
17/11/16 11:42:09.40 DcGHOE5h.net
漠然とした質問で申し訳ない
コレクションというのがあるけど、その利点というかこういう場合に使うとかという
のを教えてくれないだろうか。配列は動的配列も含めてよく使うけどコレクション
というのはあるのは知ってるけどどういう場合に使うものなのか判らない。
(まぁそれでも何とかなってるということは今の時点ではそれでも問題ないって
ことでもあるんだけど)


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

288日前に更新/325 KB
担当:undef