
No.7ベストアンサー
- 回答日時:
No.1の者です。
全て手書きなので、エラーになってしまうかも知れません。
一例ですが、下記の様な記載で、どうでしょうか?
試す前に、ファイルをコピーされたものを使うのが良いかと思います。
(マクロで変更したものは、基本、元の状態に戻せませんので。)
必要に応じて、適宜変更してみて下さい。
Sub Sample3()
Const myErea as String = "対象のエリア名"
Const myTantou_Mae as String = "前任者の担当者コード"
Const myTantou_Ato as String = "後任者の担当者コード"
Dim i As Long
Dim MyArray As Variant
Dim myRng as Range
Set myRng = Range(Cells(1, 1), Cells(Rows.Count, 3).End(xlUp)) 'データ範囲の取得 A1:C列の最後まで
MyArray = myRng.Value ’セルデータを一括で配列に取り込み
For i = 2 To myRng.row ’1行目はタイトルとして処理しない、2行目~
If MyArray(i, 2) = myErea Then ’B列エリアの判定
If MyArray(i, 3) = myTantou_Mae Then 'C列担当者コードの判定
MyArray(i, 3) = myTantou_Ato 'C列担当者コードを変更
End If
End If
Next i
myRng.ClearContents ’データを一旦消去。データがあると書き出しが遅い
myRng.Value = MyArray ’データを一括で書き出し
End Sub
色々とありがとうございます。今、これだとなにも動かないのですが、私が初歩的なミスをしている可能性があります。確認しながら色々やってみます。教えていただき大変勉強になりました。どうもありがとうございました!!
No.6
- 回答日時:
No.5です。
>東京エリアの顧客のうち、営業のAさんが担当している顧客について、担当を一気にAからBさんへ変更したいのです。
実際には『東京エリア』の顧客担当の営業Aさんの『担当者コード』を営業Bさんの『担当者コード』に変更したいと言う事ですか?
この場合与える3つの条件はその都度どうされるのでしょう?
どこか空いているセルに条件として入力してから実行するのですかね?
それもですが元々エクセルのシートにデータはあるのでしょうか?
それとも取り込むなどして処理をし、終わったら何らかのファイルとして吐き出そうと言う感じですか?
No.5
- 回答日時:
個人名とは
・営業担当名
・顧客名
のどちらなのか?
仮に後者なら、『担当者コード』を変更するのか下さい
とも受け取れますよね?
説明がわかりづらく手申し訳ありませんでした。回答ありがとうございました。Aがお客さんで、担当者コードというのは営業マンのコードです。(質問に説明を追記いたしました)
No.4
- 回答日時:
No.1の者です。
下記記事で、データが10万あると、14秒ほどかかるとの事で、配列を使用
した高速化を考慮した方が良いかと思いました。
あとは、IF関数や、Like演算子で、絞り込みを行い、記事の様な置換に
するのが良いかと思います。
Excel VBA Replace関数で文字列を高速で置換する方法と速度検証の、
配列を使用した高速化
https://officedic.com/excel-vba-highspeed-replace/
No.2
- 回答日時:
No.1の者です。
No.1の回答のリンクが、置換のVBAになります。説明不足でしたね。
但し、内容は、Ctlr + Hと同じ、VBAですが。。。
それを、応用する形になるかと思いますが。
例えば、フィルターで、エリアAを抽出。
エリアAの列?を選択した状態で、Ctrl + Gで、可視セルを選択。
Ctlr + Hの置換とかでは、ダメでしょうか?
ご丁寧にありがとうございます!VBAを使うのは意図があり、今学んでいるためと、同様の大量データの処理(条件によって複数データを書き換える)が非常に多くあるので、VABで一気にできるコードを知りたくて質問させていただきました。
No.1
- 回答日時:
おはようございます。
Excelの置換ではダメなのでしょうか?
Ctrl+H 置換前 置換後
全て置換で、できると思いますが。。。
それとも、他に理由があるのでしょうか?
例えば、下記が参考になるでしょうか?
http://officetanaka.net/excel/vba/function/repla …
おはようございます。ご回答ありがとうございます。複数の条件があるので置換で処理はできません(エリアには他担当者もいること、この担当者は他のエリアも担当しているためです)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel VBA 最終行を取得しVlookup関数をコピーする方法をコーディングで教えてください。 3 2023/05/11 13:14
- Excel(エクセル) EXCEL 関数を教えてください。(A列の同じ値が複数ある場合vlookupで出来ますか) 4 2022/12/07 20:54
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- Visual Basic(VBA) Excel VBA 教えてください。 VBA初心者です。 詳しい方がいましたら教えてください。 下記 3 2023/04/25 11:22
- Visual Basic(VBA) EXCEL VBAで教えてください。 1 2022/12/22 04:20
- Excel(エクセル) エクセル・スプレッドシートで、一定数を超えたらゼロから再累計する方法 8 2022/05/28 03:52
- Visual Basic(VBA) エクセルについて教えてください。 3 2023/06/28 09:11
- Visual Basic(VBA) VBAで、特定の文字より後を削除して残った数値を文字列に変換と特定の文字より前も削除したい 3 2022/04/15 19:21
- Excel(エクセル) エクセルVBA VLOOKUPを使ってのカウント作業 2 2023/02/19 09:03
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が解説!あなたの声を行政に届ける「パブリックコメント」制度のすべて
社会に対する意見や不満、疑問。それを発信する場所は、SNSやブログ、そしてニュースサイトのコメント欄など多岐にわたる。教えて!gooでも「ヤフコメ民について」というタイトルのトピックがあり、この投稿の通り、...
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
正規表現で、特定の文字列を含...
-
Excel・ユーザーフォームの情報...
-
コピペの繰り返し
-
python 大文字小文字を区別しな...
-
Excel VBA 条件にあったデータ...
-
ExcelVBA バッチファイル編集
-
各項目がダブルクォーテーショ...
-
複数のパワーポイントファイル...
-
C#で空白行を削除する方法
-
Eclipse 改行後のタブ
-
正規表現 特定の文字列を含む行...
-
Excel VBA 教えてください。 VB...
-
\\(円)記号を置換したい
-
PerlでUTF-8のファイルの文字列...
-
ハングルを日本語に置換
-
○文字目に文字挿入
-
WordPress Contact Form 7 で特...
-
EXCEL VBA でCTRL+Fのダイア...
-
EXCEL警告「置換対象のデータが...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBA 置換文字がみつからない時
-
正規表現で、特定の文字列を含...
-
csvデータ ダブルクォーテ...
-
各項目がダブルクォーテーショ...
-
Excel VBA リストに一致したデ...
-
スペースで区切られた氏名から...
-
秀丸エディタで、「-」や「ー」...
-
EXCELマクロを用いてグラフの系...
-
csvデータのダブルクォーテーシ...
-
C#で空白行を削除する方法
-
EXCEL警告「置換対象のデータが...
-
xmlファイル内の文字列置換
-
正規表現 特定の文字列を含む行...
-
テキストボックスの文字列を置...
-
○文字目に文字挿入
-
C言語でテキストファイルの内容...
-
複数のパワーポイントファイル...
-
c# ビルド直前にコードを置換で...
-
Excel・ユーザーフォームの情報...
-
\\(円)記号を置換したい
おすすめ情報
説明が足らずすみません!関数だとcountifsなどを使い条件設定して対象行を抽出して、コピペする形になるのですが、vbaでどのように書けば同じ処理ができる(置換できるのか)がわからず質問させていただいています。
説明がわかりづらく申し訳ありません。A列顧客名B列エリア(東京・大阪など)C列担当者コード(営業の社員コード)
です。
東京エリアの顧客のうち、営業のAさんが担当している顧客について、担当を一気にAからBさんへ変更したいのです。なおAさんは千葉や埼玉にもお客さんを持っていますが、それについては今後も担当を続けます。また、東京エリアには他にも多くの営業がいます。