ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[已解决] 请删贴

[复制链接]

TA的精华主题

TA的得分主题

发表于 2011-1-21 17:42 | 显示全部楼层 |阅读模式
大家好!
1 10 100 1000 10000 100000 300 3000 40000 2500 3500 200000 15000 350000 23000 24000 36000 12345 23456是横坐标

4 5 6 7 8 9 8 5 7 8 10 9 5 13 14 6 9 4 7纵坐标1,位于图左边

20 6 25 40 60 30 36 45 67 56 66 56 45 66 77 55 56 57 78纵坐标2,图右边
以上为三行数据,要求两个纵坐标一个横坐标,横坐标要以10的n次幂为刻度。
即 1 10 100 1000 10000 100000 1000000 等等,我计算出来最小值是1,最大应该用1000000
问题是如何将第一行上横坐标,也就是表中的第一列中的数值嵌入这些10的n次幂中去,
使得坐标相匹配,我的代码如下,坐标刻度是有的,只是横坐标的位置不对,请问谁有什么好方法么?
Private Sub CommandButton1_Click()
Dim addr As String
Dim addr1 As String
Dim selrange1 As Range
Dim str
Dim str1 As String
Dim str2
Dim i, j, h, k As Integer
Dim selrange As Range
Dim str3
Dim stri1, stri2 As String
Dim niedrig, hoch As Integer
Dim zeichen As Integer
zeichen = 1
niedrig = 0
hoch = 1
stri2 = 1
addr = Me.RefEdit1.Value
Set selrange = Range(addr)
h = selrange.Rows.Count
ReDim str(1 To h)
ReDim str2(1 To h - 1)
str(1) = selrange.Cells(1, 1)
For i = 2 To h
str(i) = Log(selrange.Cells(i, 1)) / Log(10)
Next i

For i = 1 To h - 1
str2(i) = str(i + 1)
Next i

addr1 = Me.RefEdit2.Value
Set selrange1 = Range(addr1)
str1 = Me.ComboBox1.Value
stri1 = selrange.Cells(h, 1)

For i = 1 To Len(stri1)
stri2 = 10 * stri2
Next i
ReDim str3(1 To Len(stri1) + 2)
str3(1) = 0
str3(2) = 1
For i = 3 To Len(stri1) + 2
str3(i) = 10 ^ (i - 2)

Next i

Range(addr1).Select
Charts.Add
    ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
        "Linien auf zwei Achsen"
    ActiveChart.SetSourceData Source:=Sheets(str1).Range(addr1), PlotBy _
        :=xlColumns
    ActiveChart.SeriesCollection(1).XValues = str3
    ActiveChart.Location Where:=xlLocationAsObject, Name:=str1
    With ActiveChart
        .HasTitle = False
        .Axes(xlCategory, xlPrimary).HasTitle = True
        .Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = str(1)
        .Axes(xlValue, xlPrimary).HasTitle = False
        .Axes(xlCategory, xlSecondary).HasTitle = False
        .Axes(xlValue, xlSecondary).HasTitle = False
    End With
End Sub



Private Sub UserForm_Initialize()
Dim str
Dim j As Integer

j = Worksheets.Count
ReDim str(i To j)
For i = 1 To Worksheets.Count
str(i) = Worksheets(i).Name
Next i

For i = 1 To Worksheets.Count
Me.ComboBox1.AddItem str(i)
Next i
End Sub

[ 本帖最后由 天各一方2011 于 2011-1-22 22:34 编辑 ]

Diagramm.zip

15.41 KB, 下载次数: 16

TA的精华主题

TA的得分主题

 楼主| 发表于 2011-1-21 19:40 | 显示全部楼层

难道就没有那位朋友知道么

难道就没有那位朋友知道么
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

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

GMT+8, 2024-11-21 20:25 , Processed in 0.036604 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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