标签: vba

如何在形状优化的鼠标悬停上显示工具提示

我有个问题.我已经在excel上创建了一个带有形状的地图.当我将光标指向其中一个位置时,我想要显示信息.谢谢你

excel vba excel-vba

0
推荐指数
1
解决办法
4615
查看次数

运行宏时Excel闪烁

当运行下面的宏时,我的整个电子表格都会闪烁,如果有人告诉我如何让它发生,我将不胜感激.

宏正在检查列D是否显示为灰色,如果它是彩色并使列F变灰,反之亦然.

它通过使用C列中正确的颜色复制我设置的3个单元格的格式来更改颜色.

Worksheets("SHELLY").Range("D4:F19").ClearContents

If Worksheets("SHELLY").Range("D3:D19").Interior.ColorIndex = 15 Then

    Range("C41").Select
    Selection.Copy
    Range("F3:F19").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("C42").Select
    Selection.Copy
    Range("D3:D19").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
Else

    Range("C41").Select
    Selection.Copy
    Range("D3:D19").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
    Range("C43").Select
    Selection.Copy
    Range("F3:F19").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
        SkipBlanks:=False, Transpose:=False
End If
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

0
推荐指数
1
解决办法
120
查看次数

VBA打破大字符串

我正在寻找关于将一个非常大的字符串分解成许多小字符串的建议.例如,我有一个5000个字符的字符串.我必须将该字符串拆分为不超过450个字符的连续变量数组.以下是最有效的方法吗?

Dim stringSection() as String

Private Sub extractSubStrings(giantString as String)

    Dim occurance as Integer

    occurance = 0
    For i = 1 to Len(giantString)
        If i Mod 450 = 1 Or i = Len(giantString) Then
            occurance = occurance + 1
            ReDim stringSection(occurance)
            stringSection = Mid(giantString, i-450, 450)
        End If
    Next i

End Sub
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

0
推荐指数
1
解决办法
105
查看次数

使用For循环添加命名工作表

我正在尝试编写一个代码,该代码将获取标题/名称列表,并为每个标题/名称创建一个选项卡,每个工作表都有一个列表中的名称.例如,给定ActiveSheet上的表(可能不一定是sheet1)

Metric | Comments | Title
   1   | testing1 | This is Metric1
   2   | testing2 | This is Metric2
Run Code Online (Sandbox Code Playgroud)

我想在ActiveSheet之后添加2个工作表,分别名称为"This is Metric1"和"This is Metric2"(理想情况下,我想用"testing1"填充每个新工作表的单元格A1和"在我们可以运行之前,分别进行测试2".我仍然是VBA的新手,所以请用我的错误代码 - 这是我到目前为止所尝试的:

Sub test_tableTOtabs()
Dim fr As Integer
Dim lr As Integer
Dim col As String

fr = Application.InputBox("Starting row of data: ", , 2)
lr = Application.InputBox("Last row of data: ")
col = Application.InputBox("Column for Tab titles: ")

Dim BaseSheet As Worksheet
Set BaseSheet = ActiveSheet

Dim i As Integer
Dim TitleCell As String …
Run Code Online (Sandbox Code Playgroud)

vba excel-2007 excel-vba excel-formula excel-tables

0
推荐指数
1
解决办法
546
查看次数

如何在Userform上使用带有选项按钮控件的事件

我正在尝试从Excel工作表中的范围添加选项按钮.

For Each Value In OptionList

    Set opt = UserForm3.Controls.Add("Forms.OptionButton.1", "radioBtn" & i, True)
    opt.Caption = Value
    opt.Top = opt.Height * i
    opt.GroupName = "Options"

    UserForm3.Width = opt.Width
    UserForm3.Height = opt.Height * (i + 2)

    i = i + 1

Next
Run Code Online (Sandbox Code Playgroud)

我想创建一个事件处理程序,以便radiobtn1在从用户运行代码时选择if .虽然我得到了很多答案,但这些是用于工作表用户表单的.

我的目的是处理VBA用户表单.请帮我解决一下你的想法.

excel controls vba excel-vba

0
推荐指数
1
解决办法
3066
查看次数

Excel VBA Else没有if

我想在两个场景中使用if-function来进行distingiush.

For Each Cell In Tabelle3.Range("A" & lastrow2)

Option A: If Cell <> "" Then run code
Option B: If Cell = "" Then skip this empty cell and go on with the next one
Run Code Online (Sandbox Code Playgroud)

这里整个代码:

Sub IfFunction()

Dim lastrow2 As Long
lastrow2 = Tabelle3.Range("A" & Rows.Count).End(xlUp).Row
Set myrange2 = Tabelle8.UsedRange


    For i = 2 To lastrow2

    For Each Cell In Tabelle3.Range("A" & lastrow2)

    If Cell = "" Then i = i + 1

    Else: i = i



        Tabelle3.Cells(7 + …
Run Code Online (Sandbox Code Playgroud)

excel vba excel-vba

0
推荐指数
1
解决办法
692
查看次数

如何从不同的不同列中的一列中分离相同的数字?

假设我有像这样的数据

1
1
1
1
2
2
3
3
3
3
4
5
6
6
.
.
.
Run Code Online (Sandbox Code Playgroud)

我想把它分开

1
 1
  1
   1
2
 2
3
 3
  3
   3
4
5
6
 6
Run Code Online (Sandbox Code Playgroud)

请帮帮我,我将非常感谢你.

excel vba excel-vba excel-formula

0
推荐指数
1
解决办法
111
查看次数

dictionary.Exists(key)总是假的

我正在尝试构建一个验证工具,它包括标头检查,欺骗检查和vLookup.在DuplicateCheck子例程中,我使用.Exists()= False将一个范围中的所有唯一值添加到字典中; 此检查是一致的失败,我正在添加重复值.似乎使用lower()或upper()修复了类似的问题,但我的测试是使用诸如"1","2","3"之类的数字,或者诸如"k1","k2","k2"之类的值".

这是我的代码:

Option Explicit

Dim wbThis As ThisWorkbook
Dim wsOld, wsNew, wsValid As Worksheet
Dim lColOld, lColNew, lRowOld, lRowNew, iRow, iCol As Long
Dim cellTarget, cellKey As Variant
Dim cellValid, dataOld, dataNew As Range
Run Code Online (Sandbox Code Playgroud)
Sub Execute()

    Set wbThis = ThisWorkbook
    Set wsOld = wbThis.Worksheets(1)
    Set wsNew = wbThis.Worksheets(2)
    Set wsValid = wbThis.Worksheets(3)

    lColOld = wsOld.Cells(1, Columns.Count).End(xlToLeft).Column
    lColNew = wsNew.Cells(1, Columns.Count).End(xlToLeft).Column
    lRowOld = wsOld.Cells(Rows.Count, 1).End(xlUp).Row
    lRowNew = wsNew.Cells(Rows.Count, 1).End(xlUp).Row

    Set dataOld = wsOld.Range("A1").Resize(lRowOld, lColOld)
    Set dataNew = …
Run Code Online (Sandbox Code Playgroud)

excel vba dictionary excel-vba

0
推荐指数
1
解决办法
721
查看次数

Excel VBA:删除单个单元格中重复项的功能

我需要在VBA中创建Excel函数的最有效方法,删除单元格中的重复项:

输入单元格(A1)应包含如下文本:

"First_element,Second_element,Third_element,Second_element,Fourth_element"

我需要一个如下公式:

=移除备忘录(A1)

这在B2中产生以下输出:

"First_element,Second_element,Third_element,Fourth_element"

重要的是除了最终元素之外,每个元素后面都有逗号和空格",".

excel vba excel-vba

0
推荐指数
1
解决办法
160
查看次数

在查询vba中传递没有引号的字符串变量

Dim StoreNoToUpdate As String
Dim Marsha As String

StoreNoToUpdate = "ABCXYZ123"

Marsha = "hi"

db.Execute "Update TblLodgingReport set [MarshaCode]=  'Marsha'  where [Store Number ID]= 'ABCXYZ123'"
Run Code Online (Sandbox Code Playgroud)

我想在"ABCXYZ123"位置更新"hi".但它没有粘贴"喜",反而是粘贴"玛莎".

sql ms-access vba

0
推荐指数
1
解决办法
497
查看次数