私は本当にVBAの完全な初心者です。
スプレッドシートにリストされている特定の日付に人が完了したタスクの数を更新するユーザー フォームを作成しようとしています。ユーザーフォームに 2 つのボタン (サブルーチンの条件として非表示と表示) があると想定しています。ところで、私は Mac で作業していますが、PC で使用するための VBA コーディングの影響があること、またはその逆であることはわかっています。
サンプルシートは次のとおりです。
ユーザーフォームの例 (a) は次のとおりです。
議論のために、Greg が 5 月 7 日 (2013/05/07) に完了したタスクの数を更新または入力したいとします。
ユーザーフォームを次のように処理したいと思います。
人物と日付の入力:
次に、ボタンをクリックしてから 7 番目の Greg のタスク数を取得します。
ここで、Greg が 7 日に 6 つのタスクを完了したことを知っていることを入力したいので、2 番目のボタンをクリックします (現在は表示され、最初のボタンは非表示になっています)。
スプレッドシートの結果:
ここにコードを入力する必要がありますが、スキルとコードの完成度が不足しています。しかし、私は私が持っているものを入れます:
Option Explicit
'Subroutine when clicking the first ("find") button
Private Sub btnfind_Click()
lbltasks.Vissible = True
txttasks.Visible = True
btnupdate.Visible = True
btnfind.Visible = False
'Defining variables
Dim pr01 As String
Dim dt01 As Date
Dim tsk01 As Integer
'Assigning variables to inputs
pr01 = txtperson.Text
dt01 = txtdate.Text
tsk01 = txttask.Text
'Looking for Name in column "A"
' ? ? ?
'Looking for inut Date in row "1"
' ? ? ?
'Retrieving the existing number of tasks according to name and date
'and showing number in the 'tasks' text input box in the user form
' ? ? ?
End Sub
'Subroutine when clicking the Second ("update") button
Private Sub btnupdate_Click()
'Paste updated Number of tasks in appropriate cells according to name and date
'The new number of tasks should over write what was there previously
' ? ? ?
End Sub
事前にすべての助けに感謝します!