Excel VBA質問箱 IV

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

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


66395 / 76734 ←次へ | 前へ→

【14903】Re:オートフィルター後のナンバーの読み取り(宛名印刷について)
回答  しん  - 04/6/9(水) 19:55 -

引用なし
パスワード
   ▼YN61 さん:
こんばんは、YN61さんの疑問点をよく読み直してわかりました。オートフィルタとは元データシートに検索をかけたとき検索されたセル行だけが明示的に表示され、それ以外のセルデータは表示はされないが、元データシートには残っているということなんですね。そのような場合は私が先に回答したVBAコードではセル範囲の自動取得が元データシートのセル範囲と同じくなってしまいYN61さんの処理したい結果とはとは違ってしまいます。
それで、検索して合致したデータのセル範囲のみを自動取得して、検索結果を単に「宛名印刷」シートのE1セルを始点にして検索データの出力をしたいということであれば、下記のVBAコードではどうでしょうか?

Sub 葉書宛名差込印刷()
  'Dim 番号 As Long
  'Dim 最初行 As Long
  'Dim 最終行 As Long
  Dim myLastRow As Long  '最終行を格納する変数
  Dim myLastCol As Integer '最終列を格納する変数
  Dim i As Long      '行を格納する変数
  Dim j As Integer     '列を格納する変数
  Dim iRow As Long     '検索された行
  Dim strSearch As String '検索文字列
  Dim strNo As String   '顧客No.
  Dim strName As String  '顧客名前
  Dim strAddress As String '顧客住所
  
  '------ワークシート「宛名印刷」の1行目以下を消去する-----------------
  Sheets("宛名印刷").Select
  Worksheets("宛名印刷").Range("1:64000").Rows.Delete
  '------ワークシート「顧客リスト」のセル範囲を取得する----------------
  Worksheets("顧客リスト").Activate
  Call RowColumn(myLastRow, myLastCol)
  '最終行 = myLastRow
  '最初行 = 2
  '------顧客住所の検索と検索結果のワークシート「宛名印刷」への出力----
  strSearch = InputBox("絞り込みたい顧客の住所を入力して下さい!")
  iRow = 0
  For i = 2 To myLastRow
    If strSearch = Worksheets("顧客リスト").Cells(i, 3) Then
      strNo = Worksheets("顧客リスト").Cells(i, 1)
      strName = Worksheets("顧客リスト").Cells(i, 2)
      strAddress = Worksheets("顧客リスト").Cells(i, 3)
      iRow = iRow + 1
      Worksheets("宛名印刷").Cells(iRow, 5) = strNo
      Worksheets("宛名印刷").Cells(iRow, 6) = strName
      Worksheets("宛名印刷").Cells(iRow, 7) = strAddress
    Else
    End If
  Next i
  '-----ワークシート「宛名印刷」の内容印刷-----------------------------
  Worksheets("宛名印刷").Activate
  Worksheets("宛名印刷").PrintOut
End Sub

Sub RowColumn(myLastRow, myLastCol)
  With ActiveSheet.UsedRange
   myLastRow = .Rows(.Rows.Count).Row
   myLastCol = .Columns(.Columns.Count).Column
  End With
End Sub

3 hits

【14771】オートフィルター後のナンバーの読み取り(宛名印刷について) YN61 04/6/7(月) 19:37 質問
【14790】Re:オートフィルター後のナンバーの読み取... kein 04/6/8(火) 0:38 回答
【14881】Re:オートフィルター後のナンバーの読み取... YN61 04/6/9(水) 6:20 お礼
【14791】Re:オートフィルター後のナンバーの読み取... しん 04/6/8(火) 0:40 回答
【14882】Re:オートフィルター後のナンバーの読み取... YN61 04/6/9(水) 6:46 お礼
【14885】Re:オートフィルター後のナンバーの読み取... しん 04/6/9(水) 11:33 回答
【14903】Re:オートフィルター後のナンバーの読み取... しん 04/6/9(水) 19:55 回答
【14906】Re:オートフィルター後のナンバーの読み取... IROC 04/6/9(水) 22:29 回答
【14909】Re:オートフィルター後のナンバーの読み取... しん 04/6/9(水) 23:08 発言
【14941】Re:オートフィルター後のナンバーの読み取... YN61 04/6/10(木) 22:53 お礼

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