Excelノート 22 -1 挿入・削除・追加・消去

HOME  検索  索引  もくじ  関数目次ージへ        次ページへ

タイトル欄のアドレスは、エクセルファンクラブの該当する頁へのリンク先です。
詳しい事は、こちらの
お願いをご覧になってください。

1  BBという値の下にCCを挿入
2  セル範囲の名前を一度に消去する方法
3  セル内の任意の文字だけを一気に削除したい
4  セル内の改行を簡単に元に戻す(改行を削除する)方法は?
5  文字列の後ろに付いてる空白のみを削除するには?
6  選択した範囲以外を全てクリアするには?
7  セルをダブルクリックした時、任意のフォルダ内の画像を挿入するには?
8  複数の図形や、シート上のコントロールを一気に削除するには?
9  シート内の全てのデータに、空白行を1行入れるには?
10 セルの名前を削除するには
11 セル内のスペースを削除するには
12 選択範囲の行を1行おきに間引き(削除)するには
13 頭についた「'」シングルコーテーションを削除するには?
14 選択範囲に、任意の行数分を挿入するには?

1 BBという値の下にCCを挿入
http://www.keep-on.com/~excelyou/2000lng1/200008/00080199.txt
  「行の自動挿入」 【編集ラウンジ】
B列の全てのBBの値が入ったセルの下に1行挿入してCCと入れます。
Sub test()
 Dim i As Long, lngLastR As Long
 Const strBB As String = "BB" '<-キーとなる文字に替えて下さい。
 Const strCC As String = "CC" '<-挿入したい文字に替えて下さい。
 Application.ScreenUpdating = False
 lngLastR = ActiveSheet.Range("B65536").End(xlUp).Row
 For i = lngLastR To 1 Step -1
  If Cells(i, 2).Value = strBB Then
   Rows(i + 1).Insert Shift:=xlDown
   Cells(i + 1, 2).Value = strCC
  End If
  Application.StatusBar = "只今の処理行番号は " & i & "/" & lngLastR
 Next i
 Application.StatusBar = False
 Application.ScreenUpdating = True
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
2 セル範囲の名前を一度に消去する方法
Sub TEST()
 Set nms = ActiveWorkbook.Names
 For r = 1 To nms.Count
  Names(1).Delete
 Next
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
3 セル内の任意の文字だけを一気に削除したい
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200101/01010181.txt
  「セル内の[ ]だけを一気に削除したい」 【編集ラウンジ】
http://www.keep-on.com/~excelyou/2000lng4/200010/00100073.txt
  「選択したセルの一部分だけを削除するには?」 【VBAラウンジ】
Excel97、Excel2000 共通
削除する範囲を選択し、(選択しない場合は、シート全体が対象になります)
【編集】、【置換】、【検索する文字列】に、[ を入れ、
置換後の文字列は空白のまま、【すべて置換】 ボタンをクリックします。
選択したセル内のスペースを、全角半角とも全て削除するコードです。
Sub スペース削除()
 Dim LastRow As Long, i As Long, j As Long, a As Range, b As Range
 Set a = Application.InputBox("左上のセルを選択して下さい", "セルの指定", Type:=8)
 Set b = Application.InputBox("右下のセルを選択して下さい", "セルの指定", Type:=8)
 For i = a.Row To b.Row
  For j = a.Column To b.Column
   Cells(i, j).Value = Application.WorksheetFunction.Substitute(Cells(i, j).Value, " ", "")
   Cells(i, j).Value = Application.WorksheetFunction.Substitute(Cells(i, j).Value, " ", "")
  Next
 Next
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
4 セル内の改行を簡単に元に戻す(改行を削除する)方法は?
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200103/01030040.txt
  「セル内の改行を簡単に元に戻す方法は?」 【編集ラウンジ】
シート内の全てのセル内の改行を削除します。
 Sub 改行削除()
  Cells.Replace What:=Chr(10), Replacement:="", LookAt:=xlPart, _
  SearchOrder:=xlByRows, MatchCase:=False
 End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
Excel97、Excel2000 共通
【編集】【置換】で、検索する文字列の欄で、Ctrl+j を押し、【全て置換え】をクリックします。
5 文字列の後ろに付いてる空白のみを削除するには?
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200103/01030042.txt
  「文字列の後ろに付いてる空白のみを削除するには?」 【編集ラウンジ】
選択範囲内の削除の場合
 Sub Test2()
  Dim c As Range
  For Each c In Selection
    c.Value = RTrim(c.Value)
  Next
 End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
入力範囲全体を削除する場合
 Sub Test3()
  Dim c As Range
  For Each c In ActiveSheet.UsedRange
    c.Value = RTrim(c.Value)
  Next
 End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
6 選択した範囲以外を全てクリアするには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200106/01060033.txt
  「選択範囲の逆転ってできますか?」 【VBAラウンジ】
クリアしたい範囲以外を選択してから実行します。
 Sub test()
  Dim buf As New Collection, target As Range, i As Long
  For Each target In Selection.Areas
   buf.Add Item:=target.Value
  Next
  Cells.Clear
  For Each target In Selection.Areas
   i = i + 1
   target.Value = buf(i)
  Next
 End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
7 セルをダブルクリックした時、任意のフォルダ内の画像を挿入するには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200107/01070273.txt
  「セルをクリックしたときに画像挿入画面が現れるようにしたい」 【VBAラウンジ】
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Application.Dialogs(xlDialogInsertPicture).Show
End Sub 
  このコードの使い方は、マクロの使い方(2)該当するシートのモジュールにあります。
8 複数の図形や、シート上のコントロールを一気に削除するには?
Excel97、Excel2000、Excel2002 共通
図形の場合
 1. 【ツール】【ユーザー設定】【ツールバー】の、【図形描画】にチェックを入れて、
   ツールバーを表示します。
 2. そのツールバーの中に、白抜きの矢印のアイコンがありますので、それをクリックして、
   削除したい図形の存在する範囲をドラッグして、全ての図形を選択します。
 3. その状態で、Deleteキーを押せば、一気に削除できます。   
シート上のコントロールの場合

 1. 【ツール】【ユーザー設定】【ツールバー】の、
   【コントロールツールボックス】と【図形描画】の2項目にチェックを入れて、ツールバーを表示します。
 2. 【コントロールツールボックス】のツールバーの、三角定規のアイコンをクリックしてデザインモードにします。
 3. 次に、【図形描画】のツールバーの中に、白抜きの矢印のアイコンがありますので、それをクリックして、
   削除したいコントロールの存在する範囲をドラッグして、全てのコントロールを選択します。
 4. その状態で、Deleteキーを押せば、一気に削除できます。 
9 シート内の全てのデータに、空白行を1行入れるには?
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200109/01090118.txt
  「既存データ行間全てに空白を入れるには?」 【VBAラウンジ】
Sub test()
 Dim i As Long
 Application.ScreenUpdating = False
 For i = ActiveSheet.UsedRange.Rows.Count To 2 Step -1
  Rows(i).Insert Shift:=xlDown
 Next
 Application.ScreenUpdating = True
 MsgBox "やっと、終了"
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
10 セルの名前を削除するには
Excel97、Excel2000、Excel2002 共通
【挿入】【名前】【定義】で、削除したい名前を選択して、【削除】します。  
削除したい名前のセル範囲を選択し、以下のコードを実行。 Excel2002 確認済
 Sub セルの名前消去()
  Selection.Name.Delete
 End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
11 セル内のスペースを削除するには
【編集】【置換】【検索する文字列】にスペースを入れ、【置換後の文字列】には何も入れずに、【置換】
選択範囲内のセルを処理します。
Sub 末尾のスペース削除()
 Dim c As Range
 '選択対象がセルでなければ、マクロを中止
 If Not TypeName(Selection) = "Range" Then Exit Sub
 For Each c In Selection
'選択したセル全てを処理
  c.Value = RTrim(c.Value)
 Next
End Sub
Sub 先頭のスペース削除()
 Dim c As Range
 If Not TypeName(Selection) = "Range" Then Exit Sub
 For Each c In Selection
  c.Value = LTrim(c.Value)
 Next
End Sub
Sub 先頭と末尾のスペース削除()
 Dim c As Range
 If Not TypeName(Selection) = "Range" Then Exit Sub
 For Each c In Selection
  c.Value = Trim(c.Value)
 Next
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
12 選択範囲の行を1行おきに間引き(削除)するには
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200101/01010076.txt 
 「選択範囲の行を1行おきに間引き(削除)するには」 【VBAラウンジ】
Sub test1()
 Dim rSelect As Range, buf, i As Long
 Application.ScreenUpdating = False
 Set rSelect = Selection
 ActiveSheet.Columns(1).Insert
'作業列挿入
 With rSelect.EntireRow
  ' 対象行にフラグセット(奇数行=1 偶数行(削除対象)=0)
  buf = .Columns(1).Value
  For i = 1 To UBound(buf)
   buf(i, 1) = i Mod 2
  Next
  .Columns(1).Value = buf
  ' ソート後に対象行の上半分を削除
  .Sort key1:=.Cells(1, 1), order1:=xlAscending, header:=xlNo
  .Resize(.Rows.Count \ 2).Delete shift:=xlShiftUp
 End With
 ActiveSheet.Columns(1).Delete
'作業列削除
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
13 頭についた「'」シングルコーテーションを削除するには?
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200012/00120012.txt
 「’」をはずすには? 【編集ラウンジ】 ? 【編集ラウンジ】
http://cgi.fuji.ne.jp/~fj2094/cgi-bin5/wwwlng.cgi?print+200110/01100040.txt 
 シングルクォーテーションのはずし方は? 【その他ラウンジ】
http://www.ae.wakwak.com/~efc21/cgi-bin/wwwlng.cgi?print+200109/01090242.txt 
 「'」シングルコーテーションを削除する方法は? 【VBAラウンジ】
http://cgi.fuji.ne.jp/~fj2094/cgi-bin1/wwwlng.cgi?print+200405/04050126.txt
 ' を一括で取るには? 【編集ラウンジ】
1. 他のセルに、1 と入力してコピー。
2. シングルコーテーションの付いた範囲を選択して、
  【編集】【形式を選択した貼り付け】【乗算】で、OK。
・どこかまったく使用したことがないセルを選択してコピー
・「'」を取りたいセルを全て範囲選択する
・メニューの[編集]→[形式を選択して貼り付け]で、[演算]の[加算]にチェックして[OK]
シングルコーテーションの付いた列を選択し、【データ】【区切位置】【完了】で数値に変換できます。
SHEET1に元データがあるとして、新規シートのA1に
=Sheet1!A1で必要分の範囲にコピー あとはそれを、値で貼り付ける。
選択範囲の「'」シングルコーテーションを一気に削除します
Sub test()
 With Selection
    .PasteSpecial Paste:=xlValues
  .Formula = .Value
 End With
End Sub
  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
14 選択範囲に、任意の行数分を挿入するには?
Sub miko_test()
 Dim H As Range, G As Integer
 Dim SGyou As Long, LGyou As Long, i As Long
 On Error Resume Next
 Set H = Application.InputBox("行挿入する範囲をドラッグしてください", Type:=8)
 If H Is Nothing Then Exit Sub             
'キャンセル処理
 SGyou = H.Row                       
'範囲内の最初の行
 LGyou = H.Rows(H.Rows.Count).Row          
'範囲内の最後の行
 G = Application.InputBox("何行づつ挿入しますか?", Default:=1, Type:=1)
 If G = False Then Exit Sub               
'キャンセル処理
 If G = 1 Then LGyou = LGyou + LGyou - SGyou   
'1行挿入の場合、最終処理行を調整
 For i = SGyou + 1 To LGyou * G Step G + 1    
'選択範囲の1行下から最後まで
  Rows(i & ":" & i + G - 1).Insert           
 '指定の行を挿入
 Next
End Sub

  このコードの使い方は、マクロの使い方(1)標準モジュールにあります。
15  
 
16  
 
17  
 
18  
 
19  
 
20  
 

HOME  検索  索引  もくじ  関数目次ージへ        次ページへ

このページのTOPへ

 

 

 

 

 

 

 

inserted by FC2 system