簡體   English   中英

如何根據輸入數字更改單元格值

[英]How to change cell value based on input number

我想根據該單元格中輸入的數字用字符縮寫填充單元格。

例如,我創建了以下圖像,其中L 列應填充 DM、AG、IW、WSW、CW。 為此,我使用了從 1 到 5 的數值(DM=1、AG=2、IW=3、WSW=4、CW=5)。 我已經所需范圍

為此,我已經在同一張表中輸入了這些值( AR6:AW17 ),如下所示。 在此處輸入圖像描述

試過我使用以下代碼:

Private Sub Worksheet_Change(ByVal Target As Range)

   If Intersect(Target, Range("L:L")) Is Nothing Then Exit Sub
    Application.ScreenUpdating = False
    Dim foundVal As Range
    Set foundVal = Range("AR5:AV5").Find(Target, LookIn:=xlValues, lookat:=xlWhole)
    If Not foundVal Is Nothing Then
        Target = foundVal.Offset(1, 0)
        
    End If
    Application.ScreenUpdating = True
     
End Sub

問題

我的問題是如何擴展它以將值放入

L列為AR6:AV6

M列作為AR7:AW7

P列作為AR8:AV8

Q列作為AR14:AU14

T列為AR15:AV15

W列為AR17:AU17

更新

請添加列QTW以供更多考慮。 等等,好嗎?

在工作表更改中調整大小和偏移

  • 調整常量部分中的值。

編碼

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    
    Const ColRangesList As String = "L,M,N,P"
    Const RowRangesList As String = "AR5:AV5,AR6:AW6,AR7:AS7;AT8:AX8"
    Const RowOffset As Long = 1
    Const ColOffset As Long = 0
    
    If Target.Cells.CountLarge = 1 Then
        Dim ColRanges() As String: ColRanges = Split(ColRangesList, ",")
        Dim RowRanges() As String: RowRanges = Split(RowRangesList, ",")
        Dim crg As Range, rrg As Range, cel As Range
        Dim n As Long
        For n = 0 To UBound(ColRanges)
            Set crg = Columns(ColRanges(n))
            Set rrg = Range(RowRanges(n))
            If Not Intersect(Target, crg) Is Nothing Then
                Set cel = rrg.Find(Target.Value, rrg.Cells(rrg.Cells.Count), _
                    LookIn:=xlFormulas, LookAt:=xlWhole)
                If Not cel Is Nothing Then
                    Application.ScreenUpdating = False
                    Application.EnableEvents = False
                    Target.Value = cel.Offset(RowOffset, ColOffset).Value
                    Application.EnableEvents = True
                    Application.ScreenUpdating = True
                    Exit For
                End If
            End If
        Next n
    End If

End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM