ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 效率神器,一键搞定繁琐工作
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
让更多数据处理,一键完成 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
楼主: 兰色幻想

带你入门VBA系列之:不懂的代码快点贴过来

[复制链接]

TA的精华主题

TA的得分主题

发表于 2006-11-23 08:49 | 显示全部楼层
QUOTE:
以下是引用aofeng0101在2006-10-23 22:08:41的发言:

Private Sub Worksheet_Change(ByVal Target As Range)‘当单元格的数值发生变动时,触发事件
If Target.Count > 1 Then Exit Sub’当超过1个以上的单元发生变动时,不触发事件
If Target.Column = 2 Or Target.Column > 5 Then Exit ‘如果单元格所在的列为第2或者大于第5列时,也不触发事件

我知道这段代码很简单,但我却看不懂,请老师帮忙翻译!

TA的精华主题

TA的得分主题

发表于 2006-11-23 10:32 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
Sub 翻译基站()
'
' 快捷键: Ctrl+y
'
    ActiveCell.Select
    Selection.End(xlToRight).Select
    ActiveCell.Offset(0, 1).Range("A1").Select
    With Selection.Interior
        .ColorIndex = 24
        .Pattern = xlSolid
        .PatternColorIndex = xlAutomatic
    End With
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    Selection.Borders(xlEdgeLeft).LineStyle = xlNone
    Selection.Borders(xlEdgeTop).LineStyle = xlNone
    Selection.Borders(xlEdgeBottom).LineStyle = xlNone
    Selection.Borders(xlEdgeRight).LineStyle = xlNone
    Selection.Borders(xlInsideVertical).LineStyle = xlNone
    Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = True
        .Orientation = 0
        .AddIndent = False
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    ActiveCell.FormulaR1C1 = "基站名称"
    With ActiveCell.Characters(Start:=1, Length:=4).Font
        .Name = "宋体"
        .FontStyle = "常规"
        .Size = 9
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 11
    End With
    ActiveCell.Offset(1, 0).Range("A1").Select
    ActiveCell.FormulaR1C1 = "=LOOKUP(RC[-1],基站!C[-14],基站!C[-13])"
    Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select
    Selection.FillDown
   End Sub
此段编程的含义,能否逐条注释一下。谢谢

TA的精华主题

TA的得分主题

发表于 2006-11-23 17:07 | 显示全部楼层
 '-------- make chart -------------
    Range("A1:D1").Select
    Range(Selection, Selection.End(xlDown)).Select
    Set iRange = Selection
    iRow = Selection.Rows.Count
    iCol = Selection.Columns.Count
    ActiveSheet.ChartObjects.Add(20, 20, 278, 179).Select
    Application.CutCopyMode = False
    ActiveChart.ChartType = xlLine
    ActiveChart.SetSourceData Source:=iRange, PlotBy:= _
        xlColumns
    ActiveChart.SeriesCollection(1).Delete
    ActiveChart.SeriesCollection(1).XValues = "=phy!R2C1:R" & iRow & "C1"
    ActiveChart.SeriesCollection(2).XValues = "=phy!R2C1:R" & iRow & "C1"
    ActiveChart.SeriesCollection(3).XValues = "=phy!R2C1:R" & iRow & "C1"
    ActiveChart.Location Where:=xlLocationAsObject, Name:="phy"
    ActiveChart.Axes(xlValue).Select
    Selection.TickLabels.NumberFormatLocal = "General"
    ActiveChart.ChartArea.Select
    With ActiveChart
        .HasTitle = True
        .ChartTitle.Characters.Text = "受力"
    End With
    ActiveChart.PlotArea.Select
    Selection.Height = 173
    Selection.Left = 3
    Selection.Width = 265
    Selection.Top = 15
    ActiveChart.Legend.Select
    Selection.Left = 30
    Selection.Width = 239
    Selection.Height = 20
    Selection.Top = 190
    ActiveChart.ChartArea.Select
    '--------------end make chart -----------------

    make chart之间的这部分也不是很明白 ,也请逐行解释一下吧 。

    不胜感谢。

TA的精华主题

TA的得分主题

发表于 2006-11-24 14:59 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册

兰老师好:

我在EXCEL做了一个进度条,用到image.width属性,本来是可以用的,为什么将EXCEL改成共享属性后再运行这条语句会报错?

TA的精华主题

TA的得分主题

发表于 2006-11-24 16:50 | 显示全部楼层

老师,你看我下面那里出错了呢?? 能帮我编写一下么??

Sub Macro3()
Dim x As Integer
Dim y As Integer
x = 1
For y = 1 To 30
Rows("x:x").Select (运行到这里,就出现:应用程序定义的或对象定义的错误)
Selection.RowHeight = 46.5 (设置行高)
Rows("x+1:x+4").Select
Selection.RowHeight = 23.25 (设置行高)
Rows("x+5:x+39").Select
Selection.RowHeight = 17.25 (设置行高)

Rows("x+40:x+40").Select
Selection.RowHeight = 30.75 (设置行高)
Rows("x+41:x+41").Select
Selection.RowHeight = 14.25 (设置行高)
x = x + 42
Next y
End Sub
谁最好帮我编一下,谢谢
我是想把那些行都设成相应的行高!!

TA的精华主题

TA的得分主题

发表于 2006-11-24 20:24 | 显示全部楼层

版主, 我这段代码有点问题,但不知道是什么问题,请帮菜鸟解决。谢谢了

Sub CountCells()
Dim r As Integer
For r = 2 To 320
  ActiveSheet.Cells(r, Match(r2, "r3:r29", 0)).ForeColor.RGB = RGB(0, 0, 255)
 
Next r

End Sub

TA的精华主题

TA的得分主题

发表于 2006-11-30 09:47 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
QUOTE:
以下是引用xiegf1310在2006-11-24 20:24:38的发言:

版主, 我这段代码有点问题,但不知道是什么问题,请帮菜鸟解决。谢谢了

Sub CountCells()
Dim r As Integer
For r = 2 To 320
  ActiveSheet.Cells(r, Match(r2, "r3:r29", 0)).ForeColor.RGB = RGB(0, 0, 255)
 
Next r

End Sub

match 属工作表函数,非VBA函数,不能直接使用,可以如下使用

Application.WorksheetFunction.Match(range("r2"),range("r3:r29"),0)

TA的精华主题

TA的得分主题

发表于 2006-12-1 23:27 | 显示全部楼层

不懂不懂!!!


Sub mm()
Sheet4.[a4].CurrentRegion.ClearContents
On Error Resume Next
For i = Cells(2, 2) To Cells(2, 4)
    m = i & "月"
    With Sheets(m)
        j = .[a65536].End(xlUp).Row
        k = .[iv1].End(xlToLeft).Column
        pp = pp & "'" & m & "'!R1C1:R" & j & "C" & k & ","
    End With
Next
pp = Left$(pp, Len(pp) - 1)
arr = Split(pp, ",")
    Sheet4.[a4].Consolidate arr, xlSum, True, True
    Sheet4.[a4] = Sheet1.[a1]
End Sub


TA的精华主题

TA的得分主题

发表于 2006-12-2 17:28 | 显示全部楼层

[分享]

QUOTE:
以下是引用liling_124在2006-6-26 0:16:24的发言:

想写一个过程实现工作表的隐藏(只留最后一个不隐藏)

我写的代码如下:

Sub hidesheets()
Dim n As Integer
Dim i As Integer
n = ThisWorkbook.Sheets.Count
For i = 1 To n - 1
ThisWorkbook.Sheets(n).Visible = False
Next
End Sub
怎么每执行都隐藏最后一个工作表?

哪里出问题了?

Sub hidesheets()
Dim n As Integer
Dim i As Integer
n = ThisWorkbook.Sheets.Count

For i = 1 To n - 2
 Sheets(i).Visible = False
Next i
End Sub

TA的精华主题

TA的得分主题

发表于 2006-12-8 09:31 | 显示全部楼层

Private Sub CommandButton1_Click()
    Dim i%, irow%, m%

    irow = [d65536].End(xlUp).Row
    For i = 4 To irow
        m = m + 1
        If LCase(Cells(i, 4)) = "total" Then
            Cells(i, 6).Resize(1, 2) = "=sum(r[-1]c:r[-" & m - 1 & "]c)"
            m = 0
        End If
    Next
End Sub

cells.resize 是什么意思啊

sum公式看不懂

dim 1% 为什么加%

在VBA帮助中,要查cells.resize是什么意思,在VBA帮助的“收索中”输入什么啊

问题多了点,谢谢老师解答:)

您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-11-20 00:33 , Processed in 0.041830 second(s), 6 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表