虎虎漫画小说

繁体版 简体版
虎虎漫画小说 > > Excel_word_ppt_office使用技巧大全(最新超全完整版)最新章节 > 第 84 章

第 84 章 免费阅读

cel As Integer, CloseMode As Integer)

If Not TextBox1 = ID Then

ThisWorkbook.Saved = True

ThisWorkbook.Close

End If

SetWindowPos hWndForm, -2, 0&, 0&, 0&, 0&, 3

Application.EnableCancelKey = xlInterrupt

End Sub

如何用API获得当前登录用户

Option Explicit

Private Declare Function GetUserNcom Lib "advapi32.dll" Alias "GetUserNcomA" _

(ByVal lpBuffer As String, _

nSize As Long) As Long

Sub Get_User_Ncom()

Dim lpBuff As String * 25

Dim ret As Long, UserNcom As String

ret = GetUserNcom(lpBuff, 25)

UserNcom = Left(lpBuff, InStr(lpBuff, Chr(0)) - 1)

MsgBox UserNcom

End Sub

怎样才能实现在输入重复的数据时自动跳到重复处提示呢

方法1:在数据/有效xìng/自定义中输入此公式: =COUNTIF(A:A,A1)=1当输入相同号码时,会拒绝输入.

方法2:Private Sub Worksheet_Change(ByVal Target As Range)

On Error Rescom Next

If Target.Column = 1 Then

If Target.value <> "" Then

Set c = Sheet1.Range("A1:A" & Target.Offset(-1, 0).Row).Find(Target.value, LookIn:=xlvalue, Lookat:=xlWhole)

If Not c Is Nothing Then

MsgBox "该号码已有了"

c.Select

Target.value = ""

End If

End If

End If

End Sub

用公式表示当前单元格所在行的第一列的值

解答:cells(所在行行号,1).value或者用公式=INDIRECT("a"&ROW())

怎样将列号,转变为对应的字母

如:列号9,对应的字母应该是"I",列号27,对应的字母应该是"AA"。

解答:Function ColumnLetter(ColumnNumber As Integer) As String

If ColumnNumber < 1 Or ColumnNumber > 256 Then

MsgBox "Invalid Column Number"

Exit Function

ElseIf ColumnNumber > 26 Then

ColumnLetter = Chr(Int((ColumnNumber - 1) / 26) + 64) & _

Chr(((ColumnNumber - 1) Mod 26) + 65)

Else

ColumnLetter = Chr(ColumnNumber + 64)

End If

End Function

EXCEL能否按照单元格内文字的颜色排序

EXCEL能否按照单元格内文字的颜色排序,或把相同颜色的行集中到一起显示。

解答:方法一,1.以VBA判斷colorindex,加輔助欄實現;2.不以程式輔助要實現--->不可能。

方法二,不用VBA也可以的,可用get.cell(24) EXCEL宏函数定义名称,辅助列还是需要的。

怎么能让一个加载宏监控所有打开的excel文件

我们可以在thisworkbook_open或sheet1_activate中加入自己的代码从而监视本文件中的各个事件,执行指定的代码。但如果你编写的是一个加载宏,你所要监视的文件就不单单是当前的文件了,而是所有打开的文件。但加载宏在后台运行时,用户可能会新打开或关闭文件等执行各种cāo作,从而可能会出现错误。

为了实现加载宏在后台对所有cāo作进行监控,我把Excel帮助翻个底朝天,终于实现了这种效果。这几天看到有些朋友也存在这中问题,将自己的一点心得拿出来与大家分享。

要实现这种效果,首先要定义一个Application类

在VBA项目中添加一个类模块AppEventCls,进行声明:

Public WithEvents App As Application

这时在代码编辑窗口上面的对象下拉框中就多出了一个新的对象“App”,选中“App”,右边的事件下拉框中可以看到对应的事件“NewWorkbook”,“SheetActivate”等,哈!这就是我们所要的!选中“NewWorkbook”,在代码编辑窗口中出现:

Private Sub App_NewWorkbook(ByVal Wb As Workbook)

End Sub

添加代码:

MsgBox "Hey! You opened a new workbook!"

现在可以执行了吗?噢,还要等一下,我们必须先定义一个属于这个类的对象。

在项目中添加一个新的模块

添加对象的定义

Dim MyApp As New AppEventCls

在自动运行过程中指定对象

Public Sub Auto_Open()

Set MyApp.App = Application

End Sub

将文件存为加载宏,如“ControlApp.xla”,然后就可以欣赏自己的成果了!

关闭此文件,然后加载刚保存的加载宏。打开一个文件试试。

在类模块中的其他事件中加入代码试试,可以看到这个加载宏响应所有文件的事件!

把公式排整齐

公式太长,尤其当使用了许多函数,括号一层迭一层时,公式便会变得难以理解。你可以在适当位置按<Alt>+<Enter>来chā入分列符号,甚至加进空格,把公式排得整整齐齐。

寻找特定档案并以对应的软件开启

可否在 excel 中输入一个 档名,excel 会到预定 path 下的 folder 找出该案并开启呢?

解答1:如果知道具体位置,可这样:

Sub Find_WorkBook()

Dim wb As Workbook

Dim String1, String2, Message, Title, Default As String

Default = "WindRider"

Title = "Find WorkBook"

String1 = InputBox(Message, Title, Default)

String2 = Application.ActiveWorkbook.Path

Set wb = Workbooks.Open(String2 & "\" & String1 & ".xls", False, False)

End Sub

解答2:如果只知道文档会在某个 path 下,但实际位置要 search,可这样:

Sub Find_WorkBook()

On Error Rescom Next

Dim wb As Workbook

Dim String1, String2, Message, Title, Default As String

Default = "OnKey"

Title = "Find WorkBook"

String1 = InputBox(Message, Title, Default)

If String1 = "" Then

Exit Sub

End If

With Application.FileSearch

.NewSearch

.LookIn = "E:\Autos"

.MatchTextExactly = True

.FileType = msoFileTypeExcelWorkbooks

.SearchSubFolders = True

.Filencom = Trim(String1) & ".xls"

If .Execute() > 0 Then

String2 = .FoundFiles(1)

『加入书签,方便阅读』