- ベストアンサー
【Excel2013】マクロで特定のセルを指定しない方法
- Excel2013で特定のセルを指定せずにマクロを実行する方法を教えてください。
- D8:D80までのセルに入力されている文字を「文字列」に変換するマクロを作成していますが、他のセルでも同じ作業を行いたいです。
- 選択した状態でマクロを実行することで、文字列にしたいセルを自動的に選択する方法を教えてください。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
No1の追加です。 Dim mRange As Range Set mRange = Selection.Item(1) を追加して Destination:=Range("D8") を Destination:=mRange に変更してください。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17070)
例えば A列にデータがあり A2は 1,2,5 A4は 3,4 A7は 5,6,7,8 とあるとする。 A2,A4,A7セルを対象にしたい場合、 CTRLを押したままで、マウスでA2,A4,A7をクリックする。 標準モジュールに Sub test01() For Each cl In Selection With cl .TextToColumns _ Destination:=cl.Offset(0, 1), _ DataType:=xlDelimited, _ Comma:=True End With Next Range("D8").Select End Sub を作成し、実行する。 ーー 結果 B,C,D・・列に 1 2 5 3 4 5 6 7 8 セル分離される。 === もし手動では、セル選択したくないぐらい、行数が多いときは、 その条件を質問で説明し、別質問にすること。 (質問にVBAコードだけ挙げて説明が不十分だろう。こういう状況が、質問に説明されていない。不完全。) ーー 上記コードについて、 その他の点も、質問者の場合に合わせて、VBAコードを修正すること。 ーー 結果 各行のB列より右の列に 1 2 5 3 4 5 6 7 8
お礼
ご回答ありがとうございました。 文字を区切りたいわけではありません。 ただ、当方が提示したマクロは、連続していないセルではエラーになってしまうことは確認しました。 文字列にしたいのはほとんどが連続したセルなので、それほど影響はありません。
- Chiquilin
- ベストアンサー率30% (94/306)
On Error GoTo Err Selection.TextToColumns , , , , , , , , , , Array(1, 2) Err: とか?
お礼
ご回答ありがとうございました。
- kkkkkm
- ベストアンサー率66% (1742/2617)
Range("D8:D80").Select を外せばいいのではないでしょうか。
お礼
ご回答ありがとうございました。
お礼
再度のご回答ありがとうございました。 できました!! Range("D8").Selectは消しておきました。 非常に助かりました。