當前位置:首頁 » 編程軟體 » exl編程

exl編程

發布時間: 2022-09-27 02:13:26

A. exl vba編程求助

Subdsk()
Application.ScreenUpdating=False
DimWBAsWorkbook
DimFileName,SheetName
DimCopyRange
DimSheetsCount

FileDir=InputBox("要合並的文件夾目錄")
FileType="xlsx"
FileName=Dir(FileDir&"/*."&FileType)

DoWhileFileName<>""
SetWB=GetObject(FileDir&"/"&FileName)
Fori=1To9
Forj=1To3
IfSheet1.Cells(i,j)=""Then
Sheet1.Cells(i,j)=WB.Sheets(1).Cells(i,j)
ElseIfIsNumeric(Sheet1.Cells(i,j))Then
Sheet1.Cells(i,j)=Sheet1.Cells(i,j)+WB.Sheets(1).Cells(i,j)
EndIf
IfSheet2.Cells(i,j)=""Then
Sheet2.Cells(i,j)=WB.Sheets(2).Cells(i,j)
ElseIfIsNumeric(Sheet2.Cells(i,j))Then
Sheet2.Cells(i,j)=Sheet2.Cells(i,j)+WB.Sheets(2).Cells(i,j)
EndIf
Nextj,i

WB.CloseFalse
FileName=Dir
Loop
EndSub

適用於你現在的9行3列數據

B. exl如何根據條件隱藏單元格

你這個問題啊,建議用VBA吧。

如果你的工作簿格式是.xls或.xlsx格式,必須另存為 啟用宏的工作簿.xlsm格式。

另外,在打開.xlsm格式的工作簿時,如果提示你啟用宏,必須點擊啟用。

方法:

第一步:按Alt+F11打開VBA編輯器。

第二步:在左側雙擊要編程的工作表。

第三步:在右側輸入或粘貼下邊這段程序。

然後關閉VBA編輯器即可。

Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Address(0, 0) = "N2" Then 'N2的值發生變更時

'根據不同值,指定不同行號

Dim Str$

Select Case Target.Value

Case 1

Str = "12:23"

Case 1.5, 2

Str = "15:23"

Case 2.5, 3

Str = "18:23"

Case 3.5, 4

Str = "21:23"

End Select

'隱藏指定的行號

If Str <> "" Then

Rows("1:" & Rows.Count).Hidden = False '顯示全表所有行

Rows(Str).Hidden = True '隱藏指定的行號

End If

End If

End Sub

C. 各位大俠,VB6.0能引進Exl中的數據進行編程不

你是啥意思哦,我的理解是導入Excel的數據表到資料庫里,然後就可以編程了吧!
其實我就用Access導入Excel的表格,用的是Access的自帶的功能。

方法如下:打開Access,文件—>獲取外部數據—>導入,然後按部就班做就行。注意,導入Excel的數據表的欄位最後與Access的欄位相同,免去了許多麻煩。
導入數據後,你想怎麼處理數據都行!

D. vc 如何操作 excel2003(注意一定是2003) 編程

1.製作應用軟體的時候,經常要把結果以報表的形式輸出,當前使用較為廣泛的當然是Excel表格,本文簡略介紹在VC++6.0中如何使用Excel2003的庫函數並對其進行編程。先創建一個對話框工程,命名為VCExcel。在對話框中添加一個按鈕,控制項ID為2.ID_RUNEXCEL(是不是很搞笑哇,不過沒關系,它照樣能實現強大的功能)。
再在該按鈕上添加消息BN_CLICKED,其消息映射函數為OnRunexcel(),下面工作就是要完成這個OnRunexcel()函數。在這里我們通過一個實例來說明VC是如何調用Excel2003的介面編程的。
3.要編程輸出一個如下表格。
格式如下:
1)表頭的字體為宋體,加粗,顏色為白色,底色為深藍,垂直水平居中對齊;
2)表中正文內容字體為宋體,顏色為深藍,底色為灰色,垂直水平居中對齊;
3)全部邊框,文本自動換行。
在BOOL CVCExcelApp::InitInstance()之中,int nResponse = dlg.DoModal()語句之後加入如下代碼:
if(CoInitialize(NULL)==0)//初始化COM庫
{
AfxMessageBox("初始化COM失敗!");
exit(1);
}
在return FALSE;語句之前加入:::CoUninitialize();//釋放COM庫。
4.為了能調用Excel的介面我們打開MFC ClassWizard->Automation->Add Class->From a type library,選擇[Excel的安裝路徑]/EXCEL.exe,然後把所有的類都添加進去,頭文件為excel.h,源文件為excel.cpp。當然,你也可以只把一些比較常用的類如_Application、Workbooks、_Workbook、Worksheets、_Worksheet、Range加進去,因為網上流傳的絕大部分教程都只添加這幾個類,這完全根據個人的需要。至少還要用到Interior類(設置底色),Font類(設置字體),而且這樣做又簡單又方便擴展功能,不管三七二十一全部弄進去吧!但這樣做會有一個問題,有可能產生類的名字沖突,例如本來你自己寫了一個類叫Font,當你全部添加時又再次加入了Font類,這樣就重復定義了,不過可以通過名字空間來解決這個問題。再在VCExcelDlg.cpp文件的頭部添加(如果系統已經自動添加就不要重復添加了):
#include "VCExcel.h"
#include "comdef.h"
這樣一來程序就可以自由調用EXCEL了,一切准備就緒。
5.下面先在CVCExcelDlg中添加如下成員變數,用來操控Excel應用程序、工作簿和單元格。
Range m_ExlRge;
_Worksheet m_ExlSheet;
Worksheets m_ExlSheets;
_Workbook m_ExlBook;
Workbooks m_ExlBooks;
_Application m_ExlApp;
我們利用載入Excel模板來生成要求的表格,在本工程Debug文件夾中建立一個Excel文件,命名為Template.xls。我們的OnRunexcel()代碼如下(詳見注釋):
void CVCExcelDlg::OnRunexcel()
{
// TODO: Add your control notification handler code here

//用m_ExlApp對象創建Excel2003進程

if(!m_ExlApp.CreateDispatch("Excel.Application",NULL))
{
AfxMessageBox("創建Excel服務失敗!");
return;
}

//設置為可見
m_ExlApp.SetVisible(TRUE);
///////////////////下面得到應用程序所在的路徑///////////////////
CString theAppPath,theAppName;
char Path[MAX_PATH];
GetMoleFileName(NULL,Path,MAX_PATH);//得到應用程序的全路徑
theAppPath=(CString)Path;
theAppName=AfxGetApp()->m_pszAppName;
theAppName+=".exe";
//把最後的文件名去掉
int length1,length2;
length1=theAppPath.GetLength();
length2=theAppName.GetLength();
theAppPath.Delete(length1-length2,length2);
////////////////////////////////////////////////////////////////
CString TempPath="";
TempPath=theAppPath+"Template.xls";//EXCEL模板的路徑
m_ExlBooks.AttachDispatch(m_ExlApp.GetWorkbooks(),TRUE);
m_ExlBook.AttachDispatch(m_ExlBooks.Add((_variant_t)TempPath),TRUE);//載入EXCEL模板
m_ExlSheets.AttachDispatch(m_ExlBook.GetSheets(),TRUE);//載入Sheet頁面
//添加新的Sheet頁面
m_ExlSheets.Add(vtMissing,vtMissing,_variant_t((long)1),vtMissing);
//刪除第二個Sheet頁面
m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)2)),TRUE);
m_ExlSheet.Delete();
//把第一個Sheet頁面的名字改變為TestSheet
m_ExlSheet.AttachDispatch(m_ExlSheets.GetItem(_variant_t((long)1)),TRUE);
m_ExlSheet.SetName("TestSheet");
///////合並第一行單元格A1至D1//////
//載入要合並的單元格 m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A1"),_variant_t("D1")),TRUE);
m_ExlRge.Merge(_variant_t((long)0));
////////設置表格內容////////
m_ExlRge.AttachDispatch(m_ExlSheet.GetCells(),TRUE);//載入所有單元格
m_ExlRge.SetItem(_variant_t((long)1),_variant_t((long)1),_variant_t("數學系研究生課程統計"));

m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)1),_variant_t("課程名"));
m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)2),_variant_t("課時"));
m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)3),_variant_t("難度"));
m_ExlRge.SetItem(_variant_t((long)2),_variant_t((long)4),_variant_t("教學方式"));
m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)1),_variant_t("泛函分析"));
m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)2),_variant_t("60"));
m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)3),_variant_t("普通"));
m_ExlRge.SetItem(_variant_t((long)3),_variant_t((long)4),_variant_t("老師講課"));

m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)1),_variant_t("微分流形"));
m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)2),_variant_t("40"));
m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)3),_variant_t("變態難"));
m_ExlRge.SetItem(_variant_t((long)4),_variant_t((long)4),_variant_t("自學"));
m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)1),_variant_t("二階橢圓型方程與方程組"));
m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)2),_variant_t("60"));
m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)3),_variant_t("很難"));
m_ExlRge.SetItem(_variant_t((long)5),_variant_t((long)4),_variant_t("討論"));
m_ExlRge.AttachDispatch(m_ExlSheet.GetUsedRange());//載入已使用的單元格
m_ExlRge.SetWrapText(_variant_t((long)1));//設置單元格內的文本為自動換行
//設置齊方式為水平垂直居中
//水平對齊:默認=1,居中=-4108,左=-4131,右=-4152
//垂直對齊:默認=2,居中=-4108,左=-4160,右=-4107
m_ExlRge.SetHorizontalAlignment(_variant_t((long)-4108));
m_ExlRge.SetVerticalAlignment(_variant_t((long)-4108));
///////設置整體的字體、字型大小及顏色//////
Font ft;
ft.AttachDispatch(m_ExlRge.GetFont());
ft.SetName(_variant_t("宋體"));//字體
ft.SetColorIndex(_variant_t((long)11));//字的顏色
ft.SetSize(_variant_t((long)12));//字型大小
///////////設置標題字體及顏色////////// m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A1"),_variant_t("D1")));
ft.AttachDispatch(m_ExlRge.GetFont());
ft.SetBold(_variant_t((long)1));//粗體
ft.SetSize(_variant_t((long)13));
ft.SetColorIndex(_variant_t((long)2));
CellFormat cf;
cf.AttachDispatch(m_ExlRge.GetCells());
//////////////設置底色/////////////////
Interior it;
it.AttachDispatch(m_ExlRge.GetInterior());
it.SetColorIndex(_variant_t((long)11));//標題底色
////表格內容的底色//// m_ExlRge.AttachDispatch(m_ExlSheet.GetRange(_variant_t("A2"),_variant_t("D5")));
it.AttachDispatch(m_ExlRge.GetInterior());
it.SetColorIndex(_variant_t((long)15));
//////////////為表格設置邊框/////////////
Range UnitRge;
CString CellName;
for(int i=1;i<=4;i++)
{
for(int j=1;j<=4;j++)
{
CellName.Format("%c%d",j+64,i);//單元格的名稱 UnitRge.AttachDispatch(m_ExlRge.GetRange(_variant_t(CellName),_variant_t(CellName)));//載入單元格
//LineStyle=線型 Weight=線寬 ColorIndex=線的顏色(-4105為自動) UnitRge.BorderAround(_variant_t((long)1),_variant_t((long)2),_variant_t((long)-4105),vtMissing);//設置邊框
}
}

//釋放對象(相當重要!)
m_ExlRge.ReleaseDispatch();
m_ExlSheet.ReleaseDispatch();
m_ExlSheets.ReleaseDispatch();
m_ExlBook.ReleaseDispatch();
m_ExlBooks.ReleaseDispatch();
//m_ExlApp一定要釋放,否則程序結束後還會有一個Excel進程駐留在內存中,而且程序重復運行的時候會出錯
m_ExlApp.ReleaseDispatch();
//退出程序 m_ExlApp.Quit();
}

E. exl已經用宏命令做好了一個窗口,想要做成一個類似「*.exe」的程序來運行

上述答案都行不通
還是我來解決這個問題吧
點擊「開始」-「運行」,輸入:「regedit」
進入注冊表編輯器,沿著如下路徑:
HKEY_CURRENT_USER\Software\Microsoft\Office\9.0\Excel將Options此機器碼刪除即可。
有碰到上述問題的朋友不防一試。

F. EXCEL別人發過來的編程打不開,顯示編譯錯誤子過程或函數未定義,求高手解答~~~

函數未定義,和exl的版本有關系或者要載入的插件沒載入
如果只是要用一個單元格引用另外個單元格的計算公式計算的話不用寫宏的。
假如表達式在A1,選中B1,插入-名稱-定義,上面輸入一個名稱,比如ABC,下面引用位置輸入公式=EVALUATE(A1),然後在B1輸入=ABC。

G. 在EXCEL中如何編寫程序

1、打開excel軟體,點擊左上角「文件」;

H. 請問用exl如何做出這種格式的小學生加減法豎式。見圖

這需要一點編程知識,在這上面也不好回答。

I. 求助EXL表格函數高手,我想實現下面的功能

函數無法實現
只有VB編程

J. 請教一個關於易語言編程的問題: 有一.exl電子表格文檔,表格內有三列內容,現如何實現第一列內容

我沒有學習易語言,但是我相信編程思想是一樣的。
我大致說一下編程思想,首先用程序打開excel文檔。
逐行讀取裡面的內容,第一列值添加到第一個下拉選擇框選項中,第二列值添加到第二個下拉選擇框選項中,第三列值添加到第三個下拉選擇框選項中,即可完成功能。

熱點內容
java資料庫工具類 發布:2024-03-29 16:31:15 瀏覽:387
安卓機哪裡看型號 發布:2024-03-29 15:59:40 瀏覽:281
cad解壓錯誤 發布:2024-03-29 15:01:45 瀏覽:79
存儲指令集 發布:2024-03-29 14:39:27 瀏覽:649
資料庫表刪除數據 發布:2024-03-29 14:39:26 瀏覽:367
出c語言整除 發布:2024-03-29 14:28:22 瀏覽:572
芬尼壓縮機 發布:2024-03-29 14:24:11 瀏覽:464
電腦數據實時上傳本地伺服器軟體 發布:2024-03-29 14:07:57 瀏覽:920
尋秦記源碼 發布:2024-03-29 13:56:17 瀏覽:496
linux的備份命令 發布:2024-03-29 13:41:22 瀏覽:383