热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

具有基于日期的可变行输入的Excel宏-Excelmacrowithvariablerowinputbasedondate

Iamtryingtosetupamacrowhichforthesakeofargumentworkslikethis:Monitoringdailysight

I am trying to set up a macro which for the sake of argument works like this:
Monitoring daily sightings of specific birds. Column 'A' represents the days date with column 'B' and up representing different birds.
I have a button in each column with a keyboard shortcut for each button.
What I want is for the button when clicked to add 1 to the cell in the appropriate row for the day.
So on the 20th Jan, the button would add to one cell, and on the 21st, the cell below...

我试图建立一个宏,为了论证的作用,这样:监视特定鸟类的日常目击。列'A'表示列'B'的日期日期,向上表示不同的鸟类。我在每列中都有一个按钮,每个按钮都有一个键盘快捷键。我想要的是单击按钮时将按钮添加到当天相应行中的单元格。因此,在1月20日,按钮将添加到一个单元格,在21日,下面的单元格...

I've search for clues on this but am drawing a blank. Any ideas?

我已经在寻找这方面的线索,但我正在画一个空白。有任何想法吗?

1 个解决方案

#1


0  

I've written up a bit of code, this code assumes that Column A is dates in the format of "m/d/yyyy", Row 1 is a listing of the different birds you're traking via the sheet, and that you have Forms buttons on that same sheet with the name of the bird that matches what you have in Row 1 exactly. (e.g., C1 you have "Brown Wren", you then have a forms button that has "Brown Wren" as the text on it)

我写了一些代码,这段代码假设A列的格式是“m / d / yyyy”,第1行是你通过表单追踪的不同鸟类的列表,而你在同一张纸上有表单按钮,其名称与您在第1行中的名称完全匹配。 (例如,C1你有“Brown Wren”,然后你有一个表格按钮,上面有“Brown Wren”文字)

Option Explicit
Public ws As Worksheet

Private Sub AddBirdSighting(ByVal rng As Range)

    If rng Is Nothing Then
        Debug.Print "Invalid range"
        Exit Sub
    End If

    rng.Value = rng.Value + 1

End Sub

Private Function GetRange(ByVal Bird As String, ByVal Today As Date) As Range

    Dim c As Integer
    Dim r As Integer

    c = ws.Range("1:1").Find(Bird, LookIn:=xlValues).Column
    r = ws.Range("A:A").Find(Today, LookIn:=xlValues).Row

    Set GetRange = ws.Cells(r, c)

End Function

Public Sub CommandButtonClick()

    Set ws = ThisWorkbook.Sheets("Sheet1")

    Dim ctl As String
    Dim btn As String

    ctl = Application.Caller
    btn = ws.Buttons(ctl).Text

    AddBirdSighting GetRange(btn, Format(DateTime.Now, "m/d/yyyy"))

End Sub

Copy/paste this code into a module in VBA, and assign the CommandButtonClick procedure to all of the buttons. If you need any of this explained let me know and I'll go into more detail.

将此代码复制/粘贴到VBA中的模块中,并将CommandButtonClick过程分配给所有按钮。如果您需要任何解释,请告诉我,我会详细介绍。


推荐阅读
  • This article discusses the efficiency of using char str[] and char *str and whether there is any reason to prefer one over the other. It explains the difference between the two and provides an example to illustrate their usage. ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文主要解析了Open judge C16H问题中涉及到的Magical Balls的快速幂和逆元算法,并给出了问题的解析和解决方法。详细介绍了问题的背景和规则,并给出了相应的算法解析和实现步骤。通过本文的解析,读者可以更好地理解和解决Open judge C16H问题中的Magical Balls部分。 ... [详细]
  • Excel数据处理中的七个查询匹配函数详解
    本文介绍了Excel数据处理中的七个查询匹配函数,以vlookup函数为例进行了详细讲解。通过示例和语法解释,说明了vlookup函数的用法和参数的含义,帮助读者更好地理解和运用查询匹配函数进行数据处理。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 第四章高阶函数(参数传递、高阶函数、lambda表达式)(python进阶)的讲解和应用
    本文主要讲解了第四章高阶函数(参数传递、高阶函数、lambda表达式)的相关知识,包括函数参数传递机制和赋值机制、引用传递的概念和应用、默认参数的定义和使用等内容。同时介绍了高阶函数和lambda表达式的概念,并给出了一些实例代码进行演示。对于想要进一步提升python编程能力的读者来说,本文将是一个不错的学习资料。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了MyBioSource转甲状腺素蛋白定量检测ELISA试剂盒的应用方法及特点。ELISA法作为一项新技术在免疫诊断中的应用范围不断扩大,不仅适用于多种病原微生物引起的传染病、非传染病的免疫诊断,也可用于大/小分子抗原的定量检测。ELISA法具有灵敏、特异、简单、快速、稳定及易于自动化操作等特点,是一种早期诊断的良好方法,也可用于血清流行病学调查。MyBioSource转甲状腺素蛋白定量检测ELISA试剂盒使用方法包括对血清和血浆的操作要求。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文介绍了使用SRILM平滑Katz回退方法训练语言模型的步骤,包括测试文件的使用、模型训练过程以及困惑度的重新计算。平滑Katz回退方法通过将次数较少的N-gram组的概率减少,并将减少的概率分配给训练集中未出现的N-gram组。详细的条件概率计算过程可参考附录中的Excel表格。通过重新计算困惑度,可以评估训练得到的语言模型的质量。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 本文介绍了在MFC下利用C++和MFC的特性动态创建窗口的方法,包括继承现有的MFC类并加以改造、插入工具栏和状态栏对象的声明等。同时还提到了窗口销毁的处理方法。本文详细介绍了实现方法并给出了相关注意事项。 ... [详细]
author-avatar
书友51676198
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有