我有个问题.我已经在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) 我正在寻找关于将一个非常大的字符串分解成许多小字符串的建议.例如,我有一个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) 我正在尝试编写一个代码,该代码将获取标题/名称列表,并为每个标题/名称创建一个选项卡,每个工作表都有一个列表中的名称.例如,给定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) 我正在尝试从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用户表单.请帮我解决一下你的想法.
我想在两个场景中使用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) 假设我有像这样的数据
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)
请帮帮我,我将非常感谢你.
我正在尝试构建一个验证工具,它包括标头检查,欺骗检查和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) 我需要在VBA中创建Excel函数的最有效方法,删除单元格中的重复项:
输入单元格(A1)应包含如下文本:
"First_element,Second_element,Third_element,Second_element,Fourth_element"
我需要一个如下公式:
=移除备忘录(A1)
这在B2中产生以下输出:
"First_element,Second_element,Third_element,Fourth_element"
重要的是除了最终元素之外,每个元素后面都有逗号和空格",".
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".但它没有粘贴"喜",反而是粘贴"玛莎".
vba ×10
excel-vba ×9
excel ×8
controls ×1
dictionary ×1
excel-2007 ×1
excel-tables ×1
ms-access ×1
sql ×1