Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


364 / 3841 ページ ←次へ | 前へ→

【75135】Re:表の比較
発言  T-k  - 13/12/18(水) 0:28 -

引用なし
パスワード
   ▼γ さん:
>>Dictionaryというのは、Keyと値の組み(対応関係)を管理する容れ物です。
>と書きました。
>変数key,valを使って書きますが、
>Dictionaryにこの組を追加する際の書き方として、
>   dic.Add key,val  '  ---- (1)
>   dic(key) = val   '  ---- (2)
>の二つの方式が利用できます。
>
>ただし、既にkeyというキーがあるときの振る舞いが異なります。
>・ (1)はエラーになり、
>・ (2)はエラーにならず、keyに対応するdicの値が新たに valに変わります。
>
>ヘルプでは(1)が採用されていますが、実務的には(2)を使う場面が多いです。
>というのは、Dictionaryの使い方として、
>普通は、重複を除いてキーを集めるなどという使い方が多いので、
>その場合は、存在するかどうかは構わずに、
>単に dic(key) = Empty などとすればいいわけです。
>逐一、存在をチェックする必要はありません。
>Emptyを上書きしていくことでも問題が無いわけです。
>
>同じkeyの個数をカウントするなどという場合も、
>単に
>  dic(key) = dic(key) + 1
>とすることが多いです。
>( 単に、dic.Add key, dic.Item(key) + 1 とするとエラーになるので注意が必要です。)
>
>-----------
>2.
>> パソコン自体どのようにこれが対応していると判断しているかの
>> イメージがつかめていません
>Dictionaryオブジェクトの実装には、Hash テーブルというものが使われていて、
>検索スピードを上げる工夫がされているそうですが、
>それは気にする必要はありません。
>
>Dictionaryのイメージは、単に、
>  二つのものの対応関係を管理する容れ物
>ということで良いと思います。
>
>一次元の配列は、
>  0  --> ary(0) 
>  1  --> ary(1)
>  2  --> ary(2)
>のように、"整数をキーにして"対応関係を持っていることが特徴です。
>参照するときは、整数を指定します。ary(0)のように。
>
>Dictionaryの場合は、整数に限らず文字列などをキーにして、
>値を保存したり、キーを指定して対応する値を取り出すことができるのです。
>通常、keyは文字列であることが多いですね。
> "aaa" --> 対応する値
> "bbb" --> 対応する値
>のような対応関係です。
>
>一方、Dictionayの値に使えるのは、
>数値でも文字列でも、今回のように配列でも、Excelのオブジェクトでも
>なんでもOKです。
>場合によっては dictionaryオブジェクトを値に持つdictionaryすら作れます。
>
>要するに、Dictionaryは、
>  整数に限らないkeyを指定して、それに対応するなんらかの値を取り出すことができる仕組み、
>と考えれば良いわけです。
>
>-------------------
>3.
>今回の例では、値そのものに配列が使われています。
>> この部分のRange(Tdic(dkey)(1))の"(1)"の部分がわかりません
>
>fDic(com & dt) = VBA.Array(c.Value, c.Address(External:=True))
>とDictionryを構成した時の
>Range(tDic(dKey)(1)).Value
>の解釈ですが、
>  ・ tDic(dKey) の部分で、Dictionaryの値を取り出しています。
>   それは、VBA.Array(c.Value, c.Address(External:=True))のような配列です。
>   つまり、要素が二つのArrayです。
>   
>  ・ (1)というのは、そのArrayの2番目の要素という意味です。(0が1番目です)
>   したがって、
>   tDic(dKey)(1) は、
>   "[Book1]Sheet1!$A$1" というような、セルc のアドレスを示す文字列 です。
>結局、
>Range(tDic(dKey)(1)).Value は、
>Range("[Book1]Sheet1!$A$1").Value というような内容になります。
>---------------------
>何かあれば追加質問して下さい。


1.返事いただきありがとうございます  
Key,Itemの追加の仕方が2通りあるのは初めて知りました
このあたりは勉強になりましたありがとうございます。納得です
2.
一番自分の中で難解だったパソコン処理のイメージですが
行列を連結した文字列をkeyとしForEachステートメントで自動でアドレスを辞書に追加していくイメージ
たとえば変数CががC12ならその交差している行と列の連結がKeyになる
と思うのですがこの1文でその解釈をパソコンがしてくれているイメージでいいんでしょうか



3.
後(1)は要素番号の指定だったんですね
文の書き方はこの書き方なんですね?
・ツリー全体表示

【75134】Re:表の比較
発言  γ  - 13/12/17(火) 6:35 -

引用なし
パスワード
   >Dictionaryというのは、Keyと値の組み(対応関係)を管理する容れ物です。
と書きました。
変数key,valを使って書きますが、
Dictionaryにこの組を追加する際の書き方として、
   dic.Add key,val  '  ---- (1)
   dic(key) = val   '  ---- (2)
の二つの方式が利用できます。

ただし、既にkeyというキーがあるときの振る舞いが異なります。
・ (1)はエラーになり、
・ (2)はエラーにならず、keyに対応するdicの値が新たに valに変わります。

ヘルプでは(1)が採用されていますが、実務的には(2)を使う場面が多いです。
というのは、Dictionaryの使い方として、
普通は、重複を除いてキーを集めるなどという使い方が多いので、
その場合は、存在するかどうかは構わずに、
単に dic(key) = Empty などとすればいいわけです。
逐一、存在をチェックする必要はありません。
Emptyを上書きしていくことでも問題が無いわけです。

同じkeyの個数をカウントするなどという場合も、
単に
  dic(key) = dic(key) + 1
とすることが多いです。
( 単に、dic.Add key, dic.Item(key) + 1 とするとエラーになるので注意が必要です。)

-----------
2.
> パソコン自体どのようにこれが対応していると判断しているかの
> イメージがつかめていません
Dictionaryオブジェクトの実装には、Hash テーブルというものが使われていて、
検索スピードを上げる工夫がされているそうですが、
それは気にする必要はありません。

Dictionaryのイメージは、単に、
  二つのものの対応関係を管理する容れ物
ということで良いと思います。

一次元の配列は、
  0  --> ary(0) 
  1  --> ary(1)
  2  --> ary(2)
のように、"整数をキーにして"対応関係を持っていることが特徴です。
参照するときは、整数を指定します。ary(0)のように。

Dictionaryの場合は、整数に限らず文字列などをキーにして、
値を保存したり、キーを指定して対応する値を取り出すことができるのです。
通常、keyは文字列であることが多いですね。
 "aaa" --> 対応する値
 "bbb" --> 対応する値
のような対応関係です。

一方、Dictionayの値に使えるのは、
数値でも文字列でも、今回のように配列でも、Excelのオブジェクトでも
なんでもOKです。
場合によっては dictionaryオブジェクトを値に持つdictionaryすら作れます。

要するに、Dictionaryは、
  整数に限らないkeyを指定して、それに対応するなんらかの値を取り出すことができる仕組み、
と考えれば良いわけです。

-------------------
3.
今回の例では、値そのものに配列が使われています。
> この部分のRange(Tdic(dkey)(1))の"(1)"の部分がわかりません

fDic(com & dt) = VBA.Array(c.Value, c.Address(External:=True))
とDictionryを構成した時の
Range(tDic(dKey)(1)).Value
の解釈ですが、
  ・ tDic(dKey) の部分で、Dictionaryの値を取り出しています。
   それは、VBA.Array(c.Value, c.Address(External:=True))のような配列です。
   つまり、要素が二つのArrayです。
   
  ・ (1)というのは、そのArrayの2番目の要素という意味です。(0が1番目です)
   したがって、
   tDic(dKey)(1) は、
   "[Book1]Sheet1!$A$1" というような、セルc のアドレスを示す文字列 です。
結局、
Range(tDic(dKey)(1)).Value は、
Range("[Book1]Sheet1!$A$1").Value というような内容になります。
---------------------
何かあれば追加質問して下さい。  
・ツリー全体表示

【75133】Re:表の比較
発言  T-k  - 13/12/17(火) 0:55 -

引用なし
パスワード
   ▼γ さん:
>こんにちは。
>
>Dictionaryというのは、Keyと値の組み(対応関係)を管理する容れ物です。
>
>> fDic(com & dt) = VBA.Array(c.Value, c.Address(External:=True))
> この例では、
> 品番に日付数値を連結した文字列 を Key とし、
> 値とアドレス文字列からなる配列 を 値 とした対応関係です。
> 
> "ABC41621" ---> Array(100,"[Book1]Sheet1!$A$1")
> "ABC41622" ---> Array(200,"[Book1]Sheet1!$A$2")
> "ABC41623" ---> Array(300,"[Book1]Sheet1!$A$3")
>
>> 片方はObject型で片方はVariant型で型が違うのですがOKなのでしょうか?
>型に注目されているようですが、
> ・Dictionaryという、対応関係を入れた容れ物そのものがObject型 ということと
> ・Dictionaryの値が、配列が格納されたVariant型 ということは、
>なんら矛盾することなく成立することですよね。
>
>何事もおろそかにしない姿勢はすばらしいと思いました。
>上記の説明で、Dictionaryの考え方を理解する参考になるでしょうか。

早速の返事ありがとうございます

考えが整理できていないなかった為返事遅くなりました。申し訳ありません
以前解説していただいた部分である程度上記の部分と同じイメージ
でした

とりあえず的外れの言論でしたら最初に謝ります
自分なりにわからない部分を整理してみます


1. fDic(com & dt) = VBA.Array(c.Value, c.Address(External:=True))
上記文の中の
fDic(com & dt)の部分本来KeyやItemを追加する場合

Addメソッド等でKeyやItemを格納すると思うのですが 
上記文はすでにkeyが格納されているところが不明

2.com & dtでA列の値と1行目の日付け数値(シリアル値)の連結したものを
KeyとしDictionaryに格納、ArrayでAddressと
値の要素を格納して対応関係を表すまではわかるのですが

パソコン自体どのようにこれが対応していると判断しているかの
イメージがつかめていません
一つ一つのデータで考えてしまっているのでおかしな解釈なのかもしれませんが・・・?
配列が苦手なのはこの理解の部分です

3.for each dkey in fdic
if fdic.exists(dkey)then
range(tdic(dkey)(1)).value=range(tdic(dkey)(1).value
変数dkeyがある場合Sheet2~shhet1へ転記
簡単にはそんな文だと思いますが

この部分のRange(Tdic(dkey)(1))の"(1)"の部分がわかりません
・ツリー全体表示

【75132】Re:複数の方に同じメールを送りたい
発言  γ  - 13/12/16(月) 23:14 -

引用なし
パスワード
   複数の人に互いに知らせたことを伏せる場合は、
BCCを使うのが普通かも?
・ツリー全体表示

【75131】Re:複数の方に同じメールを送りたい
発言  γ  - 13/12/16(月) 19:36 -

引用なし
パスワード
   Addressをセミコロン(;)で連結してみては?
・ツリー全体表示

【75130】複数の方に同じメールを送りたい
質問  とこえ  - 13/12/16(月) 17:11 -

引用なし
パスワード
   こんにちわ。

下記のコードでliveメールのひな型を作ることはできたのですが
宛先を複数指定したいのです。(10人くらい)
CCではなく宛先にです。
色々見て、カンマなどで区切ってみたのですが、全然できません。
mailtoでは複数のアドレスを指定することはできないのでしょうか?
もし、できなければ他にどのような方法があるかを教えていただきたいです。
よろしくお願いします。


Dim sAddr As String
  Dim sBody As String
  Dim sSubj As String
  Dim sComd As String
  Dim Body As String
  Dim cc As String
  Dim Str(11) As String


Body = Sheets("○").Range("B4").Value & "%0d%0a" & _
Sheets("×").Range("B5").Value & "%0d%0a" & _
Sheets("○").Range("B6").Value & "%0d%0a" & _
0a"


宛先1 = "アドレス1"←ここに複数人、入力したい
cc = "CC1"
sSubj = "○○"
sBody = Body


sComd = "Mailto:" & 宛先1 & "?cc=" & cc & "&Subject=" & sSubj & "&Body=" & sBody
Debug.Print sComd
CreateObject("WScript.Shell").Run sComd
・ツリー全体表示

【75129】威哥王
回答  威哥王 E-MAIL  - 13/12/14(土) 14:40 -

引用なし
パスワード
   www.hakanpo.com/p/pro96.html    威哥王
www.hakanpo.com/p/pro97.html    MaxMan
www.hakanpo.com/p/pro138.html    巨人倍増
www.hakanpo.com/p/pro331.html    三體牛鞭
www.hakanpo.com/p/pro331.html    三体牛鞭
www.hakanpo.com/p/pro374.html    リドスプレー
www.hakanpo.com/p/pro374.html    LIDO SPRAY
www.hakanpo.com/p/pro330.html    狼1号
www.hakanpo.com/p/pro330.html    狼一号
www.hakanpo.com/p/pro149.html    三便宝
www.hakanpo.com/p/pro132.html    蟻力神
www.hakanpo.com/p/pro386.html    ビグレックス
www.hakanpo.com/p/pro325.html    VVK
www.hakanpo.com/p/pro325.html    Wenickman
www.hakanpo.com/p/pro222.html    VigRx
www.hakanpo.com/p/pro222.html    vigrxプラス
www.hakanpo.com/p/pro327.html    モチベーター
www.hakanpo.com/p/pro331.html    勃動力三體牛鞭
www.hakanpo.com/p/pro167.html    中華牛鞭
www.hakanpo.com/p/pro476.html    新一粒神
www.hakanpo.com/p/pro157.html    五便宝
www.hakanpo.com/p/pro450.html    三鞭粒
hakanpo.com/p/pro375.html    男宝
www.hakanpo.com/p/pro360.html    魔根
www.hakanpo.com/p/pro329.html    壮天根
www.hakanpo.com/p/pro337.html    黒倍王
www.hakanpo.com/p/pro437.html    九鞭粒
www.hakanpo.com/p/pro243.html    男露888
www.hakanpo.com/p/pro284.html    西班牙蒼蝿水
www.hakanpo.com/p/pro147.html    性霸2000
www.hakanpo.com/p/pro147.html    Xing霸
www.hakanpo.com/CL05/38.html    媚薬
www.hakanpo.com/p/pro482.html    淫インモラル
www.hakanpo.com/p/pro482.html    インモラル
www.hakanpo.com/p/pro311.html    紅蜘蛛
www.hakanpo.com/p/pro282.html    D10媚薬
www.hakanpo.com/p/pro282.html    D10催情剤
www.hakanpo.com/p/pro312.html    花痴
www.hakanpo.com/p/pro481.html    妖姫
hakanpo.com/p/pro551.html    情愛芳香劑
www.hakanpo.com/p/pro274.html    絶對高潮
www.hakanpo.com/p/pro282.html    D10
www.hakanpo.com/p/pro343.html    D8 催情剤
www.hakanpo.com/p/pro318.html    FLY D5
www.hakanpo.com/p/pro318.html    D5原液
www.hakanpo.com/p/pro318.html    蒼蝿水
www.hakanpo.com/p/pro292.html    花之欲
www.hakanpo.com/p/pro320.html    美人豹
hakanpo.com/p/pro372.html    福源春
hakanpo.com/p/pro309.html    魔鬼天使性欲粉
www.hakanpo.com/p/pro322.html    SEX DROPS
www.hakanpo.com/p/pro322.html    小情人
www.hakanpo.com/CL06/42.html    中絶薬
www.hakanpo.com/p/pro113.html    RU486
www.hakanpo.com/p/pro117.html    避妊薬
www.hakanpo.com/p/pro58.html    天天素
www.hakanpo.com/p/pro52.html    超級脂肪燃焼弾
hakanpo.com/p/pro20.html    韓国痩身一号
hakanpo.com/p/pro20.html    韓国痩身1号
hakanpo.com/p/pro20.html    痩身一号
hakanpo.com/p/pro20.html    痩身1号
www.hakanpo.com/p/pro48.html    V26
www.hakanpo.com/p/pro29.html    唯美OB
www.hakanpo.com/p/pro325.html    ペニス増大
www.hakanpo.com/p/pro282.html    催情剤
www.hakanpo.com/p/pro288.html    催情粉
www.hakanpo.com/CL05    女性催情剤
www.hakanpo.com/p/pro159.html    催情薬
www.hakanpo.com/p/pro133.html    催淫
www.hakanpo.com/p/pro133.html    催淫通販
www.hakanpo.com/p/pro316.html    西班牙昆虫粉
・ツリー全体表示

【75128】威哥王
発言  威哥王  - 13/12/14(土) 14:35 -

引用なし
パスワード
   巨人倍増:www.hikanpou.com/product/巨人倍増.html
妖姫:www.hikanpou.com/product/youhi.html
VigRx:www.hikanpou.com/product/VigRx.html 
妖姫 媚薬:www.hikanpou.com/product/youhi.html
淫インモラル:www.hikanpou.com/product/immoral.html
インモラル:www.hikanpou.com/product/immoral.html
媚薬 淫インモラル:www.hikanpou.com/product/immoral.html
媚薬 インモラル:www.hikanpou.com/product/immoral.html
RU486:www.hikanpou.com/product/RU486.html
RU486:www.mykanpou.com/Product/RU486.html
D10 媚薬:www.hikanpou.com/product/D10.html
D10 催情剤:www.hikanpou.com/product/D10.html
三便宝:www.hikanpou.com/product/三便宝.html
三便宝:www.hikanpou.com/product/三便宝.html
五便宝:www.hikanpou.com/product/五便宝.html
花痴:www.hikanpou.com/product/花痴.html
花痴:www.hikanpou.com/product/花痴.html
威哥王:www.hikanpou.com/product/威哥王.html
狼1号:www.hikanpou.com/product/狼1号.html
天天素:www.hikanpou.com/product/天天素.html
紅蜘蛛:www.hikanpou.com/product/紅蜘蛛.html
蟻力神:www.hikanpou.com/product/蟻力神1.html
蟻力神:www.hakanpo.com/p/pro132.html
福源春:www.hikanpou.com/product/福源春2.html
勃動力三體牛鞭:www.hikanpou.com/product/三体牛鞭.html
三体牛鞭:www.hikanpou.com/product/三体牛鞭.html
三體牛鞭:www.hikanpou.com/product/三体牛鞭.html
巨人倍増:www.hikanpou.com/product/巨人倍増.html
痩身1号:www.hikanpou.com/product/韓国痩身一号.html
韓国痩身一号:www.hikanpou.com/product/韓国痩身一号.html
韓国痩身1号:www.hikanpou.com/product/韓国痩身一号.html  
絶對高潮:www.hikanpou.com/product/絶對高潮.html 
FLY D5:www.hikanpou.com/product/蒼蝿水5.html
早漏防止:www.hikanpou.com/seiryokuzai/早漏防止.html  
D5 原液:www.hikanpou.com/product/蒼蝿水.html
VVK:www.hikanpou.com/product/Wenickman.html 
新一粒神:www.hikanpou.com/product/新一粒神.html 
威哥王:www.hikanpou.com/product/威哥王.html 
巨人倍増:www.hikanpou.com/product/巨人倍増.html 
花痴:www.hikanpou.com/product/花痴.html  
五便宝:www.hikanpou.com/product/五便宝.html 
蒼蝿粉:www.hikanpou.com/product/蒼蝿粉.html 
Xing霸:www.hikanpou.com/product/Xing霸.html 
中絶薬:www.hikanpou.com/pills/避妊中絶.html 
媚薬:www.hikanpou.com/biyaku/女性媚薬.html 
精力剤:www.hikanpou.com/seiryokuzai/精力剤.html 
絶對高潮:www.hikanpou.com/product/絶對高潮.html  
花之欲:www.hikanpou.com/product/花之欲.html 
蒼蝿水:www.hikanpou.com/product/蒼蝿水5.html 
RU486:www.hikanpou.com/product/RU486.html 
D10 媚薬:www.hikanpou.com/product/D10.html 
D10 催情剤:www.hikanpou.com/product/D10.html 
VigRx:www.hikanpou.com/product/VigRx.html 
SEX DROPS:www.hikanpou.com/product/SEXDROPS5.html 
終極痩身:www.hikanpou.com/product/zhongjishoushen.html 
九鞭粒:www.hikanpou.com/product/jiubianli.html 
消渇丸:www.hikanpou.com/product/消渇丸.html  
超級脂肪燃焼弾:www.hikanpou.com/product//FAT-BURNERS―3.html
SUPER FAT BURNING:www.hikanpou.com/product/SUPERFATBURNING.html 
Wenickman:www.hikanpou.com/product/Wenickman.html 
SEX DROPS:www.hikanpou.com/product/SEXDROPS5.html 
セックスドロップ:www.hikanpou.com/product/SEXDROPS5.html 
Sex Slave:www.hikanpou.com/product/fagou.html 
procomil spray:www.hikanpou.com/product/procomilspray.html 
プロコミルスプレー:www.hikanpou.com/product/procomilspray.html 
WENICKMAN:www.hikanpou.com/product/WENICKMAN1.html 
終極痩身:www.hikanpou.com/product/zhongjishoushen.html  
超級脂肪燃焼弾:www.hikanpou.com/product/FAT-BURNERS―3.html 
魔根:www.hikanpou.com/product/魔根金中草.html  
威哥王:www.hikanpou.com/product/威哥王.html  
巨人倍増:www.hikanpou.com/product/巨人倍増.html  
蟻王:www.hikanpou.com/product/ANTKING.html 
SUPER FAT BURNING:www.hikanpou.com/product//FAT-BURNERS―3.html 
FAT BURNING:www.hikanpou.com/product/SUPERFATBURNING.html  
イーリーシン:www.hikanpou.com/product/蟻力神1.html 
蔵八宝:www.hikanpou.com/product/蔵八宝.html 
小情人:www.hikanpou.com/product/sex-drops.html 
男根増長素:www.hikanpou.com/product/ngzzw.html  
三鞭粒:www.hikanpou.com/product/weige.html 
九鞭粒:www.hikanpou.com/product/jiubianli.html 
V26:www.hikanpou.com/product/V26.html 
VigRx Oil:www.hikanpou.com/product/VigRx.html 
ビグレックス:www.hikanpou.com/product/VigRx.html 
SPANISCHE FLIEGE:www.hikanpou.com/product/SPANISCHE-FLIEGED5.html 
VVK:www.hikanpou.com/product/Wenickman.html 
くらはちほう:www.hikanpou.com/product/蔵八宝.html 
福源春カプセル:www.hikanpou.com/product/福源春2.html 
男宝:www.hikanpou.com/product/男宝5箱.html 
ナンパオ:www.hikanpou.com/product/男宝.html  
狼1号:www.hikanpou.com/product/狼1号.html  
狼一号:www.hikanpou.com/product/狼1号.html 
しんいちつぶしん:www.hikanpou.com/product/新一粒神.html 
壮三天:www.hikanpou.com/product/zhuangsantian.html 
奇勝カプセリ:www.hikanpou.com/product/qisheng.html 
威哥王:www.hikanpou.com/product/威哥王.html 
巨人倍増:www.hikanpou.com/product/巨人倍増.html 
法国性奴:www.hikanpou.com/product/fagou.html  
消渇丸:www.hikanpou.com/product/消渇丸.html  
三便宝カプセル:www.hikanpou.com/product/三便宝.html  
さんべんぼう:www.hikanpou.com/product/三便宝.html  
キョジンバイゾウ:www.hikanpou.com/product/巨人倍増.html 
ベニクモ:www.hikanpou.com/product/紅蜘蛛.html  
FLY D5:www.hikanpou.com/product/蒼蝿水5.html  
壮天根:www.hikanpou.com/product/壮天根.html  
vigRx oil:www.hikanpou.com/product/VigRXOil.html  
三体牛鞭:www.hikanpou.com/product/三体牛鞭.html  
天天素:www.hikanpou.com/product/天天素.html  
中絶薬:www.hikanpou.com/pills/避妊中絶.html  
RU486:www.hikanpou.com/product/RU486.html   
三體牛鞭:www.hikanpou.com/product/三体牛鞭.html  
・ツリー全体表示

【75127】Re:表の比較
発言  γ  - 13/12/14(土) 6:36 -

引用なし
パスワード
   こんにちは。

Dictionaryというのは、Keyと値の組み(対応関係)を管理する容れ物です。

> fDic(com & dt) = VBA.Array(c.Value, c.Address(External:=True))
この例では、
品番に日付数値を連結した文字列 を Key とし、
値とアドレス文字列からなる配列 を 値 とした対応関係です。
 
 "ABC41621" ---> Array(100,"[Book1]Sheet1!$A$1")
 "ABC41622" ---> Array(200,"[Book1]Sheet1!$A$2")
 "ABC41623" ---> Array(300,"[Book1]Sheet1!$A$3")

> 片方はObject型で片方はVariant型で型が違うのですがOKなのでしょうか?
型に注目されているようですが、
・Dictionaryという、対応関係を入れた容れ物そのものがObject型 ということと
・Dictionaryの値が、配列が格納されたVariant型 ということは、
なんら矛盾することなく成立することですよね。

何事もおろそかにしない姿勢はすばらしいと思いました。
上記の説明で、Dictionaryの考え方を理解する参考になるでしょうか。
・ツリー全体表示

【75126】Re:表の比較
質問  T-k  - 13/12/14(土) 0:02 -

引用なし
パスワード
   fDic(com & dt) = VBA.Array(c.Value, c.Address(External:=True))

今も仕事で利用させて頂いていますありがとうございます
処理出来ていることで理解してないのに無理やり納得させていました
自分の悪い癖で申し訳ありません解説していただいたんですが
もう一度教えて頂けないでしょうか?

fDicはオブジェクト型のDictionary(辞書)の配列に一次元配列Arrayの要素を代入
という解釈でいいと思うのですが?

片方はObject型で片方はVariant型で型が違うのですがOKなのでしょうか?
fDicの要素はデータの入力されている行の変数と列の変数を連結させたものにArray
で指定した要素(行、列で指定した以外の値とそのアドレス)を代入という解釈
でいいのでしょうか? 
この状態のイメージがいまいちつかめない為Sheet2~Sheet1に転記の所も
少し解釈に違和感があります。
・ツリー全体表示

【75125】Re:別ファイルのシートを取り込んでコピ...
発言  γ  - 13/12/13(金) 19:39 -

引用なし
パスワード
   確たる根拠はないのですが、
コードはさほど複雑なことをしていないのに、
その警告の文言などかたすると、
そのファイルが壊れかけているんじゃないでしょうか。
そんな気がします。
早めにバックアップなりとったほうがいい気がします。
・ツリー全体表示

【75124】Re:別ファイルのシートを取り込んでコピ...
質問  ちえ  - 13/12/13(金) 11:54 -

引用なし
パスワード
   ▼γ さん:
>▼ちえ さん:
>>別ブックからシートを取り込んでコピーするマクロを組んでいます。
>>図面があるのですが、実行すると『このイメージは現在表示できません』と出ます。
>それは、どの行を実行したときに表示されるのですか?
>いずれにしても、開いたファイルの内容に依存した話のようなので、
>なかなか的確なコメントをつけるのは難しいかもしれませんねえ。


すいません。
どう質問していいかわからずで言葉足らずでした。
上記の分は解決して、マクロを組みなおしたのですが、
次は保存ができなくなってしまいました。。

『いくつかの機能を削除、または修復することにより〜‥』

みたいなエラーが出て保存ができません。
何かアドバイスをお願い致します。

Sub 取込()
  Application.ScreenUpdating = False

  fna = Application.GetOpenFilename(Title:="\")
  If fna = "False" Then Exit Sub
  
  Workbooks.Open fna
  
  f0 = ThisWorkbook.Name      
  f1 = ActiveWorkbook.Name     
  s1 = ActiveSheet.Name       
 
  If f1 Like "*0*" Then
    f2 = "0"
   ElseIf f1 Like "*1*" Then
    f2 = "1"
   ElseIf f1 Like "*2*" Then
    f2 = "2"
   ElseIf f1 Like "*3*" Then
    f2 = "3"
   ElseIf f1 Like "*4*" Then
    f2 = "4"
   ElseIf f1 Like "*5*" Then
    f2 = "5"
  End If
  

  Windows(f1).Activate
  ActiveSheet.Cells.Select
  Selection.Copy
  ThisWorkbook.Activate

  sc = Sheets.Count
  For i = sc To 1 Step -1
    sn = Sheets(i).Name


   If sn = f2 Then
     Sheets(sn).Select
     Rows("1:35").Select
     ActiveSheet.Paste
     Rows("1:35").Select
  
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
     
  
      End If
  Next

  Application.CutCopyMode = False
  Application.ScreenUpdating = True
  Windows(f1).Close
    
End Sub
・ツリー全体表示

【75123】Re:モジュールに書けるコードの最大行数...
お礼  あい  - 13/12/13(金) 4:30 -

引用なし
パスワード
   ▼γ さん:
>▼あい さん:
>>Excel 2003におきまして、一つのモジュールに書けるコードの最大行数は何行程度になりますでしょうか?
>
>ht★tp://www.excel.studio-kazu.jp/kw/20100906145225.html
>が参考になりませんか?

γさん

ありがとうございました♪

自分にとって良い情報が得られてとても嬉しいです(*^^*)
・ツリー全体表示

【75122】Re:エクセルファイルのデスクトップへの...
お礼  ggg  - 13/12/12(木) 22:48 -

引用なし
パスワード
   ▼γ さん:
>いずれにしても、イベントプロシージャを使わずに、
>マクロで普通に閉じてから、必要な移動処理をしたらどうですか?

大変お手数をおかけしました。
もう一度最初から考えてみます。色々とありがとうございました。
・ツリー全体表示

【75121】Re:エクセルファイルのデスクトップへの...
発言  γ  - 13/12/12(木) 22:23 -

引用なし
パスワード
   ▼ggg さん:
>▼γ さん:
>>それが、どうなってしまうのか、それを説明してください。
>
>大変しつれいしました。説明不足でした。
>デスクトップに移動したa.xlsが開いたままなので元のフォルダに移動できないエラーが発生しそれがエラートラップでa.xlsが閉じてないというメッセージが出て終了してしまいます。うまく説明できませんが
> 
何かよくわかりませんが、
いずれにしても、イベントプロシージャを使わずに、
マクロで普通に閉じてから、必要な移動処理をしたらどうですか?
・ツリー全体表示

【75120】Re:エクセルファイルのデスクトップへの...
質問  ggg  - 13/12/12(木) 22:06 -

引用なし
パスワード
   ▼γ さん:
>それが、どうなってしまうのか、それを説明してください。

大変しつれいしました。説明不足でした。
デスクトップに移動したa.xlsが開いたままなので元のフォルダに移動できないエラーが発生しそれがエラートラップでa.xlsが閉じてないというメッセージが出て終了してしまいます。うまく説明できませんが
 
・ツリー全体表示

【75119】Re:エクセルファイルのデスクトップへの...
発言  γ  - 13/12/12(木) 21:53 -

引用なし
パスワード
   ▼ggg さん:
>▼γ さん:
>
>>その後で、ステップ実行したら、どうなるのですか?
>
>BeforeCloseイベントの
> 
> moveFD = "C:\testMove\"
> Workbooks.Open moveFD & "test.xls"
> MsgBox "[a-Close]ボタンをクリックして下さい"
> MsgBox のところまで実行されますがそのあとEnd まで行きません。

MsgBoxが表示されて、OKボタンを押すと次の、
ThisWorkbook.Save(マクロの書かれたブックが保存される)
が実行されて終了。
これが想定された動きだと思います。

それが、どうなってしまうのか、それを説明してください。
・ツリー全体表示

【75118】Re:エクセルファイルのデスクトップへの...
質問  ggg  - 13/12/12(木) 21:09 -

引用なし
パスワード
   ▼γ さん:

>その後で、ステップ実行したら、どうなるのですか?

BeforeCloseイベントの
 
 moveFD = "C:\testMove\"
 Workbooks.Open moveFD & "test.xls"
 MsgBox "[a-Close]ボタンをクリックして下さい"
 MsgBox のところまで実行されますがそのあとEnd まで行きません。
・ツリー全体表示

【75117】Re:別ファイルのシートを取り込んでコピ...
発言  γ  - 13/12/12(木) 20:24 -

引用なし
パスワード
   ▼ちえ さん:
>別ブックからシートを取り込んでコピーするマクロを組んでいます。
>図面があるのですが、実行すると『このイメージは現在表示できません』と出ます。
それは、どの行を実行したときに表示されるのですか?
いずれにしても、開いたファイルの内容に依存した話のようなので、
なかなか的確なコメントをつけるのは難しいかもしれませんねえ。
・ツリー全体表示

【75116】Re:モジュールに書けるコードの最大行数...
発言  γ  - 13/12/12(木) 20:22 -

引用なし
パスワード
   ▼あい さん:
>Excel 2003におきまして、一つのモジュールに書けるコードの最大行数は何行程度になりますでしょうか?

ht★tp://www.excel.studio-kazu.jp/kw/20100906145225.html
が参考になりませんか?
・ツリー全体表示

364 / 3841 ページ ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free