【问题标题】:how to select the top of a column in Excel如何在Excel中选择列的顶部
【发布时间】:2015-01-11 01:46:03
【问题描述】:

我有一个电子表格,记录了合唱团排练的音乐作品的日期。 A栏列出作品和C、D栏等日期。我在与工作和日期相对应的单元格中放置了一个数字 1。例如

   A          B        C      D       E        
1                   05 Jan  12 Jan  19 Jan
2 Song 1                1
3 Song 2                1       1       1
4 Song 3                        1       1

我对一首歌曲的排练次数进行了简单的总计,但我想自动将歌曲最后一次排练的日期复制到 B 列中,即歌曲 2“12 Jan”的日期。该电子表格有许多日期列和 200 多首歌曲。

当从单元格 E3 返回数字 1 时,以下宏适用于歌曲 1 和 2,但不适用于歌曲 3

键盘快捷键:Ctrl+a

ActiveCell.Select
Selection.End(xlToLeft).Select
Selection.End(xlUp).Select
Selection.Copy
Range("L2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

Range("L13").Select

End Sub

如何修改它以适用于每首歌曲?非常感谢您的建议。

【问题讨论】:

    标签: excel vba


    【解决方案1】:

    这是一个选项:

    Sub Test2()
    
        Dim RngFind As Range
        Dim x As Integer
        Dim y As Integer
    
        'Set a range, either hard-code it in like I did or use a named range
        Set RngFind = Sheets(1).Range("C2:E4")
    
        'iterate through each row and column and capy date in column of last cell with a value
        'It takes the date from the top row and the same column.  You can use "1" or "X" or something else
        'in the range for tracking when the song was rehearsed
        For y = RngFind.Row To (RngFind.Row + RngFind.Rows.Count)
            For x = RngFind.Column To (RngFind.Column + RngFind.Columns.Count)
             If Sheets(1).Cells(y, x).Value <> "" Then Sheets(1).Cells(y, "B").Value = Sheets(1).Cells(1, x).Value
            Next x
        Next y
    
    End Sub
    

    【讨论】:

      【解决方案2】:

      看起来歌曲 2 的最后一次排练是在 1 月 19 日,而不是 1 月 12 日。您还说要将日期放在 B 列中,但这不是您的代码所做的。无论如何,如果你想要最后一次排练的数据在 col B,但是这个公式在 B2 中

      =INDEX(C$1:E$1,1,MATCH(2,C2:E2,TRUE))
      

      并填写您拥有的歌曲数量。此外,根据您拥有的日期数调整 E 参考。

      当您的所有数据均为 1 时尝试匹配 2 会为您提供列表中的最后一个“1”。然后您可以将该位置输入 INDEX 函数以从第 1 行获取该日期。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-10-25
        • 1970-01-01
        • 2019-05-25
        • 1970-01-01
        • 1970-01-01
        • 2010-10-18
        相关资源
        最近更新 更多