No.1ベストアンサー
- 回答日時:
こんにちは!
色々やり方はありますが、一例です。
画像通りになるようにしています。
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, myRng As Range
With Worksheets("Sheet1")
For i = 3 To .Cells(Rows.Count, "B").End(xlUp).Row Step 2
If myRng Is Nothing Then
Set myRng = .Cells(i, "B").Resize(, 2)
Else
Set myRng = Union(myRng, .Cells(i, "B").Resize(, 2))
End If
Next i
myRng.Copy Worksheets("Sheet2").Range("B4")
End With
End Sub
こんな感じで画像のような配置になります。m(_ _)m
No.3
- 回答日時:
私が書いたものは、VBAを学ぶというには該当しない、単なるテクニックです。
しかし、「テクニックはテクニックに溺れることがある」と言います。
この程度ならよいのですが、複雑になる可能性がある場合は、凝ったテクニックは使わない方がよいです。可読性が落ちてしまいます。そんな時に補うには、VBAのスニペット(ツールが必要・例:MZ-Tools)を利用すると良いです。
ジャンプ機能を使ってコピー&ペースト
'//
Sub ValuedCopy_Paste1()
Dim Rng As Range
Dim scrSh As Worksheet: Set scrSh = Worksheets("Sheet1") '元
Dim dstSh As Worksheet: Set dstSh = Worksheets("Sheet2") '先
With scrSh
Set Rng = .Range("B3", .Cells(Rows.Count, "B").End(xlUp).Offset(, 1))
Rng.SpecialCells(xlCellTypeConstants, xlNumbers + xlTextValues).Copy dstSh.Range("B4")
End With
End Sub
No.2
- 回答日時:
こんにちは
お勉強中とのことですので、別の例です。
単純に1行ずつ順にコピーしてゆくプリミティブな方法です。
対象が少ないうちはほとんど差はありませんが、量が多くなると、多分、No1様の方法の方が処理速度は速いと想像します。
Sub Sample()
Dim sorc As Range, dest As Range
Set sorc = Worksheets("Sheet1").Rows(3) '←コピー元の最初の行
Set dest = Worksheets("Sheet2").Rows(4) '←コピー先の最初の行
While sorc.Row <= sorc.Worksheet.Cells(Rows.Count, 2).End(xlUp).Row
sorc.Copy Destination:=dest
Set sorc = sorc.Offset(2)
Set dest = dest.Offset(1)
Wend
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2023/02/25 11:55
- Excel(エクセル) エクセルのマクロでコピー後の貼り付け先を毎回指定したところにしたい 5 2022/08/12 10:47
- Visual Basic(VBA) エクセルのマクロについて教えてください。 5 2023/07/05 09:30
- Excel(エクセル) エクセルのマクロについて教えてください。 3 2023/02/07 14:47
- Excel(エクセル) マクロVBA別Excelブックにデータ転記 2 2022/07/10 23:35
- Excel(エクセル) エクセルのマクロについて教えてください。 2 2023/02/26 13:19
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
塗りつぶしの色をコピーするには
-
C+vのvは英語で何の頭文字...
-
PDFの一部を切り取って別のシー...
-
大学生です。moodle上でのテス...
-
エクセルでコピーしたものをコ...
-
Wordの「背景色を消す方法」教...
-
VBAのテキストボックスに文字列...
-
エクセルでマクロにてセル色と...
-
右クリックでコピー、切り取り...
-
セルに値がある行のみを抽出す...
-
xpsファイルをexcelに張り付けたい
-
Excel 3列毎のセルを別の表に抽...
-
空白行を無視してコピーするマ...
-
Wordで文字をコピー・ペースト...
-
Excel フィルターを掛けた状態...
-
ペーストのVって
-
excelマクロ 一行飛ばしのセル...
-
【Excel】数式をそのまま他のシ...
-
Wiresharkのパケットの詳細のテ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelで行ごとコピー、同じ行を...
-
塗りつぶしの色をコピーするには
-
PDFの一部を切り取って別のシー...
-
C+vのvは英語で何の頭文字...
-
【エクセル】表の中の文字だけ...
-
Excel 3列毎のセルを別の表に抽...
-
VBAのテキストボックスに文字列...
-
セルに値がある行のみを抽出す...
-
WORDのグレー括弧って?
-
セルから一部だけを抜き出して...
-
コピーされたセルの文字が途中...
-
EXCEL 1つ飛ばしのセル参照
-
エクセルでコピーしたものをコ...
-
Word(Offce365)の不思議な現...
-
数式による空白を無視して最終...
-
コピー&貼り付けの仕方を教え...
-
マイナスの場合「xxxx-」...
-
空白行を無視してコピーするマ...
-
【Excel】数式をそのまま他のシ...
-
エクセルでマクロにてセル色と...
おすすめ情報