Excel VBA質問箱 IV

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

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


2222 / 13646 ツリー ←次へ | 前へ→

【69293】末尾の)を削除する方法 jcklobchd 11/6/22(水) 14:28 質問[未読]
【69294】Re:末尾の)を削除する方法 neptune 11/6/22(水) 15:07 発言[未読]
【69295】Re:末尾の)を削除する方法 jcklobchd 11/6/22(水) 15:14 お礼[未読]
【69299】Re:末尾の)を削除する方法 neptune 11/6/22(水) 15:43 回答[未読]
【69300】Re:末尾の)を削除する方法 neptune 11/6/22(水) 15:44 発言[未読]
【69302】Re:末尾の)を削除する方法 jcklobchd 11/6/22(水) 16:05 お礼[未読]
【69296】Re:末尾の)を削除する方法 UO3 11/6/22(水) 15:38 発言[未読]
【69298】Re:末尾の)を削除する方法 jcklobchd 11/6/22(水) 15:41 お礼[未読]
【69301】Re:末尾の)を削除する方法 UO3 11/6/22(水) 15:45 発言[未読]
【69303】Re:末尾の)を削除する方法 jcklobchd 11/6/22(水) 16:07 お礼[未読]

【69293】末尾の)を削除する方法
質問  jcklobchd  - 11/6/22(水) 14:28 -

引用なし
パスワード
   はじめまして。

エクセルでデータが5万件ほどあるのですが、
その末尾だけの)(かっこ)を消したいのですが、
何か良い方法は無いでしょうか?
なにとぞよろしくお願いいたします。

【69294】Re:末尾の)を削除する方法
発言  neptune  - 11/6/22(水) 15:07 -

引用なし
パスワード
   ▼jcklobchd さん:
>はじめまして。
>
>エクセルでデータが5万件ほどあるのですが、
>その末尾だけの)(かっこ)を消したいのですが、
>何か良い方法は無いでしょうか?
1個1個みて )を消す。原則これしかないと思いますが?

【69295】Re:末尾の)を削除する方法
お礼  jcklobchd  - 11/6/22(水) 15:14 -

引用なし
パスワード
   ▼neptune さん:
>▼jcklobchd さん:
>>はじめまして。
>>
>>エクセルでデータが5万件ほどあるのですが、
>>その末尾だけの)(かっこ)を消したいのですが、
>>何か良い方法は無いでしょうか?
>1個1個みて )を消す。原則これしかないと思いますが?
neptuneさん、どうもありがとうございます。
マクロ使ってみたり、関数使ってみたり色々してみたのですが、
真ん中に入ってるのまで消えちゃったり
アルファベットと数字は大丈夫なのに
かっこはダメだったりとしてましたので
何か良い方法はないかと思ったのですが、
どうもありがとうございました。

【69296】Re:末尾の)を削除する方法
発言  UO3  - 11/6/22(水) 15:38 -

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

もし、末尾がなんであるかによらず、無条件に末尾を1桁カットするなら
5万件というボリュームが心配ですが、

B1に =LEFT(A:A,LEN(A1)-1 と入れた後、最後までオートフィル。

で、これをVBAでやるなら

Sub Test()
  Range("B1", Range("A" & Rows.Count).End(xlUp)).Offset(, 1).Formula = "=LEFT(A:A,LEN(A1)-1)"
End Sub

【69298】Re:末尾の)を削除する方法
お礼  jcklobchd  - 11/6/22(水) 15:41 -

引用なし
パスワード
   ▼UO3 さん:
>▼jcklobchd さん:
>
>もし、末尾がなんであるかによらず、無条件に末尾を1桁カットするなら
>5万件というボリュームが心配ですが、
>
>B1からB列の最終まで選択して =LEFT(A:A,LEN(A1)-1 と入れた後
>Ctrl/Shift/Enter で配列数式として入力。
>
>で、これをVBAでやるなら
>
>Sub Test()
>  Range("B1", Range("A" & Rows.Count).End(xlUp)).Offset(, 1).FormulaArray = _
>                        "=LEFT(A:A,LEN(A1)-1)"
>  
>End Sub

UO3 さん、どうもありがとうございます。
末尾のかっこだけをけしたかったので、
かっこをぜんぶ"あ"に置換して
末尾の"あ"だけを消して(このコードはネットで見つけました。)
最後に真ん中とかに入った"あ"だけを元に戻す方法で解決いたしました。

皆様、本当にありがとうございました。

【69299】Re:末尾の)を削除する方法
回答  neptune  - 11/6/22(水) 15:43 -

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

>マクロ使ってみたり、関数使ってみたり色々してみたのですが、
>真ん中に入ってるのまで消えちゃったり
>アルファベットと数字は大丈夫なのに
>かっこはダメだったりとしてましたので
>何か良い方法はないかと思ったのですが、
そういう事は最初に書きましょうね^ ^;

一度だけなら 時間が掛かろうが、UO3さんのアドバイスに一票!

日常的に使うなら
・range(セル)を変数に格納して
・UO3さんの数式と同じ処理をVBAで書く。→処理
・一括書込み
の方が速いとは思う。

【69300】Re:末尾の)を削除する方法
発言  neptune  - 11/6/22(水) 15:44 -

引用なし
パスワード
   ん・・・書いてる間に終わったのね。

【69301】Re:末尾の)を削除する方法
発言  UO3  - 11/6/22(水) 15:45 -

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

解決後ですが、末尾が ) の時だけ消すコードです。
ご参考まで。

Sub Test2()
  Range("B1", Range("A" & Rows.Count).End(xlUp).Offset(, 1)).Formula = _
              "=IF(RIGHT(A1,1)="")"",LEFT(A1,LEN(A1)-1),A1)"
End Sub

【69302】Re:末尾の)を削除する方法
お礼  jcklobchd  - 11/6/22(水) 16:05 -

引用なし
パスワード
   ▼neptune さん:
>ん・・・書いてる間に終わったのね。
neptune さん
どうもありがとうございます。
今度からは質問の仕方に気をつけます。
(あんまり長いのも良くないと思って省略しすぎました。)

【69303】Re:末尾の)を削除する方法
お礼  jcklobchd  - 11/6/22(水) 16:07 -

引用なし
パスワード
   ▼UO3 さん:
>▼jcklobchd さん:
>
>解決後ですが、末尾が ) の時だけ消すコードです。
>ご参考まで。
>
>Sub Test2()
>  Range("B1", Range("A" & Rows.Count).End(xlUp).Offset(, 1)).Formula = _
>              "=IF(RIGHT(A1,1)="")"",LEFT(A1,LEN(A1)-1),A1)"
>End Sub

UO3 さん どうもありがとうございます。
ちゃんと動きました。
頑張って勉強したいと思います。

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