Excel VBA質問箱 IV

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

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


3212 / 13644 ツリー ←次へ | 前へ→

【63502】削除した行を別シートへ移動したい みかん 09/11/13(金) 13:23 質問[未読]
【63505】Re:削除した行を別シートへ移動したい 超初心者 09/11/13(金) 16:30 発言[未読]
【63549】Re:削除した行を別シートへ移動したい ななし 09/11/17(火) 11:45 発言[未読]
【63551】Re:削除した行を別シートへ移動したい 独覚 09/11/17(火) 12:24 発言[未読]

【63502】削除した行を別シートへ移動したい
質問  みかん  - 09/11/13(金) 13:23 -

引用なし
パスワード
   はじめまして、いつもみなさんの質問→回答を参考に色々を勉強させて頂いてます。
今日は初めて質問させていただきますが、初心者な為わかりずらい質問の仕方しか出来ないですが・・・・
どうかご理解頂きご回答して頂ければと思います。
宜しくお願い致します。

まず質問は、
年賀状印刷の住所録を作成しました。

名簿マスターというシートに、
A  B   C   D   E  ・・・・・
番号 氏名 フリガナ 会社名 部署名 ・・・・・
こういった形でデータが登録されてます。200件程あります。

ここでVBAで新規登録・削除・変更が可能なコンボボックスを作成しました。

その中の削除が以下の通りです。


  Private Sub CommandButton8_Click() '削除
  
  Dim 選択行 As Integer
  Dim 参照範囲行 As Integer
  Dim 参照番号 As Variant
  Dim 参照元 As Variant
  Dim 応答 As Variant
     
    If TextBox17 = "" Then
    
      Label16.Caption = "削除する氏名を検索してください。 "
            
      TextBox1.SetFocus
  
    Else
  
      応答 = MsgBox("データを削除します。よろしいですか?", _
      vbOKCancel, "データの削除")
      If 応答 = vbOK Then
      
      Range("A1").Activate
              
      ActiveSheet.Unprotect
      
      Label17.Caption = "削除中です。"
      DoEvents
      
      Label16.Caption = ""
      
        参照番号 = TextBox17.Value
        
        For 参照範囲行 = 3 To 1000
        参照元 = Cells(参照範囲行, 1).Text
          
          If 参照元 = 参照番号 Then
            選択行 = 参照範囲行
          End If
          
        Next 参照範囲行
        
        If 選択行 <> 0 Then
          Cells(選択行, 2).Value = ""  '氏名
          Cells(選択行, 3).Value = ""  'フリガナ
          Cells(選択行, 4).Value = "" '敬称
          Cells(選択行, 5).Value = ""  '分類1
          Cells(選択行, 6).Value = ""  '分類2
          Cells(選択行, 7).Value = ""  '会社名
          Cells(選択行, 8).Value = ""  '部署名1
          Cells(選択行, 9).Value = ""  '部署名2
          Cells(選択行, 10).Value = ""  '役職名
          Cells(選択行, 11).Value = "" '郵便番号1
          Cells(選択行, 12).Value = "" 'Eメール
          Cells(選択行, 13).Value = "" '住所1
          Cells(選択行, 14).Value = "" '住所2
          Cells(選択行, 15).Value = "" '電話番号
          Cells(選択行, 16).Value = "" 'ファックス
          Cells(選択行, 17).Value = "" '携帯電話
          Cells(選択行, 20).Value = "" '住所1'
          Cells(選択行, 21).Value = "" '住所2'
                   
          ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios _
          :=True
         
        Label17.Caption = "削除完了です。"
        
          TextBox1.Text = "" '氏名
          TextBox4.Text = ""  'フリガナ
          ComboBox1.Text = "" '敬称
          ComboBox2.Text = ""  '分類1
          ComboBox3.Text = ""  '分類2
          TextBox6.Text = ""  '会社名
          TextBox7.Text = ""  '部署名1
          TextBox8.Text = ""  '部署名2
          TextBox9.Text = ""  '役職名
          TextBox10.Text = "" '郵便番号
          TextBox18.Text = "" 'Eメール
          TextBox12.Text = "" '住所1
          TextBox13.Text = "" '住所2
          TextBox14.Text = "" '電話番号
          TextBox15.Text = "" 'ファックス
          TextBox16.Text = "" '携帯電話
         
        Label16.Caption = "[次へ]ボタンで次の行へ移ります。"
        
        End If
          
        If 応答 = vbCancel Then
           Exit Sub
           
        End If
      
      End If
      
    End If
  
  End Sub

このシステムですと、
削除をしたものが完全にデータ内から消えてしまいます。
これを削除シートを作成し、そちらに移行し保管したいのですが可能でしょうか?
ちなみにこの数式は退社なさった先輩が作成していかれたものなので、
私には意味がチンプンカンプンです。。。。

このデータは何人かの上司が確認し、その後でソノデータから私が印刷をかけます。
ですので、あとで私が見ても削除したものがなんなのかがわかる様
別シートに移行したいのです。

初心者で説明不足とは思いますが、
何卒宜しくお願い致します。

【63505】Re:削除した行を別シートへ移動したい
発言  超初心者  - 09/11/13(金) 16:30 -

引用なし
パスワード
   ▼みかん さん:
> いつもみなさんの質問→回答を参考に色々を勉強させて頂いてます。
見ているのであれば、ご存知のことと思いますが、
「まる投げ」の質問ではないですよね?

> ちなみにこの数式は退社なさった先輩が作成していかれたものなので、
> 私には意味がチンプンカンプンです。。。。
このような状態で、コードを提示しても、
やっぱりチンプンカンプンなだけではないでしょうか?

それとも「数式」とあるのでコードではなく、セルに何か
数式でも設定されているのでしょうか?
そうであった場合、それらは示されていませんが、
その「数式」が原因(らしく)動きません、
のような「後出し」は起こりえませんか?


とりあえず、

> Cells(選択行, 2).Value = ""  '氏名
> 〜
> Cells(選択行, 21).Value = "" '住所2'
ここでクリア処理しています。
この処理の前に転記処理を入れると良いです。

セルの値は
Cells(選択行,〇).Value
にて取得できます。
新規登録の際に同じようにしてセルに値を入れているはずなので、
入れるセルを他のシート(削除シート)に指定してあげると良いです。


他にもいくつかコード内で疑問に思う点もありますが、
システム全体が見えないので、システムの他の処理で
解決されているものと想像しておきます^^;;

【63549】Re:削除した行を別シートへ移動したい
発言  ななし  - 09/11/17(火) 11:45 -

引用なし
パスワード
   マルチポストはやめましょう!
http://www.excel.studio-kazu.jp/kw/20091111154351.html?t=000117
http://www.excel.studio-kazu.jp/kw/20091112112240.html?t=154723

【63551】Re:削除した行を別シートへ移動したい
発言  独覚  - 09/11/17(火) 12:24 -

引用なし
パスワード
   こちらの掲示板およびEXCELの学校ともマルチポストは容認されていますよ。

もっともこちらの掲示板は
>別のサイト(掲示板)にまったく同じ目的の投稿をすることを、一般に「マルチポスト」といいます。
>当質問箱では、マルチポストは原則認めています。
>つまり、ほかのサイトで質問したことをこのサイトで質問してもかまわないということです。

>しかし、もしマルチポストをするのなら、可能な限り「○○にも同じ質問を出しました」ということを宣言してください。
>そして、仮に他のサイトで解決したのなら、ここにも必ずその顛末を書いてください。
>質問しっぱなし、というのはモラルに反します。
>「解決したからいいや」というのではありません。

>また、マルチポストを明示的に禁止しているサイトとのマルチポストをしてはいけません。
ということですが。

もっともマルチポストの質問に対して答えるかどうかは回答者の考え次第ですが。
(掲示板のルールを守ろうとしない質問者に対しては見方が厳しくなる可能性も高いですしね)

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