我有一个MonthView的UserForm,当我点击指定范围的单元格时成功打开,这个SO线程给了我基本的脚本.它的功能,但似乎并没有把UserForm放在我期望的地方.
以下是当我单击范围内的任何单元格时打开UserForm的当前脚本(我已放置在特定工作表中)B3:C2000:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set oRange = Range("B3:C2000")
If Not Intersect(Target, oRange) Is Nothing Then
frmCalendar.Show
frmCalendar.Top = ActiveCell.Offset(0, 0).Top
frmCalendar.Left = ActiveCell.Offset(0, 1).Left
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
问题1:我将UserForm StartUpPosition属性设置为0 - Manual- 这是正确的吗?
问题2:当我单击指定范围内的任何单元格时,在打开工作簿后第一次,UserForm始终在屏幕的最左上角打开.为什么?
问题3:当我单击指定范围内的任何单元格时,对于第一个单元格之后的任何单击,UserForm将相对于上一个处于活动状态的单元格打开,而不是我刚刚单击的单元格.如何让它相对于刚刚单击的单元格打开,而不是相对于之前的活动单元格?
问题4:为什么它似乎与UserForm的底部对齐而不是顶部?
执行以下步骤后:
1 - 单击单元格C15
2 - UserForm打开
3 - 关闭用户窗体
4 - 单击单元格16
5 - 用户窗体打开
这就是我所看到的:
编辑:这是在实施J. Garth的解决方案(并将Offset属性更改为(0,2))后的结果:
interval在使用数学创建相对日期时,是否总是需要在MySQL中使用该函数?
我Date()-Weekday(Date())在MS-Access 2010中使用并curdate() - dayofweek(curdate())在MySQL中尝试过.我得到了一些不起眼的数字,在搜索后发现这个StackOver答案可以完成我想要的.
在阅读了这篇支持文章后,我想确保我理解这一点 - 任何时候我想用日期函数做简单的数学运算,我必须使用区间函数并声明我想要使用的单位时间?
如果我不使用区间函数,我得到的数字是否有用curdate() - dayofweek(curdate())?
我以前从未使用interval过,而我只是习惯于将日期格式和数字格式视为同一个格式的MS产品.寻找一些澄清.
我知道您可以使用 INDEX/MATCH 来执行此操作,但是 VLOOKUP 无法执行此操作是否存在合乎逻辑或特定的原因?
也许只有微软知道,但它似乎很简单,如果它可以做到,它就会做到。
编辑:为了澄清,请注意我正在解释的差异的以下公式。
=VLOOKUP(A1,A:C,3,false) - 有效
=VLOOKUP(C1,C:A,3,false) - 无效
我想要一个VBA循环函数,它将删除任何名称为"d2s_*"的表中的所有记录.
我找到了删除所有记录的代码:
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM NameOfTable"
DoCmd.SetWarnings True
Run Code Online (Sandbox Code Playgroud)
我还找到了一个循环来调用数据库中的每个表:
Dim T As TableDef
For Each T In CurrentDb.TableDefs
Debug.Print T.Name
Next T
Run Code Online (Sandbox Code Playgroud)
所以我想要做的就是结合它们:
Dim T As TableDef
For Each T In CurrentDb.TableDefs
DoCmd.SetWarnings False
DoCmd.RunSQL "DELETE * FROM NameOfTable"
DoCmd.SetWarnings True
Next T
Run Code Online (Sandbox Code Playgroud)
但据我了解,SQL查询必须引用特定的表名.有没有办法使这个相对于任何以名称"d2s_"开头的表?
A 列是供应商名称,B 列是他们的付款条件。
正如您所看到的,两个字段的单元格具有不同数量的字符。
我想连接这两个字段,但我希望两者之间的空格量有所不同(以匹配我指定的总单元格字符长度),因此所有单元格的最终连接长度相同。
具体来说,最长的串联是 14 个字符,因此我想在其他串联中添加额外的空格,以便所有单元格的净串联长度为 14 个字符。
F 列是我正在寻找的结果的示例