
エクセルで、(例えば)A列のセル内改行されたデータを「CLEAN関数」でB列に表示させたい時、A列に入っている分のデータだけを隣のB列に表示させる場合のマクロの記述式を教えて下さい。セルA1「あああ 改行 いいい」→B1「あああいいい」、セルA2「ううう 改行 えええ」→B2「うううえええ」、セルA3「データなし」→B3「表示なし」 イメージご理解して頂けたでしょうか?要するにA列に入ってるセルのデータのみをCLEAN関数でB列に表示させ、A列に入ってない場合はCLEAN関数を適用しない場合の記述式です。どうか宜しくお願いします。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
ひょっとして、B列にCLEAN関数を入れることをマクロでやるということでしょうか?
A列にデータが入っているときのみ、B列に関数をいれるなら、
Sub test01()
Dim x As Long
Dim c As Range
With ActiveSheet
x = .Cells(.Rows.Count, "A").End(xlUp).Row
For Each c In .Range(.Cells(1, "A"), .Cells(x, "A"))
If c <> "" Then c.Offset(0, 1).FormulaR1C1 = "=CLEAN(RC[-1])"
Next
End With
End Sub
ただ、CLEAN関数は、対象セルが空白なら、何も表示しませんから全部に関数を入れてしまっても同じだと思います。その場合は、
Sub test02()
Dim x As Long
With ActiveSheet
x = .Cells(.Rows.Count, "A").End(xlUp).Row
.Range(.Cells(1, "B"), .Cells(x, "B")).FormulaR1C1 = "=CLEAN(RC[-1])"
End With
End Sub
です。
No.2
- 回答日時:
こんばんは。
Clean 関数というのは、昔、表計算は、倍角、改ページなどの印刷用の制御コードを入れることが出来ました。その時に、そうしたコードを除去するために使われたものなのです。
あえて、マクロの勉強というのでしたら、このようになります。
>A列に入ってない場合はCLEAN関数を適用しない
これは、たぶん、そのまま通ると思います。
VBAでは、Replace という関数を使いますが、Clean関数でも、とおります。
Sub MacroTest()
Dim i
For i = 1 To Range("A65536").End(xlUp).Row
'Cells(i, 2).Value = WorksheetFunction.Clean(Cells(i, 1).Value)
Cells(i, 2).Value = Replace$(Cells(i, 1).Value, vbLf, "")
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) vbaについて 主に以下のような設定をしたいです。 Aブックの表の行数が20未満だったら Bブックの 1 2023/06/08 23:40
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Excel(エクセル) B列に、A列の数字が偶数の場合は1減算した数字、奇数の場合はそのまま数字を自動表示したい 4 2022/04/16 12:01
- Visual Basic(VBA) 列と行の名前(重複あり)が交差するセルに、データを入力したい 2 2022/06/25 22:42
- Excel(エクセル) 【Excel関数】値が合致するセルの隣のセルを表示させたい 8 2022/10/12 17:44
- Excel(エクセル) [オートフィルター]機能について 3 2023/02/04 14:32
- Excel(エクセル) エクセルでIF関数中にIFERROR関数を使いたいのですが???? 5 2022/04/08 13:24
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
複数の文字列のいずれかが含ま...
-
Excelの入力規則で2列表示したい
-
SUMに含まれる範囲から特定のセ...
-
エクセルでセルの値分の個数の...
-
数式が入ったセルを含めて、数...
-
Excel上でのデータ数字が連番で...
-
エクセルで曜日に応じた文字を...
-
「エクセル」特定の行(セル)...
-
別のセルに値が入力されたら、...
-
Excelでの検索結果を含む行だけ...
-
エクセル:横長の表を改行して...
-
スペースとスペースの間の文字...
-
エクセルで表示されている数字...
-
列の数字に100をかけたい
-
セルをダブルクリックで、画像...
-
銀行の振込み手数料をエクセル...
-
エクセルで、毎日の走行距離(...
-
文字(数字)色別に計算するには?
-
excelのセルの自動移動
-
エクセルで公平にチーム分けす...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの入力規則で2列表示したい
-
複数の文字列のいずれかが含ま...
-
SUMに含まれる範囲から特定のセ...
-
数式が入ったセルを含めて、数...
-
Excel上でのデータ数字が連番で...
-
エクセルで表示されている数字...
-
エクセルでセルの値分の個数の...
-
Excelでの検索結果を含む行だけ...
-
「エクセル」特定の行(セル)...
-
スペースとスペースの間の文字...
-
エクセル:横長の表を改行して...
-
エクセルで曜日に応じた文字を...
-
列の数字に100をかけたい
-
エクセルで、毎日の走行距離(...
-
エクセル セル内の文字数を超え...
-
Excelのセル内文字の並び替えに...
-
エクセルのsumifでかけ算してか...
-
時間を「昼間」と「夜間」に分...
-
別のセルに値が入力されたら、...
-
入退社日より各月末の在籍者数...
おすすめ情報