[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 01/29 07:34 / Filesize : 283 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Excel VBA 質問スレ Part22



1 名前:デフォルトの名無しさん mailto:sage [2011/11/27(日) 22:36:18.78 ]
01 pc11.2ch.net/test/read.cgi/tech/1054356121/
02 pc11.2ch.net/test/read.cgi/tech/1168308855/
03 pc11.2ch.net/test/read.cgi/tech/1180192018/
04 pc11.2ch.net/test/read.cgi/tech/1189814602/
05 pc11.2ch.net/test/read.cgi/tech/1197448064/
06 pc11.2ch.net/test/read.cgi/tech/1205231499/
07 pc11.2ch.net/test/read.cgi/tech/1212587819/
08 pc11.2ch.net/test/read.cgi/tech/1219673793/
09 pc11.2ch.net/test/read.cgi/tech/1228372971/
10 pc12.2ch.net/test/read.cgi/tech/1235332603/
11 pc12.2ch.net/test/read.cgi/tech/1241885130/
12 pc12.2ch.net/test/read.cgi/tech/1247566074/
13 pc12.2ch.net/test/read.cgi/tech/1254281104/
14 pc12.2ch.net/test/read.cgi/tech/1262748898/
15 pc12.2ch.net/test/read.cgi/tech/1271261239/
16 hibari.2ch.net/test/read.cgi/tech/1280045912/
17 hibari.2ch.net/test/read.cgi/tech/1289182437/
18 hibari.2ch.net/test/read.cgi/tech/1298240666/
19 hibari.2ch.net/test/read.cgi/tech/1305754555/
20 hibari.2ch.net/test/read.cgi/tech/1312435844/

前スレ:
Excel VBA 質問スレ Part21
hibari.2ch.net/test/read.cgi/tech/1316931607/

684 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:05:06.22 ]
>>681
もともと初期の vb にはオブジェクトの概念がなく、後付けでオブジェクトを導入したとき、
既存仕様を維持してオブジェクトをサポートするために、特別な Set キーワードを導入した
とかそんな話だった気がする

Dim a
Dim b
Set a = Range("b2")
b = Range("b2")

変数 a には Range オブジェクトが格納される
変数 b には Range オブジェクトのデフォルトプロパティが格納される

685 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:16:11.71 ]
>>684
変数にオブジェクトは格納されないよ〜

686 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 01:16:15.37 ]
>>684
なるほど、SetありもSetなしも文法上は許容されるのですね
であれば、Setキーワードの意味はありますね

この例でいうと、デフォルトプロパティは何を指しているのでしょうか?

687 名前:684 mailto:sage [2012/01/06(金) 01:55:17.69 ]
>>685
すみません、オブジェクトの参照ですね

>>686
厳密にはかなり面倒で、
Range には _Default という隠しプロパティがあってそれがデフォルトプロパティになるらしい
_Default には引数(RowIndex, ColumnIndex)を与えることができて、
引数ありだと Item(引数)の評価結果、引数なしの場合は Value の評価結果を返すらしい

まあ、通常は Value と覚えておけばよいかと

688 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:27:20.28 ]
Setは参照の代入だが、Setは省略できないぞ
Letっていう値を代入する命令があって、これは省略できる(というか書いてる事がほとんどない)
文法的には省略されてるのはLet

689 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 02:30:27.74 ]
>>688
つまり、>>684

Dim a
Dim b
Set a = Range("b2")
b = Range("b2")

のb = 〜の行は、

Let b = Range("b2")

と解釈されて、そのとき代入されるのが_Defaultプロパティということ?


690 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 03:07:22.43 ]
>>689
うん

691 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 03:11:34.65 ]
Letなんてキーワード見たの何年ぶりだろ
昔の教科書には必ず書いてあったけど最近の入門書は最初からスルーしてるよな

試してみたらこれはエラーになった

Let a = Range("A1")._Default

692 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 07:21:26.80 ]
>>691
Let a = Range("A1").[_Default]



693 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 07:30:27.21 ]
LETとかN-BASICですら使ったことがないなw

694 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 09:57:24.70 ]
やたら丁寧なコードを書くやつがよくLet使ってたな。
長く書くのが趣味だったんだな。

695 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 19:40:30.41 ]
>>681
>>457じゃないよね?

696 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 20:07:54.28 ]
凄くどうでもいいです……

697 名前:681!=467 mailto:sage [2012/01/06(金) 22:35:09.33 ]
>>695
ちがいます

698 名前:681!=457 mailto:sage [2012/01/06(金) 22:35:30.94 ]
>>697
あミスったw

699 名前:681!=457 mailto:sage [2012/01/06(金) 22:36:55.85 ]
>>690
どうもありがとうございました。
了解しましたm(_ _)m

700 名前:デフォルトの名無しさん [2012/01/07(土) 02:53:29.64 ]
質問です。
beebee2see.appspot.com/i/azuYl9K_BQw.jpg
このように、選択してある[C]の列だけを別の場所(あらかじめ決めているCという枠)へ移したい場合はどうすればいいのでしょうか?
コピーは出来なかったのです。

701 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 07:40:10.04 ]
Areasプロパティ

702 名前:デフォルトの名無しさん [2012/01/07(土) 09:12:33.09 ]
>>700

質問の仕方が悪いと思うよ

Excelで単純に"C"と書いたら、通常はシート左端から3列目の"C列"のことだと思われる。
貴方が貼った画像だと"A列"に"C"と書いてある"2","3","4","9"の"行"が選択されてる。
コピーしたいのは選択範囲の"すべての行"なのか、それとも選択範囲の"C列"なのか、
どっちか分からない。




703 名前:デフォルトの名無しさん [2012/01/07(土) 09:50:23.96 ]
>>700
ふつうにA列をフィルタして
抽出されたセルたちを「切り取り」して
他所に「貼り付け」してOKと思ったけど、

うまくできないね。
「切り取り」して「貼り付け」だと、フィルタで隠れた行まで移動してしまう。
「コピー」して「貼り付け」だと、フィルタしたものだけがコピーされるのに。

自分もこんな発見をして勉強になったよ。
力にはなれなかったけど、うまくいく方法が見つかるといいね。

704 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 09:51:31.30 ]
>>702
すいませんでした。
2.3.4.9の選択されている行です。

705 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 12:53:42.20 ]
22 名前:名無し募集中。。。[] 投稿日:2012/01/06(金) 23:40:34.39 0
AKB=金正恩

この意味わかるか
AKBという捏造ブームの裏に何があるか見えるか?




706 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 12:56:07.04 ]
>>700
選択範囲は Application.Selection で取得できるけど、
選択範囲が複数になる場合、Application.Selection.Areas に各選択範囲(Rangeオブジェクト)のコレクションが格納される

面倒だけど、最初に Areas の値を保存しておいて、ループ処理で各 Range 毎に処理するとかになるんじゃないかなあ

707 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 13:16:59.99 ]
>>700
とりあえず手動で今の状態からコピーしたいなら複数行の選択じゃなくセル範囲の選択でコピーしたら
貼り付け先には飛ばした行を詰めて貼り付けできるけど。


708 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 15:02:44.54 ]
>>700
関数使いたいなら作業列使えば可能

作業列1 =IF($J$2=A2,COUNTIF($A$2:A2,A2),"")
作業列2 1から連番
作業列3 =MATCH(G2,$E$2:$E$28,0)
L列 =IFERROR(INDEX($B$2:$B$28,H2),"")
M列 =IFERROR(INDEX($C$2:$C$28,H2),"")

ozcircle.net/_uploader/69930900

常にデータが増える表ならVBAの方が楽だけどそうでもないなら関数の方が早い。

709 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 15:28:48.21 ]
>>704
やっぱりよく分からない
複数選択範囲(行単位)の移動(カット&ペースト)が行いたいが、通常では複数選択範囲のカットができない、というだけ話なら
移動先を ActiveSheet.Range("100:100") と仮定した場合、

Application.Selection.Copy(ActiveSheet.Range("100:100"))
Application.Selection.Delete()

のようにコピー+削除でいけると思うけど、そういう話ではないの?

710 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:08:58.21 ]
>>703.>>706->>709
レスありがとうございます!
>>700の者です!
初心者かつ、語彙力がなく、説明不足ですいません。
わからなかった言葉もぐぐってみます!

>>709さんの回答が一番近いと思うのですが、
私はカットではなく、[A.B.C]とグループ分けをしたうちの[C]だけを別のページをコピーペーストしたいです。

簡単にいうと、複数選択のコピーの方法が知りたいです。

beebee2see.appspot.com/i/azuY3Iu-BQw.jpg

この画面でいうと、3.5.6.7.12.15行目をコピーしたいです。
右クリックでコピーを選択すると
beebee2see.appspot.com/i/azuYvILBBQw.jpg
このような画面が出ます。

一つ一つ貼っていくには膨大な量なので時間が足りません。

皆さんが教えて下さった数式(?)関数(?)を今から試してみようと思います!
それらが出来たらまたここに来て見ます。

何度もすいません、もう少しお付き合い下さい…
ありがとうございます。


711 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:43:31.57 ]
>>710
>>709の例は複数選択可能で、2行目のDeleteしなければただのコピー
現在のシートの選択行(複数選択あり)をたとえば シート(Sheet3)の10行目にコピーしたいなら

Application.Selection.Copy (ActiveWorkbook.Worksheets("Sheet3").Range("10:10"))

みたいなマクロだけでいけると思うけど

712 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 18:57:02.57 ]
>>710
> この画面でいうと、3.5.6.7.12.15行目をコピーしたいです。
> 右クリックでコピーを選択すると
> beebee2see.appspot.com/i/azuYvILBBQw.jpg
> このような画面が出ます。
>

たぶん行の選択の仕方が間違っている
ちゃんと選択すれば、そんな警告はでないしコピーできる




713 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:03:54.59 ]
>>712
ああ、行を選択してコピーしたあと、セルを選択して貼り付けようとするとその警告ですね。
貼り付ける時も行を選択して貼り付けたら警告でないです。

ていうか>>710は手動で選択してますよね。膨大な量というなら行を選択してる時点ですでに
間違いだとおもう。
オートフィルタ後コピペかABC列を昇順・降順並べ替え後にコピペが普通だとおもう。

714 名前:デフォルトの名無しさん [2012/01/07(土) 19:07:31.79 ]
>>710
なんか操作を間違ってないか?
複数の行を選択しているとして
右クリックから「切り取り」ならそのエラーが出るけど、
「コピー」だとエラーでないよ。
まぁ複数範囲の選択をしたときにいつでもコピーできるわけじゃなく、
たとえばA1とC3を選ぶみたいに行も列もばらばらの範囲だとコピーもできない。
Range(A1:C3)とRange(E1:G3)みたいに列が同じで行だけ飛んでる場合なんかはコピーできた。


715 名前:デフォルトの名無しさん [2012/01/07(土) 19:12:24.86 ]
>>710の訂正で
>私はカットではなく、[A.B.C]とグループ分けをしたうちの[C]だけを別のページをコピーペーストしたいです。
は、
[C]だけをコピーし
別のページにペーストしたいです。
わかりづらくてすいません。
今からレス返します。ありがとうございました。

716 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:14:22.35 ]
>>711
なるほど!
そのマクロ(?)をペーストしたいセルに打ち込めば出来るんでしょうか?
今してみたら何も起きませんした…

717 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:15:13.48 ]
>>712
選択の仕方が間違えていますか!そうかもしれません。
今は、コントロールキーを長押ししながら選択しています

718 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:18:12.73 ]
>>713
ありがとうございました!!!!!コピー&ペーストできました!!!!、
本当にありがとうございました!
こんな皆様の高度な知識の中基本も知らない私が頼りに頼ってしまいすいませんでした……
本当に助かりました!
ありがとうございました!!!!!

719 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:19:45.13 ]
複数選択の手動は大変ですがオートフィルの昇順がよくわからないので、今回は手動でいきます。
本当にありがとうございました!

720 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:25:26.20 ]
>>719
こっちで質問したほうがよかったね
toro.2ch.net/test/read.cgi/bsoft/1319632190/

721 名前:デフォルトの名無しさん [2012/01/07(土) 19:25:40.93 ]
>>719
オートフィルじゃなくてオートフィルタだよ
A列選択しといて ツールバーのデータ(D) -> フィルタ(F) -> オートフィルタで
A列の項目を選択してコピーできるようになる

722 名前:デフォルトの名無しさん mailto:sage [2012/01/07(土) 19:28:14.13 ]
と思ったたら、もうしてた



723 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 01:33:43.29 ]
どうでもいいけどプリントスリーンってがあるよ

724 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 01:44:13.00 ]
vbaでパケットキャプチャって出来る?

725 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 07:34:05.68 ]
どっかでカーネルドライバが必要になるから、単体だと無理な気が。

726 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 09:50:28.06 ]
そうやってカーネルで遊ぶんだよ。
たしか、井上も推奨してたな。




カーネル遊び

727 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 19:15:54.10 ]
震災前

     /::::::::::::::::::::::::::::::;;::ノ ヽ;::\
    /::::::::;;;;;;;;;,,,;;...-‐''"~    ヽ:;::l
     |:::::::::::|    岡田 異音    |ミ|
     |:::::::/     ,,,  ヽ,、   '|ミ|  
     '|:::::::l    '''""   ゙゙゙゙`   |ミ|
       |:::::|.  ,,r ‐、   ,, - 、  |/
     ,/⌒|  ノ ・ _), (. ・ `つ|
     | (   "''''"    |"'''''"  | 
      ヽ,,.        ヽ    |
       |       ^-^_,, -、   |   
         |    _,, --‐''~    ) |  マニフェストもう守れない。どうしよう・・・・ 
         'ヽ  (   ,r''''''‐-‐′ / 


震災後

     |:::::::::/            |ミ|
     |::::::::|   ,,,,,    ,,,,,   |ミ|
     |彡|.  '''"""''   ''"""'' |/
     /⌒|  -=・=‐,   =・=-  |
     | (    "''''"   | "''''"  |  
     .ヽ,,         ヽ    .|  キリッ
        |       ^-^    |
   .     |     ‐-===-   |   大震災が起こったのだからマニフェストの破綻も致し方ありません
         ,\.    "'''''''"   / 
朝鮮民主党
     おわり

728 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 01:54:46.47 ]
ビジネスsoft板でVBAのスレ探してたんだけど、なかった。
プログラマ板だったのね。VBAやれる人はプログラマでいいんだ。
HTMLとCSSはできてもプログラマじゃないって言われたことあるけど。


729 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 02:55:30.12 ]
VBAやれる人がプログラマと呼べるとは限らない。
プログラマが触る対象がたまたまVBAだったならマ版にスレが立つだけで。

730 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 08:00:22.21 ]
ちょっと何いってっかわかんないっすね

731 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 14:41:45.23 ]
パスワードかけるのを標準モジュールだけとかできる?

732 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 17:09:08.89 ]
あれはプロジェクト単位でしょ



733 名前:デフォルトの名無しさん [2012/01/10(火) 22:42:54.05 ]
A列の一番最後にデータが入力されている箇所を取得したい場合
下記で良いと思いますが

Range("A60000").End(xlUp).Row

上記以外の方法つまりRange("A60000")の記載がソースとして綺麗ではないので
もし他のやりかたとかあれば教えてください


734 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 22:50:42.61 ]
>>733
cells(rows.count,1).end(xlup).row

735 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 23:30:01.65 ]
皆どれくらい勉強してVBAを使いこなせるようになった?

736 名前:デフォルトの名無しさん mailto:sage [2012/01/10(火) 23:36:00.15 ]
10年以上やってるけど使いこなせてるとは思えない
どこまでできれば「使いこなした」ことになるんだ?

737 名前:デフォルトの名無しさん [2012/01/10(火) 23:58:18.81 ]
VBAがある程度以上できる人の、他のPCスキル状況を知りたい。
Excel関数、Word文書づくり、Accessデータベース構造、Powerpointの効果的飾りや、
それにとどまらず、JAVA, JAVAScript、VisualBasic、VisualC++、
HTML、CSS、Perlや
Network、TCP/IP、Unixも完璧にマスターしたりしてる?

738 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 06:38:45.74 ]
>>735
処理重くてもなんでもいいからこれ自動化したいと思った事をそれなりにできるようになる
ぐらいなら1日1時間で3ヶ月目ぐらいには出来てた。

後からの修正がやりやすいようにクラスを使うようになったのは1年過ぎてから。

現在は、4年過ぎた今でも、ちょっと凝った事する時はネットに繋がったPCで調べれないと
ちょっと困る。
VBAでゲームとか作ってる人のレベルには永久に到達しないと自覚してる。

739 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 07:33:35.99 ]
ゲームが作れるのと、Excelの機能を活かせているかは全然別問題。
どちからというと縄張りの違いだな。
ユーザーから提供されたシートが、Excel関数活かしまくりで驚かされることも多々あるし。

740 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 12:30:34.70 ]
関数を駆使してるようじゃ素人。
Excel扱うならほとんど関数は不要。

741 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 16:52:14.30 ]
いるよな。ワークシート関数にあるの知らないで自作関数でバグ出すやつ

742 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 17:21:24.04 ]
worksheet関数のコードって知ることできない?



743 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 17:44:07.83 ]
埋め込み関数もVBAも両方使えば良いだろ。
VBAコードにするまでもない場合あるし、
VBAとハイブリッドでつこてもいいじゃろし。

744 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:25:16.48 ]
カレントドライブを変更する方法教えてください

Sub testdirectory()
Dim fld As String
fld = "c:\temp"

If Left(CurDir, 1) <> Left(fld, 1) Then
??????????
End If
End Sub

↑の???です。
chdirはフォルダは変更してもドライブが変更しないってあるんで、ドライブを変える方法を知りたいです


745 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:38:07.98 ]
chdriveは違うの?

746 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 18:58:48.97 ]
それです^^;ありがとう

747 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:09:25.88 ]
とあるwebサイトのHTMLテキストを取得してそれをエクセルに反映させたいのです
方法を誰かおすえて

748 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:20:46.34 ]
>>747
それだけだと何とも言えん
Webクエリでも使っとけ

749 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:43:29.63 ]
>>748
ソースを取得したいのです

750 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:47:40.97 ]
>>749
>>261-264あたり


751 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:48:51.00 ]
>>749
そーっすか。

752 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 19:58:51.34 ]
>>534
これ分かる方いませんか?
ツリービューを使っていますが
イメージリストコントロールver6
ツリービューコントロールver6
両方チェックいれています
ちなみにソースコード内全て検索しましたがRangeは使っていません



753 名前:752 mailto:sage [2012/01/11(水) 20:03:21.58 ]
頭冷やしたら解決しました

754 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:11:29.98 ]
functionである範囲を入力としてとる関数を作っています。
その範囲内の単一のセルが書き換わったとき、そのセル位置を取得方法を教えてください。
2003です。

755 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:27:21.73 ]
文章がよくわからんがWorksheet_Changeイベント使ったらどうですか

756 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 20:45:34.14 ]
Dim K-ON! As Nyan

757 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:09:24.89 ]
As Nyan が言いたいだけなんじゃないかと

758 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:14:26.15 ]
Dim Anal As Hole

759 名前:デフォルトの名無しさん mailto:sage [2012/01/11(水) 22:30:25.15 ]
>>755
sum関数みたいな範囲指定なんですが、
変更した数値に対して処理を付加したいんです。
直前のセルの値をstaticで保持しておいてもいいのですが、
全数を比較処理して、変更箇所を見つけるプロセスは処理コストかかるので、
簡単にできないかと。



760 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 00:11:10.87 ]
>>759
Worksheet_Change

761 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 08:57:38.12 ]
>>759
ユーザー定義関数?
だとしたらそのアプローチが間違ってるよ
処理を付加とかわかんないから詳しく

762 名前:デフォルトの名無しさん [2012/01/12(木) 16:11:18.52 ]


2chやニコニコ動画に民主党から反日工作費が流れていることが知られるようになってきた。
民主党が用意した資金で工作員が2chを荒らしていることもだんだんと知られるようになってきた




763 名前:デフォルトの名無しさん mailto:sage [2012/01/12(木) 19:56:33.69 ]
>>759
あいかわららず何がしたいか全然わからいけど例えばこんなこと?

B1に下記のように式が入力してあって
=SUMもどき関数(A1:A2)

直前の操作(変更)がA1かA2なのかによって
B1に表示される結果を変えたいということかな。
だったら無理だと思う。



764 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 02:56:51.89 ]
スレ違いなら誘導していただけるとありがたいです。

環境の都合上、vbaで作らなければいけないのですが、
別アプリケーションの指定したピクセルの色で判断し、
キー入力をエミュレーションしたいです。

別のアプリケーションの色の取得はどうすれば出来るでしょうか?

765 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 04:55:15.99 ]
>>763
それなら出来る。
面倒くさかったけど作ったことがある

766 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 08:31:16.77 ]
マクロ有効ブックAのvbaで別のマクロ有効ブックBを開き、ブックBはWorkbook_Openイベントで自分自身を編集します。
編集後にそのブックBを手動で別のフォルダに保存したいのですが、
『名前をつけて保存』のダイアログボックスはブックBの元の読み込みフォルダを開いてしまいます。
これを自分の好きなフォルダを開くようにマクロから設定できないでしょうか?

767 名前:766 mailto:sage [2012/01/13(金) 09:23:12.96 ]
ちなみに、ブックBのマクロ内で
ChDir "C:\"
としてもダメでした。

ChDir "C:\"
S = GetSaveAsFilename()
ThisWorkbook.SaveAs S

とかならC:を開いて保存できますが、
保存するかどうかは任意なので
できれば手動で『名前をつけて保存』を選び、
そのときに指定したフォルダでダイアログボックスを開くようにしたいのです。

768 名前:766 mailto:sage [2012/01/13(金) 09:26:35.73 ]
すみません、ちょっとミスってました
>S = GetSaveAsFilename()

>S = Application.GetSaveAsFilename()
の間違いです。

769 名前:デフォルトの名無しさん [2012/01/13(金) 12:03:05.01 ]
2000版だと
ChDir "C:\xxx"
Application.Dialogs(xlDialogsaveAs).show

もし違ったら新しいマクロの記録を使ってダイアログボックスで保存した後、記録の終了→マクロを開いて編集して下さい

770 名前:766 mailto:sage [2012/01/13(金) 12:49:53.26 ]
どうもありがとうございます
都合により、来週水曜日まで
そのマクロにさわれないので来週試します。
本当にありがとうです

771 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 21:36:08.80 ]
>>764
Win32APIで別アプリのウィンドウハンドルを取得
これでわからなかったら、正直に「できません」と言ってあきらめろ

772 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 23:59:40.19 ]
野田改造内閣に早速疑惑浮上

@aritayoshifu 有田芳生
捜査当局が内偵を続けている農水疑惑。詳細な怪文書まで出回っている。3億円の
行方はどこに?

@minorucchu ジャーナリスト 田中稔
野田改造内閣を揺るがす、農水省3億円スキャンダルの怪文書。二人の議員名が浮上。
34分前 webから
https://twitter.com/#!/minorucchu/status/157687110562881537

鹿野と筒井らしい
自公は問責も視野に調査開始だって



773 名前:デフォルトの名無しさん [2012/01/14(土) 01:11:28.42 ]
A1=1 B1=あいう
A2=2 B2=かきく
A3=3 B3=さしす

1.txt、中身があいう といったテキストをUTF-8で複数作成したいのですが
どうすればよいでしょうか?

Sub out_ex_euc()


Dim MyIndex, myADOstr
For MyIndex = 1 To 3
myADOstr = FreeFile
Set myADOstr = CreateObject("ADODB.Stream")
myADOstr.Charset = "UTF-8"
Open Cells(MyIndex, 1) & ".txt" For Output As #myADOstr
Write #myADOstr, Cells(MyIndex, 2).Text
Close #myADOstr
Next MyIndex


End Sub


こんなの書いてみたのですがダメでした



774 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 01:36:06.05 ]
>>773
なんでプロシージャ名がeuc?ってのはおいといて、FreeFileとか宣言してない変数がいきなり出てくるあたり
どっかのコピペなんだろうけど、もうちょっと落ち着いてコードを見直そうね

Sub out_ex_euc()
  Dim MyIndex, myADOstr

  For MyIndex = 1 To 3
    Set myADOstr = CreateObject("ADODB.Stream")
    myADOstr.Type = 2  'Textモード
    myADOstr.Charset = "UTF-8"
    myADOstr.Open
    myADOstr.writeText Cells(MyIndex, 2).Text
    myADOstr.saveToFile Cells(MyIndex, 1).Text & ".txt", 2
    myADOstr.Close
    Set myADOstr = Nothing
  Next
End Sub

775 名前:デフォルトの名無しさん [2012/01/14(土) 01:53:53.22 ]
>>774
有難う御座います!
無事出来ました。
本当に助かりました。

776 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:31:16.38 ]
指定されたフォルダー内のファイル名を作成日時の
降順に並べ替えるにはどうすればいいでしょうか?
ファイル名の一覧を取得して、別の配列に作成日時を
比較しながら挿入して行く方法しか思いつかないのですが、
もっと簡単な方法はありますか?

777 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:44:00.25 ]
dir /b /a-d /od の実行結果を取り込む。

778 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:52:12.23 ]
>>774
> FreeFileとか宣言してない変数

変数じゃないし。

まあ、ADODB.Stream 使うなら関係ないけど。

779 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 11:57:19.44 ]
dir /b /a-d /od- だったw

780 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 15:07:46.00 ]
>>779
/tc

781 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 15:48:47.05 ]
ファイルディスクリプタを返す関数か

782 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 15:53:31.63 ]
>>773
>>774
>>778

AODで
UTF-8のtxt作る場合にはBOMがくっつくから
不要ならばバイナリで扱って掃除しないと困るよん。


と、焼酎飲みながらカキコ



783 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 16:45:49.71 ]

反日ネット工作員
朝日新聞社→社員約300人
民主党とその取り巻きの資金が入った反日工作会社→数社約450人

朝日新聞の社員は捕まった49歳の編集者を含め新聞記事を書く合間に2chを荒らしている程度とみられているが
民主党が用意した反日工作会社はほぼ24時間体制で工作を行っている
工作範囲は民主党が予め工作費を流している2ch、ニコニコ動画を中心にyoutube、個人のブログなどである。



784 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 18:01:51.55 ]
detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1479372954








[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<283KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef