トップページtech
1001コメント341KB

Excel VBA 質問スレ Part37 [転載禁止]©5ch.io

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2015/01/10(土) 07:06:30.56ID:2VZ4g5kC
ExcelのVBAに関する質問スレです

                   ___
       ___      /____ヽ      ____
      /____\    | |´・ω・`| |    /___ヽ
      .l |´・ω・`|  ニX二 . ̄ ̄ ̄  二X二  |´・ω・`| l 俺たちに任せろ
      !、 ̄ ̄ ̄  ヽ   |       |    /    ̄ ̄ ̄/
       ヽ_/ヽ、  ヽ__)  \__/\_/.   /_/  ノヽ_/
             ̄                ̄ ̄

このスレはコード書き込みOKです。
作成依頼もOKですが、作成依頼限定ではありません。

コードが嫌な人は別スレ建ててください。

※前スレ
Excel VBA 質問スレ Part36 [転載禁止]©2ch.net・
http://peace.2ch.net/test/read.cgi/tech/1419718732/

※頭のレスの方でキチガイが束縛テンプレを貼る詐欺行為が前スレまで散見されましたので、十分にご注意ください。
0685デフォルトの名無しさん2015/07/23(木) 19:23:54.97ID:Vrk4ENFd
>>683
> SetとLetだろって話なんだが

Set と Let の話してる奴等に

>> ところでお前ら、Letって命令あるのちゃんと知ってるか?

とか言い出したアホがいるって話なんだけど...
0686デフォルトの名無しさん2015/07/23(木) 19:24:52.80ID:jdzUEZ4l
そしたらコメントで…なんて書くと、またコメントがどうたらこうたらで荒れるんだな w
0687デフォルトの名無しさん2015/07/23(木) 19:25:27.87ID:jdzUEZ4l
>>686>>684に対してね
0688デフォルトの名無しさん2015/07/23(木) 21:34:40.50ID:fIFeUYpQ
>>685
Setのあるなしじゃなくて って所を外してるのは、わざとですか?
そこが重要だと理解できてないのですか?
0689デフォルトの名無しさん2015/07/23(木) 23:17:13.99ID:OfB5opuk
>>688
わざとです
論点はあくまでも >>636 ですから
06906362015/07/23(木) 23:55:08.79ID:h4tQPyFC
いやあテレるなぁ
0691デフォルトの名無しさん2015/07/26(日) 02:05:49.12ID:PMtslnm/
コンボボックスの選択完了された値ではなくて
選択中の値・・・ドロップダウンリストが表示された状態で
マウスカーソルがあわさっている値を取得、なんてできますか?
0692デフォルトの名無しさん2015/07/26(日) 02:31:29.01ID:2OSSYxBC
基本的にWindowsのコントロールはサブクラス化すれば何でもできると思っていいよ
0693デフォルトの名無しさん2015/07/26(日) 11:51:18.54ID:PMtslnm/
やはり難しいですよね
リストボックスにしてみます
0694デフォルトの名無しさん2015/07/29(水) 22:52:06.65ID:P4eNlM/m
workbook.sheets(1).copyで新しく作られたbookをactiveworkbookを使わずに取得する方法はありますか?
0695デフォルトの名無しさん2015/07/29(水) 22:54:37.84ID:c3o2n8R7
activeworkbookを使いたくない理由を聞きたいわ。
0696デフォルトの名無しさん2015/07/29(水) 23:36:18.80ID:P4eNlM/m
>>695
何かのタイミングでactiveが変わってしまったら危ないんじゃないかと思ったんですが、そういう事は起こり得ないんですか?
0697デフォルトの名無しさん2015/07/29(水) 23:50:54.16ID:c3o2n8R7
>>696
"Book1 - copy.xlsx"
みたいになると思うので、その名前を使えば良いんじゃないの?
0698デフォルトの名無しさん2015/07/29(水) 23:59:24.34ID:HfzTZxWN
自分で新規ブックをつくってそこにコピーすれば良いだけじゃ
0699デフォルトの名無しさん2015/07/29(水) 23:59:46.07ID:hQM1TMMz
その名前が既にあったらどうするんだ
0700デフォルトの名無しさん2015/07/30(木) 00:00:27.52ID:ds/Apgk5
>>697
名前もその時の状況で変わるので使いづらいです

自分が書いたコードではworkbookオブジェクトを新しく作ってからそこにシートコピーしてるのでactiveworkbookはつかってないんですが、
workbook.sheets(1).copyからもactiveworkbookを使わずオブジェクトを取得できたら楽かなぁと思って質問した次第です
0701デフォルトの名無しさん2015/07/30(木) 00:15:11.00ID:AfvBuYEQ
>>699
事前にチェックすれば良いだけだろハゲ
0702デフォルトの名無しさん2015/07/30(木) 01:58:48.20ID:iv9Zs1qn
Sub こんなんどないや()
Worksheets(1).Copy
Set mybook = Workbooks(Workbooks.Count)
mybook.Sheets(1).Range("A1") = "ABC"
End Sub
0703デフォルトの名無しさん2015/07/30(木) 04:18:29.77ID:3TLsFD+R
Sub NewSheet(Name As String, ByVal cnt As Long)
Dim WS As Worksheet, f As Boolean
Dim NameCnt As String

If cnt Then NameCnt = Name & cnt Else NameCnt = Name

For Each WS In ThisWorkbook.Worksheets
If WS.Name = NameCnt Then f = True: Exit For
Next

If f Then
Call NewSheet(Name, cnt + 1)
Else
Set WS = ThisWorkbook.Worksheets.Add
WS.Name = NameCnt
End If
End Sub
07046942015/07/30(木) 22:02:11.70ID:ds/Apgk5
やっぱりひと手間かけないと難しいですよね
ありがとうございました
0705デフォルトの名無しさん2015/07/31(金) 03:12:44.99ID:aPbYdwRE
>>699
馬鹿なのお前?
0706デフォルトの名無しさん2015/07/31(金) 23:33:53.17ID:q+UwAnSR
なんかお題をちょうだい
0707デフォルトの名無しさん2015/07/31(金) 23:40:31.13ID:pDlCqfLx
テトリスつくって
0708デフォルトの名無しさん2015/07/31(金) 23:44:01.31ID:q+UwAnSR
32LINE2048bytesが制限だからちょっとテトリスはゴメンちゃい
0709デフォルトの名無しさん2015/08/02(日) 08:29:07.26ID:lFlP6vKj
カンマがたくさん入力されたEXCELファイルをcsvファイルにしたい
ところが普通に名前をつけて保存だと"を付いてくれないっぽい

"aaa,bbb","cccc","d","eee","ff"
こういうcsvファイル作りたいんだけど、
VBAからテキストに書くしか方法ない?

元のEXCELファイルでは
カンマが入力されてる位置も数も法則性はありません
0710デフォルトの名無しさん2015/08/02(日) 09:24:03.34ID:js+6DYN9
>>709
それがExcelの仕様
諦めてVBAを書くか、""なしで書き出したテキストファイルを
PerlやRuby等の簡易な言語で加工するか
0711デフォルトの名無しさん2015/08/02(日) 10:54:43.64ID:pHbT44ug
大体他言語の話を持ち出すやつは糖質
特にC++はアスペ
0712デフォルトの名無しさん2015/08/02(日) 11:55:18.99ID:zAkA6wkz
>>711←これが病気の人の執着力です
0713デフォルトの名無しさん2015/08/02(日) 12:23:27.67ID:lFlP6vKj
仕様でしたか
行数多いので処理時間が少し心配ですが、
VBAでやってみます

他言語はvbsで保存後に「,」を「","」に置き換え
加工できるかなとは少し考えてました。
でも置き換え対象外の「,」もあるわけで、
保存後だと判定が難しそう
0714デフォルトの名無しさん2015/08/02(日) 13:06:35.44ID:ZRhH79SV
>>709
試した範囲では、少なくともセル中にカンマを含む場合はちゃんと""で囲んでくれるようだが
まあ、CSVはいろいろ細かいとこが違うから気に入らないなら自分で書き出すのが確実だけど
0715デフォルトの名無しさん2015/08/02(日) 14:52:37.26ID:egshDkuk
リンクされたセルの値が変化した際に実行する処理をWorksheet_Changeに記述しております。
この処理中にリンクされたセルの値が変化した場合、
実行中のWorksheet_Changeは中断され、新たにWorksheet_Changeが開始されるのでしょうか?
それとも、実行中のWorksheet_Changeは引き続き実行され、同時並行にWorksheet_Changeが開始されるのでしょうか?

また、上記のどちらであるかを確認する方法があるようでしたら教えていただきたいのです。
よろしくお願いします。
0716デフォルトの名無しさん2015/08/02(日) 15:09:53.80ID:QrDJWkft
>>715
処理の中に対象セルの値を変化させるコードがある場合、そこから新たに実行される。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim i

Debug.Print "preexe"

Target = i

Debug.Print "Postexe"
End Sub

とかで実行してみてイミディエイトウィンドウを確認すると分かりやすい。
0717デフォルトの名無しさん2015/08/02(日) 15:18:10.64ID:9vFz/e2c
無限ループって怖くね?
0718デフォルトの名無しさん2015/08/02(日) 16:32:16.48ID:dkS/+hk9
>>715
A列 金種
B列 枚数
C列 金額
でB、Cの何れか片方に入力されたらもう片方を再計算するようにしたことならあるけど…
07197152015/08/02(日) 17:32:28.59ID:egshDkuk
あー間違えたー
>>715のWorksheet_ChangeはWorksheet_Calculateに読み替えてください。
↓が正しいです。すみません。
"リンクされたセルの値が変化した際に実行する処理をWorksheet_Calculateに記述しております。"

>>716
>そこから新たに実行される
実行中のWorksheet_Changeは中断され新たにWorksheet_Changeが実行されるということでしょうか?
提示してもらったコードを参考にWorksheet_Calculateでの動作を確認してみます。

>>717
Worksheet_Calculateが実行中にリンクされたセルの値が変化することもあれば、変化しないこともありますので
必ずしも無限ループとはなりません。
>>716は無限ですけど。
0720デフォルトの名無しさん2015/08/02(日) 18:39:22.01ID:MF9TQU9s
>>709
そういうのがわずらわしいからTab文字でセパレートするんやで
つーか全レコード舐めて使ってない文字なら何でもいいが
0721デフォルトの名無しさん2015/08/03(月) 10:07:35.51ID:IvRPgtVs
>>709
アドイン探したらあったよ?
Excel CSV I/O 
使ってみたら。
0722デフォルトの名無しさん2015/08/03(月) 15:40:21.92ID:JhhThk5t
2バイト文字の空白エリアからテキトウに選べばええ
0723デフォルトの名無しさん2015/08/04(火) 18:12:48.60ID:Xu3GeQZL
OWCのグラフについてですが、データがEmptyの箇所を非表示にするにはどうすればいいでしょうか?
0724デフォルトの名無しさん2015/08/04(火) 19:13:09.63ID:qaA+gaVg
PowerShell なら、import-csv, export-csv,
-encoding で、UTF-8, Shift-JIS のエンコードも指定できる

Excelのファイル形式では、
6 CSV
22 Mac CSV
23 Windows CSV
24 MSDOS CSV

"a,b","a b"
こういうように、文字列の中に、
カンマや空白が入っていると、
ややこしいので、タブ区切り(TSV)を使う
0725デフォルトの名無しさん2015/08/05(水) 00:47:49.40ID:Xk+R3C8+
特定のブックだけでしか使わないので、そのためにアドインってのはちょっと嫌かな
tsvってなんでExcelに関連付けされてないんだろう
名前をつけて保存でも出てこないし

拡張子協会?みたいのがあって、そこには認められて無くて
タブ区切りだからtsvって一部の人が呼んでるだけなのだろうか
なんて想像してしまう
0726デフォルトの名無しさん2015/08/05(水) 04:31:59.24ID:yfcMdSNW
>>725
Excelでのタブ区切りはテキスト形式指定で保存できる
関連付けは.txtなのでメモ帳になってるのが一般的だな
開くのはEXCELでちゃんと開ける

そもそもcsvはComma-Separated Valuesの略だとされてるから
タブ区切りがcsvじゃおかしいだろうって言う話があってtsvと呼んだりするけど
それ以外の区切り形式も全部ひっくるめてcsvと呼ぶこともある
いちおう今はRFCとかもあるけど、それ以前から存在するし実はかなりカオスな形式
0727デフォルトの名無しさん2015/08/06(木) 21:55:53.33ID:i7HDVQtV
ExcelからVBAでOutlooikを操作し
CreateObject("Outlook.Application").CreateItem(0)
でメールの下書きをいくつかたくさん作ります。

そのあとつくった全部に対して同じ処理をしたいのですが
このCreateItem(0)で作ったメールの下書きのコレクションを取得する方法ってどうやればよいでしょうか?
0728デフォルトの名無しさん2015/08/06(木) 22:24:14.34ID:JI2t4Gst
好きにやればいいよ
0729デフォルトの名無しさん2015/08/06(木) 23:00:42.60ID:hJ1X31cM
>>727
outlook研究所に行けよ
0730デフォルトの名無しさん2015/08/06(木) 23:53:13.21ID:3nTeNGfy
自分で作ってるんだから自分でコレクションに入れていけば良いんじゃね
0731デフォルトの名無しさん2015/08/11(火) 21:35:11.54ID:gtl50mbf
あるセルに
AAA BBB AAA CCC
と表示されているのを
AAA BBB CCC
と、つまり重複文字列を
削除するVBAのコードを何卒
お願いしますm(_ _)m
0732デフォルトの名無しさん2015/08/11(火) 22:49:00.10ID:my6QzTuQ
メニューに重複削除あるだろ
0733デフォルトの名無しさん2015/08/11(火) 23:00:31.84ID:gtl50mbf
>>732
一つにセル内の話です。
例えばA1内に
あああ あああ 200 200
と文字列がある場合に
マクロ実行で
あああ 200
のように。
(かなり困ってますので
お助けを…(_ _))
0734デフォルトの名無しさん2015/08/11(火) 23:02:52.20ID:Rnp54Swm
あるセルって単一セル内?4つのセル?
0735デフォルトの名無しさん2015/08/11(火) 23:14:47.60ID:Rnp54Swm
区切りにスペースは必ず入ってるのかな
0736デフォルトの名無しさん2015/08/11(火) 23:24:55.02ID:3YchA3jD
そんな馬鹿げた要件ないだろ
0737デフォルトの名無しさん2015/08/11(火) 23:43:59.37ID:gtl50mbf
>>734
単一セル内

>>735
スペースは入っています。
元のプログラムでは
文字列型の変数に
str = str & " " & Cell(i, j).Value
のようにして格納いています。
Dim i
Dim j
Dim str As String

For i = 1 To 100
str = str & " " & Cells(i, j).Value
Next i

Worksheets("紙").Cells(1, 1) = str

の様にしましたが結果が上記のようになって
しまいます。つまりstrの中身の重複を
削除する方法です(_ _)
0738デフォルトの名無しさん2015/08/12(水) 00:05:07.74ID:AxCPtTKK
>>731

Sub こんなんどないや()

Set stock = New Collection
barabara = Split(ActiveCell.Value, " ")
On Error Resume Next

For Each OnePiece In barabara
stock.Add OnePiece, OnePiece
Next
On Error GoTo 0
For Each OnePiece In stock
kekka = kekka & " " & OnePiece
Next

ActiveCell.Value = Trim(kekka)

End Sub
0739デフォルトの名無しさん2015/08/12(水) 00:26:19.28ID:g9g1aoHI
>>738
ありがとう御座います。
明日、会社で試してみます。

なんか出来そうな予感は
して来ました(笑)
(夜分遅くに本当に感謝です、他にも
ありましたら何方かなるべくシンプルな
やつでお願いします(^ ^;))
0740デフォルトの名無しさん2015/08/12(水) 01:06:27.62ID:svAFeBJn
>>738
エラー無視させるかキーが当たったら登録させないかは好みで分かれるところだな
0741デフォルトの名無しさん2015/08/12(水) 09:21:11.40ID:ybFGXm8Q
>>740
エラートラップとかはできる限り使いたくないから
> キーが当たったら登録させない
派だな
0742デフォルトの名無しさん2015/08/12(水) 12:37:40.94ID:bqbcCRVa
vba活用してスマホとEXCEL連携して何かできないかな
カメラで撮ったらシートに画像がすぐに貼り付けられるとか
バーコード呼んだらセルに入力されるとか
0743デフォルトの名無しさん2015/08/12(水) 13:40:00.14ID:CjCTxmpZ
dictionary使えばいいでしょ

まあ元のソースが別のセルに入ってるのをわざわざ連結してから処理してる意味がわからないけど
0744デフォルトの名無しさん2015/08/12(水) 13:42:43.23ID:Qp9NewvK
>>742
googleスプレッドシートでやるといいよ
0745デフォルトの名無しさん2015/08/12(水) 17:15:44.92ID:e6JBBjJ+
シートに図挿入したときのことなんですが、
挿入 ― 図 ― (d:\gazo\a000.jpg) ― ファイルにリンクで
貼り付けた画像があるとして、この画像のフルパス(d:\gazo・・・.jpg)を
知ることはできるでしょうか。Excel2007では,代替えテキストに
フルパスが入っていますが、Excel2010では、何も入りません。
(Excel側で、設定とかある?)、どこかに、情報は持っているはずと
思うのですが、VBAで知る方法、わかるかた教えてください。
代替えテキストは、下記でわかるようなのですが。
pic.ShapeRange.AlternativeText
0746デフォルトの名無しさん2015/08/12(水) 23:05:01.82ID:G8qcToBK
そこを方向転換してマクロで図を挿入するようにすればバージョンに依存せずいつでもパスを得られると思わないか
思わないな
07477452015/08/12(水) 23:40:12.65ID:e6JBBjJ+
>>746
じつは、マクロで図を挿入するのを作っていて、「Excel2010でPictures.Insertすると
リンク貼り付けになる」ということなので、いろいろ調べたら「代替テキストに画像のフルパスが
あるなら、挿入にできる」っていうのを見つけた。で、2007だと代替テキストにフルパスが
入ってるけど、2010は、なし。じゃ、ということで2010で代替テキストにフルパスを書き込む
ようにした。で、リンク貼り付け→挿入にできるようになったんだ。これ、>>745カキコしてから
ようやっとできた。だけど、んにゃ、どっかにフルパス情報当然あるはず、と思うんだけど。
ちなみに「AddPicture」は、どうもしっくりこなくて。
0748デフォルトの名無しさん2015/08/13(木) 01:00:44.65ID:CPI6SZk7
>>747
「代替テキストに画像のフルパスがあるなら、挿入にできる」って
なにそれリンクプリーズ
0749デフォルトの名無しさん2015/08/13(木) 01:24:42.76ID:UOPmO2ID
結局何が目的でどれがそのための手段なのかわからん
0750デフォルトの名無しさん2015/08/13(木) 09:28:42.30ID:jLoATrSc
>>748
これです。
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1284060567

要は、画像リンクで貼り付けられてる、画像のフルパスがわかれば、リンク貼り付け→挿入にできる。
Excel2007は、代替テキストに入ってるから、もしリンク貼り付けでも対処できる。2010は、手動貼付けや
Pictures.Insertでは、代替テキストにはフルパスは入らない。マクロで入るようには、もちろんできる。
じゃ、すでに手動なりでリンク貼り付けになってる(フルパス情報なし)のを、挿入にしたいから
図のフルパスを知りたい、ってことなんだわ。ネットで、いろいろググってるんだけど、見つからなくて。
0751デフォルトの名無しさん2015/08/13(木) 10:30:47.40ID:XEpKKFYz
図をコピーして形式を選択して貼り付けするとリンク切れるみたいだけどそれでどうにか
07527502015/08/13(木) 11:38:58.21ID:jLoATrSc
>>751
レスありがとう。教えてもらった通りの操作を、マクロ記録してみました。
それを利用して、画像フルパスなくても、一度に何枚のリンク画像でも、
挿入にできました。この方法は、思いつきませんでした。日頃のExcel操作が
大事だと改めて思いました。教えていただき、ありがとうございました。
(目的を達成したので、とりあえずリンク画像のフルパス取得は、保留にします。)
0753デフォルトの名無しさん2015/08/13(木) 14:10:15.23ID:XEpKKFYz
図のリンクの編集ぐらいExcelの機能としてあるかと思ったら意外に無いのな
コピペも対処療法的な感じで非常にアレだ
0754デフォルトの名無しさん2015/08/13(木) 18:40:42.85ID:e6rsnF6N
>>753
「対処療法」じゃなくて正しくは「対症療法」だよ
0755デフォルトの名無しさん2015/08/14(金) 20:13:43.07ID:8ARrFh/I
Range("a1").value = Range("b1").value

こう書くと数式も含まれてコピーされるようですが
値のみを繁栄させたい場合はどう書けばいいのでしょうか? 
0756デフォルトの名無しさん2015/08/14(金) 20:19:39.62ID:kkHnja52
>>755
マクロ記録モードにして
「値で貼り付け」の操作をするとわかる
07577552015/08/14(金) 20:21:57.58ID:8ARrFh/I
>>755
この質問の意図は

Range("A1").Copy

Range("B2").PasteSpecial Paste:=xlPasteValues

とすれば出来るのでしょうが1行で記述したいということです。


>>756
ありがとうございます
0758デフォルトの名無しさん2015/08/14(金) 20:43:22.05ID:GC+yzDGQ
>>755
私の記憶が確かなら、.valueは計算結果の値であって、数式はとれないはずですが。
EXCELのバージョンは?
07597552015/08/14(金) 20:54:01.53ID:8ARrFh/I
>>758
2003です、、 
表の集計で使っていますが
今まではダイレクトに書かれた数値をコピペしていたところを
=a1 のようなセル参照で抽出する用に変えたのですが
結果の数値が全部0になりよく調べると =a1  ごとコピーされて
結果セルの式は=a100とかと表示されていてだめだこれはといった感じです
07607552015/08/14(金) 22:12:02.80ID:yxgV65T9
結局の所
>>757

>>755
のように1行で書く事は出来ないのでしょうか?
0761デフォルトの名無しさん2015/08/14(金) 22:41:06.93ID:kkHnja52
>>760
できない
「値で貼り付け」はPasteSpecialメソッドにしかない機能なので
まずCopyしておく必要がある
07627552015/08/14(金) 23:04:41.66ID:heE1+va8
>>761
ありがとうございます。 長年の謎が溶けてすっきりしました。
0763デフォルトの名無しさん2015/08/14(金) 23:45:05.71ID:G78FLFmY
>>759
うちは2007だけど
Range("a1").Value = Range("b1").Value
でちゃんと数値がコピーされるなー

ところでこんなんどないや
Range("a1").Value = Evaluate(Range("b1").Formula)
0764デフォルトの名無しさん2015/08/15(土) 00:27:53.07ID:fL/PzS3/
>>763
2010でもその通り、値のコピーとなった。
>>761はウソ。
0765デフォルトの名無しさん2015/08/15(土) 00:46:57.24ID:tvgFL4BI
質問
これは動くのですが
Dim mm(2)
mm(1) = ActiveSheet.Shapes.AddLine(10, 10, 50, 50).Name
mm(2) = ActiveSheet.Shapes.AddLine(120, 20, 60, 60).Name
ActiveSheet.Shapes.Range(mm).Select

コレクションに置き換えると動きませんでした
Set nn = New Collection
nn.Add ActiveSheet.Shapes.AddLine(10, 10, 50, 50).Name
nn.Add ActiveSheet.Shapes.AddLine(120, 20, 60, 60).Name
ActiveSheet.Shapes.Range(nn).Select

諦めて配列を使うしかないのでしょうか それともcollectionの使い方がわるいのでしょうか
0766デフォルトの名無しさん2015/08/15(土) 07:06:47.86ID:j7Z0urAN
色々な事情で600シート分のデータを1〜2のブックに統合する必要が出てきたのですが

1つのブックに600シートぶち込んでしまうのと
300シートに分割して2ブックにするのと
200シートで3ブックにする

のではどれがお勧めでしょうか?
600シートの総データ数は300MBほどです。
1ブック200シートのデータ作成は成功しましてまあそれなりに止まることなく動くというのがわかりました。
0767デフォルトの名無しさん2015/08/15(土) 10:12:24.14ID:Rw3ql/9W
第3の答えとしてRDBを使用する
0768デフォルトの名無しさん2015/08/15(土) 10:27:23.30ID:cR607+81
開くの重そう。
自分で作れてるんなら、実用性次第じゃないの?
0769デフォルトの名無しさん2015/08/15(土) 10:42:17.52ID:p/7d84Nq
何もしていないxlsx形式やcsv形式で300MBなら統合した後にデータテーブル化すれば容量はだいぶ抑えられるはず。
0770デフォルトの名無しさん2015/08/15(土) 15:23:11.33ID:7AZQcdGh
>>766
150シートに分割して4ブックにすることもできすし
120シートに分割して5ブックにすることもできすし
100シートに分割して6ブックにすることもできす。

しかし分割して7ブックにすることはできません。
これは7が600の約数ではないからです。
小学生の算数の授業でした。
0771デフォルトの名無しさん2015/08/15(土) 15:48:36.88ID:Bgl+GJFE
>>770
分割は等分とは限らないんだぜ?
0772デフォルトの名無しさん2015/08/15(土) 16:23:48.83ID:mbZast3u
同一テーブルのデータをシートに分けるのは愚の骨頂 ひとつにまとめろ
0773デフォルトの名無しさん2015/08/15(土) 16:33:01.59ID:HxCw3c0C
重いとか色々理由あって、状況によっては必ずしも1つが正しいともいえないんだよなぁ。
0774デフォルトの名無しさん2015/08/15(土) 17:04:42.31ID:B4BgWceW
まあそもそもEXCELでやるべき処理かという問題
0775デフォルトの名無しさん2015/08/15(土) 17:10:19.88ID:B4BgWceW
>>765
Shapes.Rangeの引数は、配列は許すがコレクションは許さない
0776デフォルトの名無しさん2015/08/15(土) 22:40:04.13ID:+545fZTC
これからexcelvbaを学習しようと思うのですが、パソコンスクールとかに通ったほうがいいでしょうか。
0777デフォルトの名無しさん2015/08/15(土) 22:51:46.86ID:4BB87GxS
>>776
ネットの解説ページで充分
0778デフォルトの名無しさん2015/08/15(土) 22:53:48.65ID:fL/PzS3/
美人講師に教えてもらえるのなら
0779デフォルトの名無しさん2015/08/15(土) 22:55:28.05ID:EaRAq543
VBA教えるスクールなんてあるんかな
0780デフォルトの名無しさん2015/08/15(土) 22:58:58.19ID:UUBlauo7
たぶんこのスレ見てるやつでパソコンスクールに通ったことあるやつってほとんどいないと思うぞ...
07817662015/08/15(土) 22:59:00.32ID:4BB87GxS
>>766 ですが盆休みの暑い中あれこれ試して見ましたが
100メガぐらいある200シートあるファイルを作り3つを同じに開いて処理させようとしたら・・・
3つめでリソース不足で開けませんと出てきました THE END

まだ推測段階ですが1ブック400シート統合したファイルは開けたと思いますので巨大な1つのブックを作るのが正解のようです。
0782デフォルトの名無しさん2015/08/15(土) 23:01:44.13ID:fL/PzS3/
現状のサイズで打ち止めなのか、今後少しずつ増えていくのかどっちだ?
07837662015/08/15(土) 23:09:16.26ID:4BB87GxS
>>782
管理上多くのシートが束なった状態が有利でして
どちらかと言うと限界値を探っている感じです。
07847662015/08/15(土) 23:13:14.19ID:4BB87GxS
>>782
最大シート数は青天井です
DBを使うべきなのでしょうがDB未経験なのでVBAであがいています
■ このスレッドは過去ログ倉庫に格納されています