返回列表 上一主題 發帖

請問如何用Textbox新增資料到Sheet?

請問如何用Textbox新增資料到Sheet?

請問如何用Textbox新增資料到Sheet?

敝人對於VBA不懂,只會剪貼修改一下,所以程式需要大師幫忙修改。

裡面UserForm1是之前網路人家做好的,UserForm2是我想要做的。
請幫我將Part1、Part2、Part3功能結合起來。

20130627 VBA 案件以表單輸入建立資料 v.05.zip (113.76 KB)

版主大大,我已經將檔案整理好了,我想我就替你發文分享給大家下載使用好了。

TOP

本帖最後由 GBKEE 於 2013-7-18 06:02 編輯

版大非常感謝您的幫助,您的檔案已經完全符合我的需求,我會好好研習您的程式,再次感謝您,建議您可以將此檔案發文分享給其他人下載。

TOP

本帖最後由 GBKEE 於 2013-7-17 16:09 編輯

回復 10# jeffrey628litw
在物件模組中(表單也是物件模組)  With UserForm2 => With Me  或可以不用  With
  1.   r = d2(myname & "-" & mycase)  'r=無 -> Cells(r, i + 1)所以錯誤        
  2.         For i = 1 To 9
  3.             Sheets("Sheet1").Cells(r, i + 1).Value = .Controls("TextBox" & i).Value
複製代碼
試試這附檔

Tset.rar (31.91 KB)
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 9# GBKEE


    感謝版大一直幫忙解決問題,你的解答真是一針見血,我在改的途中又遇到問題:
在最後"案件基本資料" 按下 "修改" 會出現下面程式反黃,我不知道是甚麼問題,又要請教版主了。

檔案下載網址:http://www.FunP.Net/331482

Private Sub CommandButton4_Click()
    With UserForm2
        myday = Trim(.TextBox8.Value)
        If myday <> "" And IsDate(myday) = False Then
            MsgBox "您輸入的完工日期無法辨別喔~", vbCritical + vbOKOnly, "請重新輸入"
            .TextBox8.SetFocus
            Exit Sub
        End If
        .Frame1.Enabled = True
        .Frame2.Enabled = True
        .CommandButton2.Enabled = True
        .CommandButton11.Enabled = True
        myname = .ListBox_4.Text
        mycase = .ListBox_5.Text
        r = d2(myname & "-" & mycase)
        For i = 1 To 9
            Sheets("Sheet1").Cells(r, i + 1).Value = .Controls("TextBox" & i).Value              <--------------------------------------------------------------這段程式會反黃
            .Controls("TextBox" & i).ForeColor = -2147483640
            .Controls("TextBox" & i).BackColor = yc
            .Controls("TextBox" & i).Locked = True
        Next i
        Call UpdateBox
        .ListBox_4.Text = myname
        .ListBox_5.Text = mycase
        .CommandButton4.Enabled = False
    End With
    MsgBox "已經完成儲存囉~", vbOKOnly, "請注意"
End Sub

TOP

回復 8# jeffrey628litw
  1. Private Const Sh = "Sheet1"                              '模組的私用常數
  2. Dim d As Object                                          '模組的私用變數
  3. Private Sub UserForm_Initialize()    '表單初使化時的事件
  4.     Set d1 = CreateObject("Scripting.Dictionary")  '你沒有設置變數
  5.     Set d2 = CreateObject("Scripting.Dictionary")
  6.     ' 程式碼
  7.     '
  8.    
  9. End Sub
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 7# GBKEE


    版大您好,又要麻煩您了,我已經改了部分了,問題1:不過改到表單的-->持有者"新增持有者"這個OK-->案件"新增案件"OK -->但是 "結束新增" 就出現以下不知哪裡錯誤?
問題2:如何讓持有者"新增持有者"的資料存到正確位置 Sheet1的D欄
                          案件"新增案件          的資料存到正確位置 Sheet1的E欄

檔案下載網址:http://www.FunP.Net/710388

  Private Sub UpdateBox()
    d1.RemoveAll                                     <-------------------------------------------------------------------------------------------------這一段程式反黃
    d2.RemoveAll
    rng = Sheets("Sheet1").[A1].CurrentRegion
    For r = 2 To UBound(rng)
        mycase = "-" & rng(r, 2)
        If Trim(rng(r, 1)) <> "" Then
            myname = Trim(rng(r, 1))
            br = r
            d1(myname) = r & "-" & r
        Else
            d1(myname) = br & "-" & r
        End If
        d2(myname & mycase) = r
    Next r
    UserForm2.ListBox_4.List = d1.keys
End Sub

TOP

回復 6# jeffrey628litw
附檔的表單控制項名稱 與你原本附檔不一樣(需修改)


Book2.zip (19.89 KB)
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

回復 5# GBKEE


    版大您好,我試了把2個檔案和您的程式都貼進去,還是不行(我實在是看不懂不會改),能否再請您幫忙看要修改的地方:
主要不知是不是這裏有問題?檔案下載網址:http://www.FunP.Net/678558

Private Sub UserForm_Initialize()

                             
Set DY = CreateObject("Scripting.Dictionary")                                             '這以下為Private Sub ListBox5_Change()和Private Sub ListBox4_Change()的程式
   
Set DZ = CreateObject("Scripting.Dictionary")
Set Sht1 = Sheets("Sheet1")
K = Sht1.[A65536].End(xlUp).Row
With Sht1
    For Y = 2 To K
      Ts = .Range("A" & Y): If DY(Ts) <> "" Then Else DY(Ts) = Ts: ListBox5.AddItem Ts
       If .Range("D" & Y) <> "" Then TS1 = .Range("D" & Y)
       If DZ(TS1) <> "" Then Else DZ(TS1) = TS1: ListBox1.AddItem TS1
    Next
End With
     Set DY = Nothing: Set DZ = Nothing: Y = 0: Ts = "": TS1 = ""                         '這以上為Private Sub ListBox5_Change()和Private Sub ListBox4_Change()的程式
     





yc = ListBox1.BackColor                                                              '這以下為Listbox1、Listbox2的程式
    wc = TextBox1.BackColor
    Set d1 = CreateObject("Scripting.Dictionary")
    Set d2 = CreateObject("Scripting.Dictionary")
    With Sheets("資料庫")
        .Unprotect Password:="69123"
        rng = .[A1].CurrentRegion
    End With
    For r = 2 To UBound(rng)
        mycase = "-" & rng(r, 2)
        If Trim(rng(r, 1)) <> "" Then
            myname = Trim(rng(r, 1))
            br = r
            d1(myname) = r & "-" & r
        Else
            d1(myname) = br & "-" & r
        End If
        d2(myname & mycase) = r
    Next r
    UserForm2.ListBox1.List = d1.KEYS
    UserForm2.CommandButton11.SetFocus                                                '這以上為Listbox1、Listbox2的程式






Set d = CreateObject("Scripting.Dictionary")

    With Sheets(Sh)

        K = 2

        Do While .Cells(K, "A") <> ""

            d(.Cells(K, "A").Value) = ""

            K = K + 1

        Loop

    End With

    ListBox_1.List = d.KEYS
   
End Sub

TOP

回復 4# jeffrey628litw
  1. 3# 這兩行須置於模組的頂端
  2. 01.Private Const Sh = "Sheet1"    '資料庫                   '模組的私用常數
  3. 02.Dim d As Object                                          '模組的私用變數
複製代碼
請將UserForm2 內的程式碼清空,貼上3#的程式碼,試試看
可行後再加上原本的, 刪除緊急度,新增緊急度......的程式碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 能善用時間的人,必能掌握自己努力的方向。
返回列表 上一主題