advanced help
per page, with , order by , clip by
Results of 1 - 1 of about 2818 for 入力規則 (0.005 sec.)
[[20070206165757]]
#score: 4284
@digest: 09d7ba729c22e2d723666e2a91ebb3fd
@id: 28507
@mdate: 2007-02-07T10:25:52Z
@size: 2599
@type: text/plain
#keywords: 券種 (25238), 力範 (13621), 外デ (9482), 左列 (8977), 上行 (8068), akikun (6721), 種名 (6660), 列th (6235), 囲. (5165), 名一 (5076), 右列 (4609), 覧") (4275), 列_ (3920), トas (3188), ト= (3087), 囲= (3076), ト. (3051), 囲as (2761), ルin (2678), 転用 (2640), 列as (2273), 象セ (2104), 例外 (2088), 下行 (1823), リム (1763), 行_ (1735), 行as (1698), chk (1490), スリ (1470), target (1463), 行範 (1254), 行= (1199)
入力規則の例外データを元データに追加するマクロで入力範囲をふやすことができますか。』(akikun)
お世話になります。入力規則で例外データを入力したら、元のデータに追加するVBAを 本に載っていたのを転用して作ったシートを職場で使っているのですが、入力範囲を 現在のD列に加えてL列も増やしたいのですが(行範囲はD列と同じですが)可能でしょうか。 尚、元のデータは名前をつけて、参照範囲を自動拡張する=INDIRECT("Sheet1!$A2:$A"&COUNTA(Sheet1$A:$A))にしています。 下が使っているコードですが、初心者なのでよくわかりません。よろしくお願いします。 Private Sub Worksheet_Change(ByVal Target As Range) Dim 入力範囲 As Range Dim 上行 As Long, 下行 As Long Dim 左列 As Integer, 右列 As Integer Dim シート As Worksheet Dim 対象セル As Range Set シート = Sheets("Sheet1") Set 入力範囲 = Range("D6:D36") 上行 = 入力範囲.Cells(1).Row 下行 = 上行 + 入力範囲.Rows.Count - 1 左列 = 入力範囲.Cells(, 1).Column 右列 = 左列 + 入力範囲.Columns.Count - 1 If Target.Row < 上行 _ Or Target.Row > 下行 _ Or Target.Column < 左列 _ Or Target.Column > 右列 Then Exit Sub If Target.Cells(1, 1) = "" Then Exit Sub For Each 対象セル In シート.Range("券種名一覧") If Target.Cells(1, 1).Value = _ 対象セル.Value Then Exit Sub End If Next With シート.Range("券種名一覧").End(xlDown) .Resize(, 2).Copy .Offset(1) .Offset(1).Value = Target.Value End If End With End Sub ---- Excel2000以上に対応。 Private Sub Worksheet_Change(ByVal Target As Range) Dim 入力範囲 As Range Dim シート As Worksheet Dim chk As Long Set シート = Sheets("Sheet1") Set 入力範囲 = Range("D6:D36,L6:L36") If Intersect(Target, 入力範囲) Is Nothing Then Exit Sub chk = WorksheetFunction.CountIf(シート.Range("券種名一覧"), Target.Cells(1).Value) If chk > 0 Then Exit Sub With シート.Range("券種名一覧").End(xlDown) .Resize(, 2).Copy .Offset(1) .Offset(1).Value = Target.Value End With Set 入力範囲 = Nothing Set シート = Nothing End Sub (みやほりん)(-_∂)b ---- みやほりんさん、ありがとうございました。 なかなか回答がつかなかったので、できないものだと思っていました。 元のマクロは入力範囲を四隅のセルを変数にして調べているようなので別の範囲を入れるにはどうしたもの かと思い悩んでおりました。 さらにスリムなコードになってびっくりしました。動作も問題ありません。 感謝です!ありがとうございました。(akikun) ...
https://www.excel.studio-kazu.jp/wiki/kazuwiki/200702/20070206165757.txt - [detail] - similar
PREV NEXT
Powered by Hyper Estraier 1.4.13, with 97059 documents and 608315 words.

訪問者:カウンタValid HTML 4.01 Transitional