我一直在关注FormulaR1C1作为一个函数,这究竟是如何工作的?我理解整个互联网上所说的第1排第1列,但人们如何才能真正发挥作用?使用FormulaR1C1的最终结果是什么?
也可以将其更改为从工作表中的特定点开始,还是始终为R1C1?那么它可能是FormulaR2C3吗?
好的,对于那些知道Excel VBA主人的人来说,我有一个公司的下拉菜单,由另一个选项卡上的列表填充.三列,公司,工作号和部件号.
我要做的是,当创建一个作业时,我需要一个文件夹来创建所述公司,然后根据所述部件号创建一个子文件夹.所以,如果沿着这条路走下去,它会是这样的:
__CODE__
现在,如果存在公司名称或部件号,则不创建或覆盖旧的名称.转到下一步.因此,如果两个文件夹都不存在,则如果一个或两个不存在则按要求创建.
这有意义吗?
如果有人可以帮助我了解它的工作原理以及如何使其工作,我们将不胜感激.再次感谢.
另一个问题,如果不是太多,有没有办法让它在Mac和PC上运行相同?
我有一个总是命名相同的csv文件,名为SO2PO.csv.它将数据导入到名为"打开订单"的工作簿中的名为PO Data的excell工作表中.我需要找到一种方法将所有数据从SO2PO.csv导入Open Order.xlsm表PO数据.
我知道这是可能的,但是怎么样?有人能指出我正确的方向吗?
或者有没有办法让它可以导入任何放入特定文件夹的.csv文件?
代码已更新,以引用以下更改.
这个日志系统为Excel创建了一个名为Log.txt的外部文档,它将在log.txt文件中创建一个如下所示的行:
11:27:20 AM Matthew Ridge从ss改为N $ 55
这不会告诉您是否有人在工作表中输入了新的代码行,但如果代码需要答案,它将告诉您答案所在的单元格.下面的代码适用于Mac和PC系统的组合.如果人们发现它没有请说.
这段代码是在这里的人和其他形式的帮助下创建的,所以我不能单独拥有该文件,但我可以拥有这个概念.所以感谢那些帮助过的人,没有这个,我认为现在不会有一个可行的Excel日志系统;)
顺便说一下,在有人吓坏了并询问这段代码在哪里之前,对于普通/新的最终用户来说这并不明显.您需要转到Developer选项卡打开它,单击Visual Basic,当新窗口打开时,查找Microsoft Excel Object; 在该文件夹下应该是您的工作簿.您可以将其放在ThisWorkbook下或任何工作表内,方法是双击您希望代码所在的工作表.
在右侧面板上打开工作表后,您将看到Option Explicit,如果不这样做,最好通过确保选中Require Variable Declaration来激活它.这可以再次在Visual Basic窗口中找到,并遵循以下路径:
工具 - > 选项 - > 编辑器.
如果它被检查,那么你不用担心,如果没有,那么你检查它.Option Explicit对你的代码来说是一件好事,它迫使你声明变量,这是一个好的做法.
验证完成后,您可以复制下面的代码,将其粘贴到工作簿中,或根据您的需要粘贴到特定的工作表中.
Option Explicit
Dim PreviousValue
Private Sub Worksheet_Change(ByVal Target As Range)
Dim sLogFileName As String, nFileNum As Long, sLogMessage As String
sLogFileName = ThisWorkbook.Path & Application.PathSeparator & "Log.txt"
On Error Resume Next ' Turn on error handling
If Target.Value <> PreviousValue Then
' Check if …
Run Code Online (Sandbox Code Playgroud) 我现在以这种方式设置我的工作簿,在工作簿被硬编码到Set命令的地方,我想知道是否有这样做的方法所以我可以把它放在流畅的地方?因此,无论此代码放在何处(在另一个工作簿中),代码都将适应它的新环境.
这有意义吗?
以下是我现在正在使用的内容,我想要做的是ActiveWorkbook
替代使用或类似的东西.因为这将设置在代码的开头而不是中间.
Set wbOOR = Application.Workbooks("Open Order Report.xlsm")
Sub SelectAllReleventText()
Do While Range(“A1”).Offset(1, 6) <> Empty
Rows(ActiveCell.Row).Select
ActiveCell.Offset(1, 0).Select
Loop
End Sub
Run Code Online (Sandbox Code Playgroud)
这是我的剧本,我被告知它没有做到它的意思,这是我的预期,因为这是我的第一次尝试.我想出一个未定义错误的变量.我以为我定义了变量,但我猜它对Excel VBA来说不够具体.
这就是我想要做的.
提前致谢.只是一个抬头,我在我的VBA中使用选项明确,因为有人告诉我这是"做事的正确方法"......
有没有办法说错误1004出现,显示消息"消息"和如果错误9,显示消息"消息2"而不是通用的非描述符极客说话消息为最终用户?
我已经获得此代码用于测试,并验证进入的电子邮件地址是否有效.我知道这是有效的,但在圣诞节期间所有的礼物再次取消了价格标签.
在我的情况下,指令已被删除.我正在接受我在这个脚本中看到的"MX"告诉脚本使用MX验证数据库...我只是替换或添加它旁边的"spamhaus.org"以使其工作?还是不止于此?
我不是在Windows机器上作为我的服务器所以我不需要担心checkdnsrr不工作.
另外,这个脚本有更好的版本吗?我很好奇,因为毫无疑问,这部分PHP编码对我来说是新的.
提前致谢.
// take a given email address and split it into the username and domain.
list($userName, $mailDomain) = split("@", $email);
if (checkdnsrr($mailDomain, "MX")) {
// this is a valid email domain!
}
else {
// this email domain doesn't exist! bad dog! no biscuit!
}
Run Code Online (Sandbox Code Playgroud) 是否有通用操作系统变体?我希望这段代码可以在 Mac 和 PC 上运行,但这似乎只能在 PC 上运行。
strFile = Application.GetOpenFilename("Text Files (.csv),.csv", , "Please selec text file...")
Run Code Online (Sandbox Code Playgroud) excel ×9
vba ×8
excel-vba ×6
events ×1
excel-2010 ×1
logging ×1
macos ×1
php ×1
spam ×1
verification ×1