[[20250817160736]] 『データの切り取り、貼り付け、削除について』(mik) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) |

| 全文検索 | 過去ログ ]

 

『データの切り取り、貼り付け、削除について』(mik)

ETCのデータ明細(A2)を切り取って、B1に貼り付け、
空白になったA2行を上方向に削除
これをETCデータ売上の時に繰り返したいです。
たまにA7のように違うデータがあります。

よろしくお願い致します。

  A          B
1 ETCカード売上
2 チガサキカイガン チガサキカイガ
3 ETCカード売上
4 タチバナ タチバナ
5 ETCカード売上
6 イシバシ イシバシ
7 APPLE COM BILL
8 ETCカード売上
9 チガサキ チガサキ

< 使用 Excel:Excel2016、使用 OS:Windows11 >


 Option Explicit

 Sub test()
     Dim i As Long
     For i = Cells(Rows.Count, "A").End(xlUp).Row To 2 Step -1
         With Cells(i, "A")
             If .Offset(-1, 0) = "ETCカード売上" Then
                 .Offset(-1, 1) = .Value
                 .EntireRow.Delete
             End If
         End With
     Next
 End Sub
(あ) 2025/08/17(日) 18:26:05

 Sub test()
    Dim a, i&, n&
    With Range("a1", Range("a" & Rows.Count).End(xlUp)(2))
        a = .Value: ReDim b(1 To UBound(a, 1), 1 To 2)
        For i = 1 To UBound(a, 1) - 1
            If (a(i, 1) Like "ETC*売上") * (Not a(i + 1, 1) Like "*[!ヲ-゚ ]*") Then
                n = n + 1: b(n, 1) = a(i, 1): b(n, 2) = a(i + 1, 1)
            End If
        Next
        If n Then .Resize(, 2) = b
    End With
End Sub
(jindon) 2025/08/17(日) 18:36:19

あ様、jindon様、ありがとうございます。

簡単にできないかな?と思っておりましたが、
やはりVBAを使うのが早いですね!
ご丁寧にコーディングまでして頂きましてとっても助かりました。
ありがとうございました。
(mik) 2025/08/17(日) 18:58:22


 既に解決済みのようですが、念のため VBAを使わない方針の案です。
 簡単な式とオートフィルタで対応します。

 (ETCカード売上に相当するものだけを抽出する前提です。
  元データはそれなりに意味があるものでしょうから、そのまま残す前提です。)

 【シートレイアウト】
         A列                     B列                     E列     
 1行目                                                   ETCカード売上
 2       ETCカード売上        チガサキカイガン チガサキカイガ    
 3       チガサキカイガン チガサキカイガ                            
 4       ETCカード売上        タチバナ タチバナ             
 5       タチバナ タチバナ                                     
 6       ETCカード売上        イシバシ イシバシ             
 7       イシバシ イシバシ                                     
 8       APPLE COM BILL                                  
 9       ETCカード売上        チガサキ チガサキ             
 10      チガサキ チガサキ                                     

 【手順】
 ・E1セルに "ETCカード売上"をセットします。
 ・式設定
     B2セル  =IF(A2=$E$1,A3,"")
     以下のセルにコピーペイスト
 ・オートフィルタで A列が"ETCカード売上"のものだけ抽出
 ・他のセル範囲にA:B列をコピーして値貼り付け
 とすればよいかと。

 【結果】
 別シートに転記する前提です。
   A列                 B列
 1 ETCカード売上    チガサキカイガン チガサキカイガ
 2 ETCカード売上    タチバナ タチバナ
 3 ETCカード売上    イシバシ イシバシ
 4 ETCカード売上    チガサキ チガサキ

(xyz) 2025/08/18(月) 13:27:04


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.