Excel VBA質問箱 IV

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

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


47713 / 76732 ←次へ | 前へ→

【33969】変数を使用するとエラーになる
質問  ちー  - 06/1/24(火) 14:01 -

引用なし
パスワード
        A      B     C     D
1  社員名    データ    金額  検索社員名
2      ×◎◎◎××   ***   ■■
3      ▼▼▼▼×××  ***   ○○○○
4      ×××■■    ***   ◎◎◎
5                   ▼▼▼▼
6                   △△△△△


元のデータはB〜Cで、社員名別に金額をピボット集計したい。
B列には名前以外にも文字が含まれている為集計できない。(×は名前以外の文字)

なので、D列へ全社員名を入れてB列を検索し、
該当社員名が含まれている場合はA列へD列の該当データを入れるという式を作りました。

A2のセルへ「マクロの記録」にて
ActiveCell.FormulaR1C1 = "=IF(ISERROR(SEARCH(RC[3],RC[1]))=TRUE,0,RC[3])"

その式から、D2以下も検索させようと変数を使用してみたのですが上手くいきません。

Dim 検索行 As Integer, 行 As Integer
検索行 = 0
行 = 2
  Do Until Cells(行, 4) = vbNullString Or ActiveCell <> 0
  ActiveCell.FormulaR1C1 = "=IF(ISERROR(SEARCH(R[検索行]C[3],RC[1]))=TRUE,0,R[検索行]C[3])"
  If ActiveCell.Value = 0 Then
  End If
  行 = 行 + 1
  検索行 = 検索行 + 1
  Loop
End Sub

単に、数字と変数を入れ替えるだけでは駄目なのでしょうか?

加えて、上記はA2の結果しか出ないので、B列のデータがある限りA列へ結果を出すようにするには?

それと、R1C1ではなくCELLSを使いたいのですが、変え方がよくわかりません。
よろしくお願いします。

0 hits

【33969】変数を使用するとエラーになる ちー 06/1/24(火) 14:01 質問
【33970】Re:変数を使用するとエラーになる やっちん 06/1/24(火) 14:10 発言
【33972】Re:変数を使用するとエラーになる ちー 06/1/24(火) 14:53 お礼
【33971】Re:変数を使用するとエラーになる Jaka 06/1/24(火) 14:29 回答
【33973】Re:変数を使用するとエラーになる ちー 06/1/24(火) 14:55 発言
【33974】Re:変数を使用するとエラーになる Jaka 06/1/24(火) 15:02 発言
【33977】Re:変数を使用するとエラーになる ちー 06/1/24(火) 15:25 発言
【33983】Re:変数を使用するとエラーになる Jaka 06/1/24(火) 15:56 発言
【33984】Re:変数を使用するとエラーになる inoue 06/1/24(火) 15:59 発言
【33987】Re:変数を使用するとエラーになる やっちん 06/1/24(火) 17:00 発言
【33990】Re:変数を使用するとエラーになる ちー 06/1/24(火) 18:02 お礼
【34023】Re:変数を使用するとエラーになる ちー 06/1/25(水) 9:33 お礼

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