Excel VBA質問箱 IV

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

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


6148 / 76734 ←次へ | 前へ→

【76188】B列とC列と同じ値をA列→C列にして特定する文字の横のセルに表示
質問  マルク  - 14/10/12(日) 1:51 -

引用なし
パスワード
   1つのシートに羅列しているID番号のデータがあります            
B列とC列が関連として括られて表示されています。            
やりたいことはC列の親管理番号をA列のID番号に置き換えて
(C8をA8 C14をA14へ置き換えして)            
D列に管理と書いてあるセルの左横(場所でいうとC22.C23.C27.C28,C31.C32)            
に値を置き換えたいのですが、マクロで自動処理させることは可能でしょうか?            

最初、A列のデータをコピーしてC列に貼り付けた後、
一般と管理が含まれている横のセルを空白にするマクロを実行して
そうするとC列に置き換えた親ID番号だけが残るので,あとは、
手動で管理と書かれている横のセルに貼り付ける作業をしていましたが

データ量が1万以上ある時もあるので、
マクロで効率のいい変換の仕方を模索しています。
(関数も試しましたが上記の条件を満たす関数は見つかりませんでした)
            
まとめると            
C列の親ID番号の親管理をA列のID番号に置き換えて            
置き換え後、管理と書かれている左横のセルに乗せたい            
            
説明だけで伝わりにくいかもしれませんが            
お力添えをお願いします。

参考で、置き換え前と置き換えあとのエクセルの内容と
一般と管理と含まれてる横のセルを空白にするマクロを記述しおきます。            
            

           置き換え前
1                 
2     A列       B列       C列      D列
3    ID番号     予備のID番号  親ID番号 管理別項目
4    00111222    00999888    00999888   一般
5    00111223    00999888    00999888   一般
6    00111225    00999888    00999888   管理
7    00111226    00999888    00999888   管理
8    00111227    00999888    00999888   親管理
9    00111229    00777666    00777666   一般
10    00111230    00777666    00777666   一般
11    00111231    00777666    00999888   管理
12    00111232    00777666    00999888   管理
13    00111233    00777666    00999888   管理
14    00111234    00888777    00888777   親管理
15    00111235    00888777    00888777   管理
16    00111236    00888777    00888777   管理

          置き換え後
1                
2     A列         B列     C列     D列
3    ID番号     予備のID番号  親ID番号 管理別項目
4    00111222    00999888             一般
5    00111223    00999888             一般
6    00111225    00999888    00111227    管理
7    00111226    00999888    00111227    管理
8    00111227    00999888             親管理
9    00111229    00777666              一般
10    00111230    00777666              一般
11    00111231    00777666    00111227    管理
12    00111232    00777666    00111227    管理
13    00111233    00777666    00111227    管理
14    00111234    00888777             親管理
15    00111235    00888777    00111234    管理
16    00111236    00888777    00111234    管理


Sub 管理空白()
For Each Rng In Selection
If Rng.Value = "管理" Then
Rng.Offset(, -1) = ""
End If
Next
End Sub

Sub 一般空白()
For Each Rng In Selection
If Rng.Value = "一般" Then
Rng.Offset(, -1) = ""
End If
Next
End Sub

1 hits

【76188】B列とC列と同じ値をA列→C列にして特定する文字の横のセルに表示 マルク 14/10/12(日) 1:51 質問
【76189】Re:B列とC列と同じ値をA列→C列にして特定... 独覚 14/10/12(日) 7:48 発言
【76190】Re:B列とC列と同じ値をA列→C列にして特定... 独覚 14/10/12(日) 7:58 発言
【76191】Re:B列とC列と同じ値をA列→C列にして特定... マルク 14/10/12(日) 10:12 お礼

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