No.2ベストアンサー
- 回答日時:
こんにちは
>必要な箇所まで選択コピーし、別シートの1つのセルにカンマ区切りで値の貼付けをしたいです。
コピーではないのですがコードの例です
Excel2016以降ならTextJoin関数で
Sub Macro()
Dim iRng As Range, oRng As Range
On Error Resume Next
With Application
Set iRng = .InputBox(prompt:="入力セル範囲を選択してください", Type:=8)
If Err.Number <> 0 Then Exit Sub
Set oRng = .InputBox(prompt:="出力セルを選択してください", Title:="出力", Type:=8)
If Err.Number = 0 Then oRng.Value = .TextJoin(",", 1, iRng)
End With
End Sub
違えば、べたに
Sub Macro1() 'べた
Dim c As Range, iRng As Range, oRng As Range
Dim strData As String
On Error Resume Next
Set iRng = Application.InputBox(prompt:="入力セル範囲を選択してください", Type:=8)
If Err.Number <> 0 Then Exit Sub
For Each c In iRng
If strData <> "" Then
strData = strData & "," & c.Value
Else
strData = c.Value
End If
Next
Set oRng = Application.InputBox(prompt:="出力セルを選択してください", Title:="出力セルを選択", Type:=8)
If Err.Number = 0 Then oRng.Value = strData
End Sub
Sub Macro2() 'Join
Dim i As Long, iRng As Range, oRng As Range
Dim strData()
On Error Resume Next
Set iRng = Application.InputBox(prompt:="入力セル範囲を選択してください", Type:=8)
If Err.Number <> 0 Then Exit Sub
ReDim strData(iRng.Cells.Count)
For i = 1 To iRng.Cells.Count
strData(i - 1) = iRng(i).Value
Next
Set oRng = Application.InputBox(prompt:="出力セルを選択してください", Title:="出力セルを選択", Type:=8)
If Err.Number = 0 Then oRng.Value = Left(Join(strData, ","), Len(Join(strData, ",")) - 1)
End Sub
不明なところはInputBoxにしました
No.1
- 回答日時:
こんにちは
>マクロで行いたいのですが可能でしょうか?
多分、可能でしょう。
>それを必要な箇所まで選択コピーし
マクロなので、各値を配列に入れてJOIN関数でつなげるのが簡単と思います。
よくわからなければ、ワークシートのTEXTJOIN関数を利用しちゃうとかでも良いかも。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 1 2023/02/27 22:21
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
- Visual Basic(VBA) シート間で同じ値があったら指定範囲をコピーして貼り付け 1 2022/11/07 08:01
- Visual Basic(VBA) 複数シート一括作成後に、特定範囲の数式は値で貼り付けしたい 3 2022/10/07 11:18
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの複数のセルを一括で...
-
エクセルでセルを10個分くらい...
-
エクセル空白以外の文字を抽出
-
WEB上の文章 ⇒ EXCEL...
-
エクセルVBAでフィルタ抽出...
-
VBA コピーモード中の左上隅セ...
-
エクセルがわからない><;
-
ワードの表のセル 網掛けのコピー
-
波線は無理??
-
EXCELで○ヶ月を○年○ヶ月に変換...
-
複数の文字列のいずれかが含ま...
-
Excelで同じセルに箇条書きをし...
-
Excelの入力規則で2列表示したい
-
A1セルに入力したら、入力時間...
-
参照先セルに値が入っていない...
-
リンク元の日付が空白の時リン...
-
空白でないセルの値を返す方法...
-
エクセルで既に入力してある文...
-
EXCELで、結合されたセルに連続...
-
お肉の下のシートを煮込んでし...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルの複数のセルを一括で...
-
エクセルでセルを10個分くらい...
-
エクセル空白以外の文字を抽出
-
エクセルVBAでフィルタ抽出...
-
ワードの表のセル 網掛けのコピー
-
Excel セルの値を数値と認識しない
-
波線は無理??
-
Excelで指定した範囲の数値の減算
-
エクセル2007で総当り表を作り...
-
エクセルについて 式が入ってい...
-
WEB上の文章 ⇒ EXCEL...
-
エクセル もしくは、ワードでき...
-
文字だけ削除する関数ありますか?
-
VBA コピーモード中の左上隅セ...
-
excel ハイパーリンクをまとめ...
-
マクロ 複数セルコピー後、1つ...
-
エクセルがわからない><;
-
指定した範囲から、文字A、文字...
-
Excel 2003 セルの中に特定の...
-
複数の離れた選択範囲をコピー...
おすすめ情報
"Macro1() 'べた"のマクロで思うように動作しました!感動です!!
ちなみに、参照元の値が空白だと0を表示することは可能ですか?
(例)
5,5,5,0
0,5,0,4,6