JBTALKS.CC

标题: 用在Excel里的VB疑问。。 [打印本页]

作者: 小盐子    时间: 2009-4-7 03:46 PM
标题: 用在Excel里的VB疑问。。
用在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
參考教學吧
作者: 小盐子    时间: 2009-4-7 04:29 PM
标题: 回复 #2 Super-Tomato 的帖子
谢谢你了!我会去參考的,你可以帮我看看这个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
作者: 小盐子    时间: 2009-4-7 09:14 PM
标题: 回复 #4 Super-Tomato 的帖子
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 (https://jbtalks.my/) Powered by Discuz! X2.5