代码第一次工作,但不是第二次

时间:2016-01-17 23:10:36

标签: excel vba

这段代码第一次起作用,因为当它再次激活时,它会尝试对函数求和,而不是该函数的值。

例如:在第一次尝试时,用户在J" & lrTest - 1上输入100并且G6 = 0.然后它将是=sum (0, 100),等于100.但在第二次尝试时,它& #39;试着总结一下这个功能,并且不会继续。

If cmbcategoria.Text = "Casa" Then
    Range ("G6").Formula = "=sum ("G6", J" & lrTest - 1 &")"
End If

我能做些什么来解决它?

Ps:我想你不知道完整的代码,但如果需要,我可以发布它。

This is how my workbook looks by now

1 个答案:

答案 0 :(得分:0)

这将起作用=)

set.seed(1L);
NR1 <- 10000L; NC1 <- 300L; NR2 <- 1000L; NC2 <- 300L; probNA1 <- 0.5; probNA2 <- 0.1;
df1 <- data.frame(date=as.integer(format(sort(sample(seq(as.Date('2004-01-01'),by=1L,len=NR1*5L),NR1)),'%Y%m%d')));
df1[paste0('X',seq_len(NC1))] <- matrix(sample(c(NA,100:200),NR1*NC1,T,c(probNA1,rep((1-probNA1)/101,101L))),NR1);
df2 <- data.frame(date=sample(df1$date,NR2));
df2[paste0('X',seq_len(NC2))] <- matrix(sample(c(NA,100:200),NR2*NC2,T,c(probNA2,rep((1-probNA2)/101,101L))),NR2);

identical(`42`(df1,df2),bgoldst(df1,df2));
## [1] TRUE
microbenchmark(`42`(df1,df2),bgoldst(df1,df2));
## Unit: milliseconds
##               expr       min        lq      mean    median        uq       max neval
##     `42`(df1, df2) 149.61503 194.66606 216.16916 231.25129 233.68079 277.24701   100
##  bgoldst(df1, df2)  29.17145  31.32318  37.85904  32.15154  33.24013  75.47765   100