過去ログ

                                Page     303
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫   
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
 ▼1490と1448の合体^^  す〜 02/11/5(火) 15:25
   ┣Re:1490と1448の合体^^  つん 02/11/6(水) 13:17
   ┃  ┗Re:1490と1448の合体^^  す〜 02/11/6(水) 18:44
   ┗Re:1490と1448の合体^^  ピンク 02/11/6(水) 15:05
      ┗Re:1490と1448の合体^^  す〜 02/11/7(木) 14:58

 ───────────────────────────────────────
 ■題名 : 1490と1448の合体^^
 ■名前 : す〜 <kaz2000@izu.co.jp>
 ■日付 : 02/11/5(火) 15:25
 -------------------------------------------------------------------------
   さて、皆様のおかげでここまでこれましたが、やはり素人の私ではどうにもならなくなりました。。
下記の記述まできましたが、たしかに両方とも(1490番と1448番)機能してますが
私の説明及び理解不足のため目的が達成できませんでした。(すみません)
何がしたかったかというと、CommandButton3を押したときにTextBox4.ValueとTextBox5.Valueの数字(実際は1から27)のF行(Columns(6)のことですかね)
単価(数字が記入されているセル)をSelectしたかったのですが、シート名(1)はできました。^^がシート名(2)をみるとSelectしたセルがシート(1)のままになってしまっています。
お時間のある方がいましたら宜しくお願い致します。


Private Sub CommandButton3_Click()

  On Error Resume Next
  Set r1 = ActiveSheet.Columns(6).SpecialCells(xlCellTypeConstants, xlNumbers)
  On Error GoTo 0
  If Not r1 Is Nothing Then
    r1.Select
  End If
  
    Dim strSheet() As String
    Dim i As Long
    Dim k As Long
    Dim a As Long
    Dim b As Long
 
    a = TextBox4.Value
    b = TextBox5.Value
    k = 0
 
    For i = a To b
      ReDim Preserve strSheet(k)
      strSheet(k) = i
      k = k + 1
    Next i
 
    ActiveWorkbook.Worksheets(strSheet).Select
 
    Erase strSheet
End Sub
 ───────────────────────────────────────  ■題名 : Re:1490と1448の合体^^  ■名前 : つん <honey@sweetparty.ne.jp>  ■日付 : 02/11/6(水) 13:17  -------------------------------------------------------------------------
   す〜 さん、こんにちは

>何がしたかったかというと、CommandButton3を押したときにTextBox4.ValueとTextBox5.Valueの数字(実際は1から27)のF行(Columns(6)のことですかね)
>単価(数字が記入されているセル)をSelectしたかったのですが、シート名(1)はできました。^^がシート名(2)をみるとSelectしたセルがシート(1)のままになっ

ええと、それは、複数シートで、該当するセルを順番にセレクトしていくってことですか?
す〜さんの、コードでは、まずアクティブシートの、F列のセルをセレクトしてから、テキストボックスで指定した任意の複数のシートをセレクトしてますよね?
最初のアクティブシートが、指定したシートの一番目なら、最初にセレクトしたセルがアクティブになってますが、その他は、順次セレクトしてやらないとダメですよね?

されたい処理がいまいちイメージ出来ないのですが・・・セレクトしていったセルに対して、あとどういう処理をされたいのでしょうか?
そういうことも明記されると、回答もつくかと思います。

>シート名(2)をみるとSelectしたセルがシート(1)のまま
ところで、これの意味がいまいちわからん(@_@)・・・察し悪すぎ?

それと、す〜さんのコードでは、変数の宣言が途中に入ってますよね?
変数の宣言は普通、プロシージャの先頭にするのが一般的なんじゃないかな?
これは私が「そうじゃないかな?」と思っているだけかも知れませんが。
 ───────────────────────────────────────  ■題名 : Re:1490と1448の合体^^  ■名前 : す〜  ■日付 : 02/11/6(水) 18:44  -------------------------------------------------------------------------
   遅くなりました。
説明不足ですみません<(__ __)>
複数シート(aからb)のf列の数字(単価)のみのセルをセレクトしたかったのです^^
そのあとにセレクトしたセルに*Textbox.valueとして一括で倍率を変更したかったのです。
複数シートで、該当するセルを順番にセレクトしたかったのです^^
 ───────────────────────────────────────  ■題名 : Re:1490と1448の合体^^  ■名前 : ピンク  ■日付 : 02/11/6(水) 15:05  -------------------------------------------------------------------------
   こんにちは

>【1448】
>見積書の単価のみを一括で変換したいのですが、・・・・

【1448】からの推測ですが指定したシートのF列の単価を変換したいのではと。。
二割増しに変換してみました。

Private Sub CommandButton3_Click()
    Dim i As Long
    Dim a As Long
    Dim b As Long
    Dim r1 As Range

    a = TextBox4.Value
    b = TextBox5.Value
    k = 0
    
    For i = a To b
      With Worksheets(i)
        On Error Resume Next
        Set r1 = .Columns(6).SpecialCells(xlCellTypeConstants, xlNumbers)
        On Error GoTo 0
      End With
      If Not r1 Is Nothing Then
        For Each c In r1
          'F列の単価の二割り増し
          c.Value = c.Value * 1.2
        Next c
      End If
    Next i
End Sub

こんな事じゃなかったのかな?
ハズしていたら捨ててください。
 ───────────────────────────────────────  ■題名 : Re:1490と1448の合体^^  ■名前 : す〜 <kaz2000@izu.co.jp>  ■日付 : 02/11/7(木) 14:58  -------------------------------------------------------------------------
   大変お世話になりました。
無事完成いたしました^^
協力してくださった皆様誠に有難う御座いました。
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━    通常モードに戻る  ┃  INDEX  ┃  ≪前へ  │  次へ≫    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━                                 Page 303