Dim zzループ用セル As Range 'Forループ用のRange型変数
Dim zz対象セル As Range '削除対象のセルの代入先のRange型変数
'指定セル範囲を全てループする
For Each zzループ用セル In Range("A2:A16")
'セルが空白なら削除対象とする
If zzループ用セル = "" Then
'対象セル変数が取得されているかで分岐
If zz対象セル Is Nothing Then
Set zz対象セル = zzループ用セル
Else
'取得されていればUnionメソッドを使用してセル範囲を追加
Set zz対象セル = Union(zz対象セル, zzループ用セル)
End If
Else: End If
Next zzループ用セル
'ループ終了後にセルが取得されているかを判定
If Not zz対象セル Is Nothing Then
'取得されていれば対象範囲を削除する
zz対象セル.EntireRow.Delete
'↓テーブル機能利用時はテーブルの列範囲内でなければエラーとなるので以下を利用する
'Intersect(zz対象セル.EntireRow, Range("A:D")).Delete
Set zz対象セル = Nothing
Else: End If
'ループ終了後にセルが取得されているかを判定
If Not zz対象セル Is Nothing Then
'取得されていれば対象範囲を削除する
zz対象セル.EntireRow.Delete
'↓テーブル機能利用時はテーブルの列範囲内でなければエラーとなるので以下を利用する
'Intersect(zz対象セル.EntireRow, Range("A:D")).Delete
Set zz対象セル = Nothing
Else: End If
Dim zzデータ範囲 As Range
Set zzデータ範囲 = Range("A1").CurrentRegion
zzデータ範囲.Resize(zzデータ範囲.Rows.Count - 1, zzデータ範囲.Columns.Count).Offset(1, 0).Select
Set zzデータ範囲 = Nothing
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Range("チェック範囲"), Target) Is Nothing Then
Cancel = True
If Target = "○" Then
Target.ClearContents
Else
Target = "○"
End If
Else: End If
End Sub
Dim WithEvents 作成 As MSForms.OptionButton
Sub 紐付け(作成コントロール As MSForms.OptionButton)
Set 作成 = 作成コントロール
End Sub
Private Sub 作成_Change()
If 作成.Value = True Then
Selection.Interior.Color = 作成.BackColor
Else: End If
End Sub
Dim 動的作成() As New Class1
Private Sub Worksheet_Activate()
Dim 取得用 As Shape, インデックス As Long
For Each 取得用 In ActiveSheet.Shapes
If 取得用.Name Like "*OptionButton*" Then
ReDim Preserve 動的作成(インデックス)
動的作成(インデックス).紐付け OLEObjects(取得用.Name).Object
インデックス = インデックス + 1
Else: End If
Next 取得用
End Sub
Private Sub Worksheet_Deactivate()
Erase 動的作成
End Sub
Private Sub CommandButton1_Click()
Selection.Interior.ColorIndex = 0
Erase 動的作成
End Sub
Private Sub 動的作成_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
動的作成.BackColor = RGB(0, 200, 0)
End Sub
’半角の存在確認
Dim 対象文字列 As String
対象文字列 = "ナンバー32"
If LenB(対象文字列) > LenB(StrConv(対象文字列, vbFromUnicode)) Then
Debug.Print "含まれています"
Else
Debug.Print "含まれていません"
End If