はVBAの新機能ですが、Excelで何らかのDBを作成する必要があります。VBAを使用すると処理が容易になると思いました。IDからIDを作成する
私は、5つの編集と、入力されたデータをドキュメント内のワークシートテーブルにコピーするボタンを持つフォームを作成しました。
.Cells(lRow, 3).Value = Me.oname.Value
.Cells(lRow, 4).Value = Me.ojahr.Value
.Cells(lRow, 5).Value = Me.oraum.Value
.Cells(lRow, 6).Value = Me.oregal.Value
.Cells(lRow, 7).Value = Me.osegment.Value
ここで追加したいのは、これらの値の3つと連続番号から「一意の」IDを作成する方法です。 XYZ-0001 (X、Y、Z、数値である)
これは私がワークシートにデータをコピーする方法はかなりある、と私は
を使用しようとしたようベストな方法は、それを持っているだろう残念ながら日付値(これを修正するための任意のアイデア?)として返します
.Cells(lRow, 8).Value = Me.osegment.Value & "-" & Me.osegment.Value & "-" & Me.osegment.Value
したがって、私は
.Cells(lRow, 8).Value = Me.osegment.Value & "_" & Me.osegment.Value & "_" & Me.osegment.Value
にそれを変更
はうまくいきますが、意図したとおりに( " - "バージョンが良く見えます)、唯一欠けているのは "0001"のような一意の識別子です。
だから私のアイデアは
.Cells(lRow, 8).Value = Me.osegment.Value & "_" & Me.osegment.Value & "_" & Me.osegment.Value
の組み合わせのためにと、この組み合わせは_0001を追加し、前に存在していませんでしかどうかを確認する「IF」機能のsomekindを実行することです。 それ以外の場合は、既存のX_Y_Z_000Xの値をチェックし、+1を使用します。
どんな種類のヘルプも高く評価されています。 :)
あなたはこのコードをしようとする場合がありますよろしく
お返事ありがとうございました 私はそれを試してみましたが、時にはExcelがまだ日付のように処理しているので、セパレータを " - "から " - "に変更しました。今はうまく動作します。 さらに欠けているのは、一種の一意の識別子です。いくつかの種類のアーカイブ構造を作成しなければなりません。たとえば、部屋(x)、シェルフ(y)、シェルフセグメント(z)で項目を識別したいと思っています。2.3.1 一意性... 結果は2.3.1-0001のように見えます。 私はどんな助けにも感謝します<3 – sqrcbc