作者a5170040 (Piggy)
看板Visual_Basic
标题[VBA ] 计算选取档案的列数和行数
时间Sun Aug 9 22:47:20 2009
各位vb的版友们你们好
小弟是vba的新手
之前都是再写c/c++
想请问vb或vba有没有可以计算档案的行数跟列数的指令
因为我想要先算出有几行几列再去配置阵列大小
我的档案大概长成这样
Date 2882 2881 2888 2892 . . .
2008/08/08 58.32 32.58 57.21 23.56 . . .
.
.
.
大约有1000列11行
但是档案拿到并不知道有几列几行
最後要把这个档案摆进一个大矩阵
以下是我用c++可以跑出来的主要读档程式码
char filename[50];
cout<<" 请输入档案路径和名称 : ";cin.getline(filename,50);
int i,j;
char word,word2;
ifstream ifile(filename,ios::in);
while(!ifile.eof()){
ifile.get(word);
if(word == '\n') nrow++;
}
ifile.close();
ifstream ifile1(filename,ios::in);
while(word2!='\n'){
ifile1.get(word2);
if(word2 == '\t') ncol++;
}
ifile1.close();
nrow=nrow+1;
ncol=ncol+1;
ifstream ifile2(filename,ios::in);
//二维动态记忆体配置
data=(double**)malloc(nrow*sizeof(*data));
for(int i=0;i<nrow;i++) *(data+i)=(double*)malloc((ncol+1)*sizeof(double));
for(i=0;i<nrow;i++)
for(j=0;j<ncol;j++) ifile2>>data[i][j];
ifile2.close();
VBA的回圈指令我已经会改了
阵列存放我也会了
只是不太晓得在vba要怎麽计算行列数
这个问题应该很简单
请不要鞭我@@
题外话:
还有就是用如果设计出一个介面
有办法让使用者输入档名
然後再由程式读取档名吗?
--
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 203.67.196.10
1F:→ a5170040:阿...我好像会读有几笔资料了...但是有几行还不会@@ 08/09 22:54
2F:→ a5170040:Dim nrow As Integer 08/09 22:57
3F:→ a5170040:nrow=0 08/09 22:57
4F:→ a5170040:While Not EOF(1) 08/09 22:57
5F:→ a5170040: nrow=nrow+1 08/09 22:58
6F:→ a5170040:Wend 08/09 22:58
7F:→ Catbert:ThisWorkbook.Worksheets(1).UsedRange.Columns.Count 08/10 00:54
8F:→ Catbert:ThisWorkbook.Worksheets(1).UsedRange.Rows.Count 08/10 00:54
9F:→ a5170040:楼上的方法我有试了一下...但是好像还是要开启那个档案 08/11 07:55
10F:→ a5170040:我的意思是想在一个新的工作表直接叫出那个档案 08/11 07:56
11F:→ a5170040:那个档案我可以自动算出行列数 08/11 07:56
12F:推 okanyway:我用ADO把档案当成DB读取资料,不用开启档案。 08/13 21:01
13F:→ okanyway:再利用SQL的方式做资料处理,习惯後还蛮好用的。 08/13 21:02
14F:→ okanyway:原PO既然会写C++这方面应该难不倒 08/13 21:03
15F:→ a5170040:哈!楼上方法不错耶!我try一下!谢谢! 08/15 14:20