Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


61897 / 76732 ←次へ | 前へ→

【19446】Re:初歩的な質問で申し訳ありません
回答  Hirofumi  - 04/11/3(水) 15:37 -

引用なし
パスワード
   UserFormで作るとこんな様
コマンドボタンとトグルボタンの2通り書いて置きます

Option Explicit

'ソート範囲
Private rngScope As Range
'CommandButtonの場合の状態記憶変数
Private blnSwitch As Boolean

Private Sub CommandButton1_Click()

  DataSort blnSwitch
  blnSwitch = Not blnSwitch
  
End Sub

Private Sub ToggleButton1_Click()

  DataSort ToggleButton1.Value
  
End Sub

Private Sub UserForm_Initialize()

  'ソート範囲を取得
  Set rngScope = ActiveSheet.Cells(1, "A").CurrentRegion
  
  'CommandButtonの場合の表示
  blnSwitch = Not blnSwitch
  With CommandButton1
    .Caption = "Ascending"
  End With
  
  'ToggleButton1の場合の表示
  With ToggleButton1
    .Caption = "Ascending"
  End With
  
End Sub

Private Sub UserForm_Terminate()

  'ソート範囲を破棄
  Set rngScope = Nothing

End Sub

Private Sub DataSort(blnOrder As Boolean)

  Dim lngOrder As Long
  
  'CommandButtonの場合の表示
  With CommandButton1
    If blnOrder Then
      .Caption = "Descending"
    Else
      .Caption = "Ascending"
    End If
  End With
  
  lngOrder = 2 + CLng(blnOrder)
  With rngScope
    .Sort Key1:=.Cells(1, 1), Order1:=lngOrder, _
        Header:=xlYes, OrderCustom:=1, _
        MatchCase:=False, Orientation:=xlTopToBottom, _
        SortMethod:=xlStroke
  End With
  
End Sub

1 hits

【19406】初歩的な質問で申し訳ありません iruka 04/10/31(日) 18:35 質問
【19407】Re:初歩的な質問で申し訳ありません IROC 04/10/31(日) 18:45 回答
【19408】Re:初歩的な質問で申し訳ありません iruka 04/10/31(日) 19:10 発言
【19411】Re:初歩的な質問で申し訳ありません IROC 04/11/1(月) 8:48 回答
【19441】Re:初歩的な質問で申し訳ありません iruka 04/11/3(水) 11:31 お礼
【19446】Re:初歩的な質問で申し訳ありません Hirofumi 04/11/3(水) 15:37 回答

61897 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free