Excel VBA質問箱 IV

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

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


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

【80228】Re:他ブックのマクロを呼び出しているブ...
発言  マナ  - 18/11/2(金) 23:05 -

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

ブックAにマクロを記述しないとだめな理由があるのでしょうか。
・ツリー全体表示

【80227】他ブックのマクロを呼び出しているブック...
質問  lea  - 18/11/2(金) 14:52 -

引用なし
パスワード
   お世話になります。
過去ログでも見つけられなかったため、質問いたします。

ブックAを参照してブックBに処理をするマクロがあります。
ブックBはある特定のファイルですが、ブックAは複数あります。
現在、ブックAにマクロを記述し、「ThisWorkbook」で参照ブックを指定しているので、コピペのみでブックAが量産可能です。

しかし…ブックAの数が増えてくると、この先マクロを修正したくなった時に非常に困ります…というか面倒です。
なので、できればマクロ専用のファイルを作成し、ブックAからその専用ファイルを呼び出してマクロの実行をしたいと考えています。

ですが現在「ThisWorkbook」で書いている部分、マクロ専用ファイルから「このマクロを呼び出した呼出元」みたいに書かなければならないと思うのですが…どうやって指定したらいいんでしょう?
もしくは、もっと違う方法とかありますか?

ご教示いただけると嬉しいです。よろしくお願いいたします。
・ツリー全体表示

【80226】Re:特定の文字がある場合のセルに色をつ...
お礼  reo E-MAIL  - 18/10/30(火) 11:05 -

引用なし
パスワード
   返信が遅くなり申し訳ありませんでした。
おかげさまで解決致しました。
ありがとうございました。
・ツリー全体表示

【80225】Re:特定の文字がある場合のセルに色をつ...
発言  マナ  - 18/10/29(月) 20:51 -

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

条件付き書式という機能をご存知でしょうか。
・ツリー全体表示

【80224】Re:『重複したレコードを除いて、Countす...
お礼  もり  - 18/10/29(月) 18:10 -

引用なし
パスワード
   ▼γ さん:
>マルチポストを認めているが、
>マルチしていることを明記してと書いてある。
>それより前に、ここはVBA専用の質問版です。
>すがりつく藁(わら)を間違えています。
>出直しですね〜。

申し訳なかったです。ほかのサイトで質問します。
・ツリー全体表示

【80223】Re:『重複したレコードを除いて、Countす...
発言  γ  - 18/10/29(月) 14:24 -

引用なし
パスワード
   マルチポストを認めているが、
マルチしていることを明記してと書いてある。
それより前に、ここはVBA専用の質問版です。
すがりつく藁(わら)を間違えています。
出直しですね〜。
・ツリー全体表示

【80222】『重複したレコードを除いて、Countする...
質問  もり  - 18/10/29(月) 14:13 -

引用なし
パスワード
   (もり)
複数条件かつ重複したレコードをのぞいて、Countする関数があれば教えてください。
具体例はこちらです。
テーブルは3列X、Y、Zがあります。XとYの条件で使用したZ(人数)を数えたいと思います。ただ、Countifsだと重複人数がふくまれます。(条件3,1でのZ1を本来は1人としたいが、2人としてカウントされる) Z(人)の重複を含めずに、数えるかんすうがあれば教えてください。 Access のようなSQLだと X1
,X2をGroup by してZ(人)をカウントすればいいのですが、エクセルだとうまいやり方がわかりません。汎用的な簡単な方法をご教示ください
集計のZ(人数)のセルに関数や式を埋め込みたいです

テーブル            集計
X(条件1) Y(条件2) Z(人)    X(条件1) Y(条件1) Z(人数)
2    1      Z1        2     1       2
2    1      Z2        3      1       2
3    1      Z1        4      2       3
3    1      Z1    
3    1      Z2    
4    2      Z1    
4    2      Z1    
4    2      Z1    
4    2      Z2    
4    2      Z2    
4    2      Z3    
4    2      Z3    
・ツリー全体表示

【80221】Re:特定の文字がある場合のセルに色をつ...
発言  γ  - 18/10/28(日) 12:35 -

引用なし
パスワード
   不明な点があれば継続質問してください。
質問したまま放置するのは失礼です。
・ツリー全体表示

【80220】Re:タブ区切りのテキストファイル読み込み
お礼  ken  - 18/10/26(金) 8:34 -

引用なし
パスワード
   ▼γ さん:
>aryLine = Split(strLine,vbTab) 
>までやって、aryLineが配列になっていることを
>ローカルウインドウで確認するのが確実だったでしょう。

わかっておらずすいません、
その通りです。

確認に対する貴重な時間をかけてしまいまして
すいませんでした。 
ありがとうございました。
・ツリー全体表示

【80219】Re:タブ区切りのテキストファイル読み込み
発言  γ  - 18/10/25(木) 21:33 -

引用なし
パスワード
   aryLine = Split(strLine,vbTab) 
までやって、aryLineが配列になっていることを
ローカルウインドウで確認するのが確実だったでしょう。
・ツリー全体表示

【80218】Re:タブ区切りのテキストファイル読み込み
回答  ken  - 18/10/25(木) 21:31 -

引用なし
パスワード
   確認ありがとうございます。

>>←この時点でタブが無くなります。
>これはどうやって確認されていますか?

イミディエイトで変数の値をprintで出力して確認していました。
これだとタブが出力されないんですね。

カーソルを当てて値を確認したところ、タブは入っていたので
結論的には問題無く動作していました。

すいません。ありがとうございます。
・ツリー全体表示

【80217】Re:このようなコピーペーストは可能でし...
発言  マナ  - 18/10/25(木) 20:47 -

引用なし
パスワード
   ▼事務まま さん:

必要なことの3)を修正しました。

1)A1:A3をコピーするマクロ
2)行列入れ替えて貼り付けるマクロ
3)コード番号(貼り付け先)があるセルを検索するマクロ
4)ブックを開くマクロ
5)ブックを保存して閉じるマクロ

で、

>1)と2)は多分、自分で出来そうな気がします。

ということでしたら、3)4)5)は後回しです。
まずは1)と2)だけを考えます。


Book1とBook100が開いている状態で
Book1のA1:A3をコピーして、Book100のA1;C3に貼り付ける

このマクロを考えてみてください。
わからないなら「マクロの記録」を実行してみてください。
エクセルが自動でマクロを書いてくれます。
そのままでは使えませんが、ヒントが得られます。


---------
ところで、もうおわかりかと思いますが、
わたしは、日中の書き込みはできません。
このペースでいくと完成までに時間がかかるかもしれません。

もしお急ぎなら、
エクセルには「フォーム」という機能があって

ht tp://excel.resocia.jp/report/2029/

Book100に全データが蓄積されているなら
そこから、好きなデータを呼び出し、データを更新することができます。
そうすれば、Book1〜99は不要になるし、マクロも必要ありません。
今作ろうとしているマクロより、よほど便利になると思います。
マクロを勉強したいといことであれば、いくらでもお手伝いはしますが、
マクロの勉強は目的ではないとのであれば
「フォーム」利用がお薦めです。


  
・ツリー全体表示

【80216】Re:特定の文字がある場合のセルに色をつ...
発言  γ  - 18/10/25(木) 20:45 -

引用なし
パスワード
   > 1.A列まで黄色にする
r.Resize(, 3).Interior.ColorIndex = c
  ↓
r.Offset(,-1).Resize(, 4).Interior.ColorIndex = c
ですかね。

> 2.B列に◯、■、△など文字がある場合に複数をまとめて黄色に塗りつぶす
If InStr(r.Value, "●") のところを
If InStr(r.Value, "●") Or InStr(r.Value, "○") Or .....のようにしてみては?

--------------
ちなみに
Range("B1", Cells(Rows.count, 1).End(xlUp))
だと、A列も対象になっていますが、これは意図したことですか?
もしA列に●があると、r.Offset(,-1)がエラーになりますね。

なお、実際に動かしていないので、そちらで確認してください。
・ツリー全体表示

【80215】Re:タブ区切りのテキストファイル読み込み
発言  γ  - 18/10/25(木) 20:34 -

引用なし
パスワード
   >←この時点でタブが無くなります。
これはどうやって確認されていますか?

実験しましたが正常に読み込まれました。
Microsoft ActiveX Data Objects Recordset x.x Library
を参照設定しているんですよね。

ちょっと分からない。
・ツリー全体表示

【80214】特定の文字がある場合のセルに色をつけた...
質問  reo E-MAIL  - 18/10/25(木) 16:32 -

引用なし
パスワード
   例えばB列に●文字があった場合行のB〜Dを「黄色」に
・●部分の文字を含まない行は「塗りつぶしなし」になるようにしています。
Sub 色付け()
Dim c
Dim r As Range
For Each r In Range("B1", Cells(Rows.count, 1).End(xlUp))
If InStr(r.Value, "●") Then c = 6 Else c = 0
r.Resize(, 3).Interior.ColorIndex = c
Next
End Sub

これに下記2項目を追加したいのですが教えてください。
@A列まで黄色にする
AB列に◯、■、△など文字がある場合に複数をまとめて黄色に塗りつぶす

宜しくお願いします。
・ツリー全体表示

【80213】Re:VBAでwaveOutWrite関数を使う方法を教...
お礼  ななみつき  - 18/10/25(木) 15:32 -

引用なし
パスワード
   ▼亀マスター さん:
>丸投げはこのサイトの基本方針に則しませんので、
>参考になると思われるサイトの紹介だけ。
>
>ht tp://home.att.ne.jp/zeta/gen/excel/c04p04.htm

回答ありがとうございます。サイト参考にさせていただきます!
ご指摘ありがとうございます...そうですよね。もう少し自分の力で頑張ってみます!
・ツリー全体表示

【80212】タブ区切りのテキストファイル読み込み
質問  ken  - 18/10/25(木) 15:30 -

引用なし
パスワード
   初歩的な質問ですが、行き詰まってしまったので
ご教授をお願いいたします。

ADODB.Streamオブジェクトを使用し
タブ区切りのUTF-8コードのテキストファイルを読み込んで
データ処理を行いたいのですが、1行ずつ読み込んだデータが
なぜかタブが削除されてしまう動作をしてしまい。
データ処理ができません。

他に確認すべき事項があれば教えて下さい。

Dim adoSt As Object
Set adoSt = CreateObject("ADODB.Stream")

With adoSt
  .Charset = "UTF-8"  
  .Type = adTypeText 
  .Open         
  .LoadFromFile (strPath)

  Do Until .EOS    

    strLine = .ReadText(adReadLine) ←この時点でタブが無くなります。

    aryLine = Split(strLine,vbTab)    

    '書き込み処理

  Loop

  .Close
End With
・ツリー全体表示

【80211】Re:このようなコピーペーストは可能でし...
質問  事務まま  - 18/10/24(水) 23:34 -

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

度々ありがとうございます!

1)と2)は多分、自分で出来そうな気がします。

ただ、VBAの超ど初級者でして…
sub
end.sub
を昨日今日 理解したレベルです(´-`)

別の質問をエクセル質問箱にて質問したら
VBAの初級を熟読してからこちらに来た方が良いよと言われ来た次第です。

お手柔らかにお願いします。
(>人<;)
・ツリー全体表示

【80210】Re:このようなコピーペーストは可能でし...
発言  マナ  - 18/10/24(水) 19:05 -

引用なし
パスワード
   ▼事務まま さん:

>仰る通りです。

では、1)〜5)のうち、どれがわかりますか?

>1)A1:A3をコピーするマクロ
>2)行列入れ替えて貼り付けるマクロ
>3)コード番号(貼り付け先)が何行目にあるか検索するマクロ
>4)ブックを開くマクロ
>5)ブックを保存して閉じるマクロ
・ツリー全体表示

【80209】Re:このようなコピーペーストは可能でし...
回答  事務まま  - 18/10/24(水) 9:10 -

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

仰る通りです。
m(__)m
・ツリー全体表示

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