1

私はVBAを初めて使用しますが、次のような状況を解決するのに役立つコードを探すのに十分な時間を費やしました:

簡単にするために、私が達成しようとしていることを例で説明します。

一意の番号を持つビー玉の山があり、それらを番号付きのカテゴリに配置したいとします。

例えば:

"Time '1.0'" で "Marble '1'" は "Group '1'" に "分類" されます   
「Time '2.0'」で「Marble '2'」は「Group '2'」などに「分類」されます。
「時間「3.0」」で「大理石「1」」は「グループ「3」」に「分類」されます

したがって、At Time 3.0 Marble 1 はグループ 1 とグループ 2 の両方に分類されます。

「大理石番号」と「時間」を入力して、特定の時間に大理石が分類されたかどうか、分類されている場合はどのグループ、そうでない場合は最後のグループが何であったかを報告できるボタンを作成しました。

これは、ビー玉が 1 つのグループにのみ分類された場合には問題なく機能しましたが、ビー玉が複数のグループに分類され、グループの 1 つから削除された場合、つまり

..........「時刻「4.0」」「マーブル「1」」は「グループ「1」」の「未分類」

私の限られたコードは、分類の記録を削除し、最新の分類を「最後のカテゴリ」として報告するだけです。

大理石 # = 1、時間 = 5.0 結果 = 「未分類」 最後のカテゴリ = 「グループ '1'」 実際には、「グループ '2'」としてまだ「分類」されています。

要約すると、「大理石番号」と「時間」を入力して、その特定の時間に「大理石」が「分類」されているかどうかを教えてくれるコードが必要です。そうでない場合は、最後に「分類」された「グループ」は何でしたか。

以下にコードを掲載しました。. これは私の最初の VBA コードであり、Google 検索と試行錯誤によって一緒にフランケンシュタイン化されていることに注意してください。. . * (Cell(15,8) と Cell (18,8) はそれぞれ「Enter Marble #」と「Enter Time」です) * (列 1、2、3、4 は Marble #、Categorization、Group #、および Time です)それぞれ) * *

Private Sub CommandButton2_Click()
文字列として分類された Dim、整数としての i、整数としてのグループ

Count = Application.CountA(Range("A:A"))

For i = 1 To Count

    If Cells (i, 1).Value = Cells(15, 8) And Cells (i, 4).Value <= Cells (18, 8) And Cells (i, 2) = "CATEGORIZE" Then Categorized = "CATEGORIZED"

    If Cells (i, 1).Value = Cells(15, 8) And Cells (i, 4).Value <= Cells (18, 8) And Cells (i, 2) = "UNCATEGORIZE" Then Categorized = "NOT CATEGORIZED" "

    If Cells (i, 1).Value = Cells(15, 8) And Cells (i, 4).Value <= Cells (18, 8) And Cells (i, 2) = "CATEGORIZE" Then Group = Cells(i 、 3)

次は

    If Categorized = "CATEGORIZED" Then MsgBox Categorized & " Categorized to " & Group
    If Categorized = "NOT CATEGORIZED" Then Msgbox Categorized & " 最終分類先 " & グループ
    If Categorized = "" Then Msgbox "Marble Does Not Exist before this time"

サブ終了

また、異なる時間に複数の重複エントリがあります。

"Time '1.0'" で "Marble '1'" は "Group '1'" に "分類" されます
"Time '1.1'" で "Marble '1'" は "Group '1'" に "分類" されます
「Time '1.4'」で「Marble '1'」は「Group '1'」に「分類」されます

重複する "Categorizations" の数は、"Categorized" または "UnCategorized" のいずれかであることに関係ありません。. . (「オン」ボタンを何度押しても、「オフ」ボタンを押すとライトが消えます:))

よろしくお願いいたします。これは私の最初の VBA コードであると述べたので、建設的な批判を続けてください。ありがとうございました。

4

0 に答える 0