Excel VBA質問箱 IV

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

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


300 / 13645 ツリー ←次へ | 前へ→

【81111】vbaでcountifの使い方とかけ算の仕方 あきんちょ 19/11/2(土) 18:55 質問[未読]
【81112】Re:vbaでcountifの使い方とかけ算の仕方 マナ 19/11/2(土) 19:16 発言[未読]
【81113】Re:vbaでcountifの使い方とかけ算の仕方 あきんちょ 19/11/2(土) 23:34 質問[未読]
【81114】Re:vbaでcountifの使い方とかけ算の仕方 マナ 19/11/2(土) 23:45 発言[未読]
【81116】Re:vbaでcountifの使い方とかけ算の仕方 あきんちょ 19/11/3(日) 9:27 質問[未読]
【81117】Re:vbaでcountifの使い方とかけ算の仕方 マナ 19/11/3(日) 10:38 発言[未読]
【81119】Re:vbaでcountifの使い方とかけ算の仕方 あきんちょ 19/11/3(日) 16:09 お礼[未読]

【81111】vbaでcountifの使い方とかけ算の仕方
質問  あきんちょ  - 19/11/2(土) 18:55 -

引用なし
パスワード
   vba初心者です。

vbaでcountifで出た個数を使ってかけ算をし、値を出したいです。
質問としては、まず、2000行ほどあるデータで、B列にLから始まるデータの数をカウントしたいです。その結果を入力するセルは、activecell.offset(0,1),activateとしたいです。
尚、activecell.offset(0,1),の右隣に4,000を入力し、更にその隣に、先程出したLから始まるデータの個数と4,000を掛けた値が入力される様にするには、どのようにしたら良いでしょうか?

vbaを初めたばかりであまり分からない為、初歩的な所もご説明頂けると大変嬉しいです。

【81112】Re:vbaでcountifの使い方とかけ算の仕方
発言  マナ  - 19/11/2(土) 19:16 -

引用なし
パスワード
   ▼あきんちょ さん:

レイアウトがわかりません。
具体例を使って説明していただけるとよいです。
Sub test()
  Dim r As Range
  
  Set r = Cells(ActiveCell.Row, 2)
  r.FormulaR1C1 = "=countif(c12:c12,""L*"")"
  r.Offset(, 1).FormulaR1C1 = "=rc[-1]*4000"
  
End Sub

【81113】Re:vbaでcountifの使い方とかけ算の仕方
質問  あきんちょ  - 19/11/2(土) 23:34 -

引用なし
パスワード
   マナさん、早速のアドバイスありがとうございます✨

レイアウトは、下記の通りです。
  A列    B列
IIM2587    LT
IUR2463    ST
IUX2543    LE
IIM1243    SE

上記の様に列は58列ほどあり、行は決まっていない為、かけ算を入力する際、
最終行を取得し、その2行下から計算式を入力したいと考えています。
説明が上手く無くて申し訳ないです。
アドバイス頂けると幸いです。


【81114】Re:vbaでcountifの使い方とかけ算の仕方
発言  マナ  - 19/11/2(土) 23:45 -

引用なし
パスワード
   ▼あきんちょ さん:

こうですか

Sub test()
  Dim r As Range
  
  Set r = Range("B1").End(xlDown).Offset(2)
  r.FormulaR1C1 = "=countif(r2c:r[-2]c,""L*"")"
  r.Offset(, 1).FormulaR1C1 = "=rc[-1]*4000"
  
End Sub

【81116】Re:vbaでcountifの使い方とかけ算の仕方
質問  あきんちょ  - 19/11/3(日) 9:27 -

引用なし
パスワード
   マナさん、ありがとうございます✨

今後、使える様になりたいので、下記の意味を教えて頂けないでしょうか?

r.FormulaR1C1 = "=countif(r2c:r[-2]c,""L*"")"
r.Offset(, 1).FormulaR1C1 = "=rc[-1]*4000"
  
→"=countif(r2c:r[-2]c,""L*"")"
  ()の中の意味が理解出来ません。L*は、分かります。

→r.Offset(, 1).FormulaR1C1 = "=rc[-1]*4000"
  このステートメントについてはほとんど分かりませんでした。

お手数おかけしますが、
よろしくお願いします。

【81117】Re:vbaでcountifの使い方とかけ算の仕方
発言  マナ  - 19/11/3(日) 10:38 -

引用なし
パスワード
   ▼あきんちょ さん:

ht tps://www.officepro.jp/excelvba/cell_value/index3.html

参照するセルが変動する場合には、R1C1形式を使うと簡単です。
普段、使用しないと思うので、慣れが必要すが。

最初は、手作業で数式を挿入し、
それをマクロの記録、修正するのがよいかもしれません。

【81119】Re:vbaでcountifの使い方とかけ算の仕方
お礼  あきんちょ  - 19/11/3(日) 16:09 -

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

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

添付もわかりやすく、少しわかってきました。

今回教えて頂いた方法で、試してみたいと思います。


▼マナ さん:
>▼あきんちょ さん:
>
>ht tps://www.officepro.jp/excelvba/cell_value/index3.html
>
>参照するセルが変動する場合には、R1C1形式を使うと簡単です。
>普段、使用しないと思うので、慣れが必要すが。
>
>最初は、手作業で数式を挿入し、
>それをマクロの記録、修正するのがよいかもしれません。

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