
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで、条件をつけて人数...
-
エクセルのセルで整数のみ選択...
-
エクセルの範囲指定について
-
エクセルの一覧からカードを作...
-
EXCELでコード別の数量・金額を...
-
重複しないデータ抽出方法<Exc...
-
AdvancedFilterを使って値のみ...
-
重複の削除について
-
半角英数で「¥」を入力したい...
-
シフトキーを押しての文字入力...
-
フォルダ名を並び替えても必ず...
-
半角の引用符 “ ” の打ち方
-
エクセルで空白を無視して一番...
-
キーボードで英数字の半角と全...
-
Yを逆さにした「スターデルタ結...
-
・(中点)を半角で入力したい
-
なぜか全角カタカナ入力になっ...
-
半角で漢字を??
-
伊........人偏が無い,読み教...
-
「“」と「”」について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルのセルで整数のみ選択...
-
エクセルで、条件をつけて人数...
-
エクセル 表の人数を計算したい...
-
エクセルの一覧からカードを作...
-
エクセルで複数行に渡ったセル...
-
エクセルで一次線形補間する方法
-
AdvancedFilterを使って値のみ...
-
エクセル集計ひと月を4週に分...
-
excel VBA コピーした行を、指...
-
とびとびの大量セルを選択した...
-
エクセルで参加者一覧表から参...
-
エクセルマクロでの消費税計算...
-
EXCELでコード別の数量・金額を...
-
A3やB4のA,Bって何かの略ですか?
-
エクセルの範囲指定について
-
エクセルVBAで値だけをコピーペ...
-
エクセルで入力の数値を次々変...
-
エクセルでテキストからコピペ...
-
エクセルのマクロの組み方に詳...
-
5円単位の切り上げ関数
おすすめ情報