首页 文章

MACRO并根据另一张纸上的两个随机信息片段在一张纸上填充单元格

提问于
浏览
-1

我在酒店管家管理 . 我需要一种更好的方法来跟踪每天清洁房间的进度 .

我在excel电子表格中创建了一个酒店的视觉描述,如果房间(我的电子表格中的一个单元格)中有一个“3”,则单元格变为红色,底部的另一个图形将计算房间 . 这样,如果我有35个房间需要在下午3点之前清理,我可以看到他们在酒店对面的位置,并在页面底部显示它们的具体数量 . 下午2点签到数字为“2”的情况也是如此,除非它变为蓝色 .

现在对于棘手的部分...我需要整个图表自动填充,以便每个单元格值由不同电子表格上的两个不同信息和该电子表格上的2个不同列确定 . 第1列中的信息是随机的,需要找到,但第2列中的信息直接位于第1列中的对应部分,并与其对应部分直接相关 .

我需要1]位于另一个电子表格的第1列中的房间号码,以自动对应于我的电子表格中的正确单元格(或房间号码) . 2]在另一个电子表格的第2列中,它列出了他们签入的时间(下午14:00,下午15:00) . 我需要第2列中的时间与第1列中的房间号相对应,因为它会自动填充我的图表 .

因此,如果房间305在列表中(并非所有房间都在),并且在其旁边的列中显示14:00(下午2点)到达,我需要在我的电子表格(305室)中填写正确的单元格以填充数字2.如果是305房间到达下午3点,它将需要自动填充数字3.我知道MACRO将被使用,但我无法找出根据房间号码更改我的单元格的公式 . 在第1栏中随机列出,并在第2栏中列出相应的签到时间 . 请帮助!!

1 回答

  • 0

    首先,您需要将房间 Map 中单元格的位置映射到房间号,然后在“房间时间”表中查找该房间号,然后将结帐时间返回到 Map 中的单元格 .

    这是一些示例代码 . 从房间“ Map ”中的每个单元格调用此函数:

    Function WhatTime(rngMap as Range, rngTime As Range)
        Application.Volatile
    
        Dim addr, v, rv
    
        addr = Application.Caller.Address(False, False)
        'find the room number...
        v = Application.VLookup(addr, rngMap, 2, False)
    
        If Not IsError(v) Then
            'got the room number: look up the time
            v = Application.VLookup(v, rngTimes, 2, False)
            If Not IsError(v) Then
                rv = IIf(Len(v) > 0, Hour(v) - 12, "")
            Else
                rv = "" 'room not in time listing
            End If
        Else
            rv = "Room?" 'cell address not in cell<->room map
        End If
    
        WhatTime = rv
    
    End Function
    

    设置示例:房间 Map 中的所有单元格都有公式 =WhatTIme($F$7:$G$11, $F$14,$G$18)

    enter image description here

    Map 中的单元格使用条件格式进行着色 .

相关问题