EXCEL2003を使っています。
以下のように列FGHが空白の行については列ABCを空白を挿入したいのですが数万行あり処理をVBAで自動化したいです。どなたかお力をお貸し下さい。お願いします。
A B C D E F G H
1 1 2 3 4 5 6 7 8
2 1 2 3 4 5 _ _ _
3 1 2 3 4 5 6 7 8
4 1 2 3 4 5 _ _ _
5 1 2 3 4 5 6 7 8
↓
A B C D E F G H
1 1 2 3 4 5 6 7 8
2 _ _ _ 1 2 3 4 5
3 1 2 3 4 5 6 7 8
4 _ _ _ 1 2 3 4 5
5 1 2 3 4 5 6 7 8
No.1ベストアンサー
- 回答日時:
▼VBAコードの登録方法
(1)Alt+F11でVBEを開き、挿入→標準モジュールを挿入
(2)最下のVBAコードを貼り付け
(3)右上の×またはAlt+F11でVBEを終了
▼使用方法
対象の範囲を選択(ご提示のデータではA1:H5をセル選択)した状態で
Alt+F8または表示→マクロから「右詰」を選択して実行してください
■VBAコード
Sub 右詰()
Dim i As Long
Dim j As Long
Dim word As String
Dim myRng As Variant
Dim otRng As Variant
Dim cnt As Long
Dim n As Integer
Application.ScreenUpdating = False
For i = 1 To Selection.Rows.Count
word = ""
myRng = Range(Selection.Cells(i, 1), Selection.Cells(i, Selection.Columns.Count))
For j = 1 To UBound(myRng, 2)
If Len(myRng(1, j)) > 0 Then
word = word & "\t" & myRng(1, j)
End If
Next j
otRng = Split(word, "\t")
cnt = Selection.Columns.Count
For j = UBound(otRng) To 1 Step -1
Selection.Cells(i, cnt) = otRng(j)
cnt = cnt - 1
Next j
If cnt > 0 Then
Range(Selection.Cells(i, 1), Selection.Cells(i, cnt)).ClearContents
End If
n = Int(i * 100 / Selection.Rows.Count)
If n Mod 2 = 0 Then
Application.StatusBar = n & "% 完了"
DoEvents
End If
Next i
Application.ScreenUpdating = True
Application.StatusBar = False
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) 【VBA】Excelで罫線を引きたい 3 2022/07/14 12:04
- Visual Basic(VBA) VBA 「,」・空白・カタカナ等の複数条件のマクロ 2 2023/08/23 11:57
- Visual Basic(VBA) EXCEL VBAでA列にある空白行より下の行すべてを削除する方法を教えてください。 3 2023/02/17 07:02
- Visual Basic(VBA) エクセルVBAについて 2 2023/01/31 16:21
- Excel(エクセル) データ入力規則リスト 空白を無視 3 2022/07/13 15:11
- Visual Basic(VBA) セルが空白だった時の処理 5 2022/09/01 07:07
- Visual Basic(VBA) セルに抜けた番号の代わりに空白を挿入する 4 2023/04/10 20:29
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Excel(エクセル) 列の複数ある空白セルを飛ばして、セルに並べて表示したい 3 2023/02/12 16:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、条件をつけて人数...
-
エクセルのセルで整数のみ選択...
-
5円単位の切り上げ関数
-
エクセルで複数行に渡ったセル...
-
アンケートの集計方法を教えて...
-
Excel2007での記入後の英語の小...
-
エクセルVBAで値だけをコピーペ...
-
AdvancedFilterを使って値のみ...
-
エクセル 表の人数を計算したい...
-
エクセルで1行ごとの数値の並...
-
半角の引用符 “ ” の打ち方
-
パソコンでダウンロードしたmp4...
-
エクセルで空白を無視して一番...
-
「“」と「”」について
-
半角で漢字を??
-
エクセルの挿入図形で文字が隠...
-
キーボードで英数字の半角と全...
-
キーボードの感度が良すぎて困...
-
パソコンで、「ヴ」を入力したいの...
-
フォルダ名を並び替えても必ず...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセルで整数のみ選択...
-
エクセルで、条件をつけて人数...
-
エクセルに詳しい方教えて下さ...
-
エクセルの一覧からカードを作...
-
エクセル 表の人数を計算したい...
-
エクセルで複数行に渡ったセル...
-
AdvancedFilterを使って値のみ...
-
エクセルの範囲指定について
-
excel VBA コピーした行を、指...
-
エクセルで一次線形補間する方法
-
エクセル集計ひと月を4週に分...
-
エクセルマクロでの消費税計算...
-
エクセルで参加者一覧表から参...
-
エクセルでテキストからコピペ...
-
5円単位の切り上げ関数
-
エクセルで住所一覧から都道府...
-
エクセルのデータをパワーポイ...
-
VBAマクロを使って給料明細を作...
-
エクセルVBAで値だけをコピーペ...
-
エクセル 複数列の検索、該当箇...
おすすめ情報