作者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