小编Col*_*Nye的帖子

测试VBA中是否存在范围

我在excel ss中有一个动态定义的命名范围,它根据开始日期和结束日期从表中获取数据

=OFFSET(Time!$A$1,IFERROR(MATCH(Date_Range_Start,AllDates,0)-1,MATCH(Date_Range_Start,AllDates)),1,MATCH(Date_Range_End,AllDates)-IFERROR(MATCH(Date_Range_Start,AllDates,0)-1,MATCH(Date_Range_Start,AllDates)),4)
Run Code Online (Sandbox Code Playgroud)

但是如果日期范围在表中没有数据,则范围不存在(或者某些东西,idk).如何在VBA中编写代码以测试此范围是否存在?

我尝试过类似的东西

If Not Range("DateRangeData") Is Nothing Then
Run Code Online (Sandbox Code Playgroud)

但我得到"运行时错误1004,对象'_Global'的方法'范围'失败了."

excel vba range offset

10
推荐指数
2
解决办法
4万
查看次数

C++动态内存

问题是:在这个函数结束时,"tasks [taskCount]"元素的成员,如名称,截止日期等,确实是传递给这个函数的,但是在返回到这个函数的调用者之后,所有这些值变为垃圾,但taskcount除外,它不是动态的.此函数在类"Tasklist"的范围内定义

void addTask(char name[],char course[],char dueDate[]){
    taskCount++;
    Task task(taskCount, name, course, dueDate);
    tasks[taskCount] = task;
}
Run Code Online (Sandbox Code Playgroud)

以下是"任务"类的简要定义:

class Task
{
private:
    int number;
    char* name;
    char* dueDate;
    char* course;
public:
    Task(){
        name = new char[TEXT_SIZE + 1];
        dueDate = new char[TEXT_SIZE + 1];
        course = new char[TEXT_SIZE + 1];
        saveText = new char[(TEXT_SIZE * 3) + 1];
    };

    Task(int num, char n[], char c[], char d[]){
        number = num;
        name = new char[strlen(n) + 1];
        dueDate = new char[strlen(d) …
Run Code Online (Sandbox Code Playgroud)

c++ memory pointers dynamic

2
推荐指数
3
解决办法
473
查看次数

标签 统计

c++ ×1

dynamic ×1

excel ×1

memory ×1

offset ×1

pointers ×1

range ×1

vba ×1