鉴于像499,73433,2348这样的数字,我可以使用什么VBA来舍入到最接近的5或10?或任意数字?
5点:
499 -> 500
2348 -> 2350
7343 -> 7345
Run Code Online (Sandbox Code Playgroud)
到10:
499 -> 500
2348 -> 2350
7343 -> 7340
Run Code Online (Sandbox Code Playgroud)
等等
我正在使用Excel,其中某些字段允许用户输入,其他单元格将受到保护.我使用过工具保护表,但是在执行此操作后,我无法更改VBA脚本中的值.我需要限制工作表以停止用户输入,同时允许VBA代码根据某些计算更改单元格值.
如何以编程方式从Excel VBA项目中删除(已知)密码?
要明确:我想从VBA项目中删除密码,而不是工作簿或任何工作表.
如何在Excel中获取电子表格数据以从VBA中重新计算自己,而不仅仅是改变单元格值?
当我在VBA编辑器中按F5时,我总是想运行我的"Sub Skynet()"程序.有没有办法为此过程分配键盘快捷方式.
在Excel VBA(2003)中,我注意到模块或ThisWorkbook中没有任何参数的任何Public或Friend Sub方法都将显示为可由用户运行的宏.即,当用户转到工具 - >宏 - >宏...(或Alt + F8)时,该方法将显示在可以运行的列表中.
为了理智(组织,维护等),我需要将代码分成模块.我希望找到一种非hacky方法来隐藏用户的某些方法,但仍允许其他代码模块可见.请注意,所有代码都包含在同一个应用程序中,因此不会调用任何外部代码.
我当前的解决方法是使用返回布尔值而不是Sub s的Function,并忽略返回值.eJames建议在Sub中使用可选参数,也可以从宏列表中隐藏该方法.
然而,这些都不是正确的,所以任何关于如何构建一个非平凡的Excel VBA应用程序的建议将非常感激.
我需要简单地浏览Excel电子表格中的所有单元格并检查单元格中的值.单元格可能包含文本,数字或空白.我不太熟悉/舒适地使用'Range'的概念.因此,非常感谢任何样本代码.(我确实试图谷歌它,但我发现的代码片段并不完全符合我的需要)
谢谢.
当我使用range.copy和range.paste创建图形后,它会选择粘贴范围,然后当我在几行后创建图形时,它会将选择作为图形中的第一个系列.我可以删除这个系列,但有更优雅的方法吗?我试过了
Set selection = nothing
Run Code Online (Sandbox Code Playgroud)
但它不会让我选择.我也试过了selection.clear,但是刚刚清除了所选择的最后一个单元格,并且仍然在剧情中添加了一个额外的系列.
我在Python中编写了很多代码,因此我非常习惯Python的语法,对象结构等.
什么是最好的在线指南或资源网站,为我提供基础知识,以及在VBA与Python中具有相同功能/特性的比较或查找指南.
例如,我在将Python中的简单List与VBA代码等同起来时遇到了麻烦.我也遇到数据结构问题,例如字典等等.
有哪些资源或教程可以为我提供将python功能移植到VBA的指南,或者只是从强大的OOP语言背景中调整VBA语法?
我有一个规范代码来测试这样
it('login test', () => {
const fixture = TestBed.createComponent(component);
fixture.detectChanges();
let authService = fixture.debugElement.injector.get(Auth);
spyOn(authService, 'login').and.returnValue('');
const elements = fixture.nativeElement;
fixture.componentInstance.login();
expect(authService.login).toHaveBeenCalled();
});
Run Code Online (Sandbox Code Playgroud)
和这样的实现代码
login() {
this.auth.login(this.username, this.password).subscribe(() => {
}
});
}
Run Code Online (Sandbox Code Playgroud)
它给出了错误:
this.auth.login(...).subscribe不是一个函数
为什么会发生这种错误?