|登录 |注册

查看: 1860|回复: 5
打印 上一主题 下一主题

用在Excel里的VB疑问。。

[复制链接]
小盐子
2009-4-7 03:46 PM
用在Excel里的VB疑问。。是这样的我想用来做ACCOUNT这样会比教放便,我首先会在sheet2打上资料让后按buttom后资料就会update去其它2个的sheet。VB我不大会,写的coding不会执行。。有谁可以帮我看看有什么须要改的吗?谢谢你们先。。

Private Sub Bank()
Dim bankrange As Range
If Sheet2.Range("B8") = "Bank" Then
    Set bankrange = Range("Bank!A3:A1000")
    For i = 1 To 1000
        With bankrange
            If .Cells(i, 1) = "" Then
                .Cells(i, 2).Value = Sheet2.Range("D10").Value
                .Cells(i, 3).Value = Sheet2.Range("D11").Value
                .Cells(i, 4).Value = Sheet2.Range("D12").Value
                .Cells(i, 6).Value = Sheet2.Range("D13").Value
                Exit For
            End If
        End With
    Next i
Dim purchasesrange As Range
If Sheet2.Range("D12") = "Purchases" Then
    Set purchasesrange = Range("Purchases!A3:A1000")
    For i = 1 To 1000
        With purchasesrange
            If .Cells(i, 1) = "" Then
                .Cells(i, 2).Value = Sheet2.Range("D10").Value
                .Cells(i, 3).Value = Sheet2.Range("D11").Value
                .Cells(i, 4).Value = Sheet2.Range("B8").Value
                .Cells(i, 5).Value = Sheet2.Range("D13").Value
                Exit For
            End If
         End With
    Next i

Call Clear
End Sub

Sub Clear()
End Sub
    Sheet2.Select
    Sheet2.Range("clear").Select
    Selection.ClearContents
Super-Tomato
2009-4-7 04:10 PM
原帖由 小盐子 于 2009-4-7 03:46 PM 发表
用在Excel里的VB疑问。。是这样的我想用来做ACCOUNT这样会比教放便,我首先会在sheet2打上资料让后按buttom后资料就会update去其它2个的sheet。VB我不大会,写的coding不会执行。。有谁可以帮我看看有什么须要改 ...



http://www.anthony-vba.kefra.com/vba/vbabasic1.htm
參考教學吧

回复 #2 Super-Tomato 的帖子

小盐子
2009-4-7 04:29 PM
谢谢你了!我会去參考的,你可以帮我看看这个coding哪里出问题吗?
Super-Tomato
2009-4-7 06:38 PM
原帖由 小盐子 于 2009-4-7 04:29 PM 发表
谢谢你了!我会去參考的,你可以帮我看看这个coding哪里出问题吗?


1. 沒判斷的結束點 If ... Then ... End If
If Sheet2.Range("B8") = "Bank" Then
If Sheet2.Range("D12") = "Purchases" Then

2. 注意函數的使用 Sub ... End Sub

回复 #4 Super-Tomato 的帖子

小盐子
2009-4-7 09:14 PM
If Sheet2.Range("B8") = "Bank" Then(原来不是这样写,我要做的是如果B8="Bank"的话就把资料update去以下的sheet,要怎样写才对的?它才会Update去以下的sheet?)
    Set bankrange = Range("Bank!A3:A1000")
    For i = 1 To 1000
        With bankrange
            If .Cells(i, 1) = "" Then
                .Cells(i, 2).Value = Sheet2.Range("D10").Value
                .Cells(i, 3).Value = Sheet2.Range("D11").Value
                .Cells(i, 4).Value = Sheet2.Range("D12").Value
                .Cells(i, 6).Value = Sheet2.Range("D13").Value
                Exit For
            End If

[ 本帖最后由 小盐子 于 2009-4-7 09:15 PM 编辑 ]
Super-Tomato
2009-4-8 08:14 AM
原帖由 小盐子 于 2009-4-7 09:14 PM 发表
If Sheet2.Range("B8") = "Bank" Then(原来不是这样写,我要做的是如果B8="Bank"的话就把资料update去以下的sheet,要怎样写才对的?它才会Update去以下的sheet?)
    Set bankrange = Range("Bank!A3:A1000")
  ...



你自己回顧一下 IF 的結構是怎樣的, 有開始沒結束的程式要電腦怎麼去執行
如果你是從別的例子剪剪貼貼過來的話, 麻煩檢查一下自己遺漏了些甚麼
您需要登录后才可以回帖 登录 | 注册

JBTALKS.CC |联系我们 |隐私政策 |Share

GMT+8, 2025-3-11 03:48 AM , Processed in 0.103053 second(s), 24 queries .

Powered by Discuz! X2.5 © 2001-2012 Comsenz Inc.

本论坛言论纯属发表者个人意见,与本论坛立场无关
Copyright © 2003-2012 JBTALKS.CC All Rights Reserved

Dedicated Server powered by iCore Technology Sdn. Bhd.

合作联盟网站:
JBTALKS 马来西亚中文论坛 | JBTALKS我的空间 | ICORE TECHNOLOGY SDN. BHD.
回顶部