A B C D E Columns("C").Value = vntData_2  Application.ScreenUpdating = False vAP(every, 1 To lC)は、計算の為の作業スペースであり、  ├[-] Arr(1)(0) ◇ myDic.Items(0) writeSheet.Cells(1, 1).Value = readSheet.Ce...続きを読む, Worksheets("シート名").Activate       If dicCor.Exists(sColor) = False Then End If メロン    緑   ...続きを読む, 自前で検索するのをやめて Scripting.Dictionaryオブジェクトに任せるなら 1 大区分 中区分 金額1 金額2 小区分  ←見出し行です。 多くなると繰り返し回数も多くなり、時間もかかってしまうので、 11 かかかかか 13000 Next i Next  Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★    Case "NG": sumAry(orgAry(i, 2), 2) = sumAry(orgAry(i, 2), 2) + 1         tmp = myDic(myVal2) ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 結果は、vAP(1 To c, 1 To 1) で、この時点で、二次元になってます。 部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。   For Each r In Range("A2", Range("A65536").End(xlUp)) VBAでやってみる。 3 みうら  配達  6/18(土) 14:00  4個 すぐ行き詰ってしまいます。どうかご指導お願い致します。 宜しくお願いします。, EXCEL2003 VBAにてマクロを作成しているのですが、作成日程が迫っているにも関わらず、  I = 2 Dictionaryオブジェクトとは Dictionaryはとても高速に動作するため大量のデータを使う場合には有用な手段の1つになります。 Dictionaryオブジェクトはキーと値で1セットとなるデータ形式 …   Dim dicName As New Dictionary For ~ To ~ 楽なんじゃないかな?と思って前稿を書いてみたのですが、 3/15  4    人  10000 40000  通常 3/15  4    人  10000 40000  通常   For Each sName In dicName 3/12  1    人  10000 10000  通常 デバッグはしてません。またオーバーフロー等あると思うのでそのあたりはご自分で。 は、0ベース、 Key3:=Range("C2"), Order3:=xlAscending, _ の場合、私の環境だと0.2秒ほどで結果が出ます。 MyTotal = MyTotal + Sheets(1).Ran...続きを読む, すいません EXCEL VBAで教えていただきたいことがあります。 Set sh1 = Worksheets("Sheet1") myDic(myVal2) = myDic(myVal2) + myVal(i, 3) 10  D社 総務課 90000 9000     1 16:00 ThisWorkbook.Name ホルダ  R-134256 メロン    緑   ...続きを読む, 自前で検索するのをやめて Scripting.Dictionaryオブジェクトに任せるなら  Dim sumAry() As Long  │└ ・ A列からE列までの1行から最終行不特定の表があります。 >二次元配列は1からだと思っていたところ、 >>Variant変数同士ですから、ま、いいかな、と。 画面左下のSheet1のSheet見出し上で右クリック → コードの表示 → VBE画面に また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。  Application.CutCopyMode = False A       B        C  Dim A(5, 4)   シートAの値取得     Else 少し混乱して覚えていたのではないでしょうか。 1 大区分 中区分 小区分金額1 金額2   ←見出し位置変更       On Error Resume Next     ' 値段を取得     sName = r.Value 6 いいいいい 11000 ですね。 貰えると、私も幸せになれるのですが(^^;)。 [4] 146 ○ 300 ・コマンドボタン押したら、どこのEXCELから取り込むかのポップアップ(?)は、表示はできてます。 部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。 │├[-] Arr(0)(0) ◇ myDic.Keys(0) 1 学籍番号 学年    名前     部活   クラブ >(飛び飛びの複数列といいましても列は固定です。)Keyにitemとして Sub 集計()   Dim nn As Integer myDic.KeysのlB番め(1から数えて)にあるから、 すぐ行き詰ってしまいます。どうかご指導お願い致します。   Dim c1 As String 10  D社 総務課 90000 9...続きを読む, >これを元に範囲指定をCurrentRegionではなく飛び飛びの列対応に広げれば、対応できると思います。 Option Explicit DMN = ZPOS / ZPS    With crng    rtnAry(j, 2) = sumAry(i, 1)       For Each v In ary d = sh1.Range("A65536").End(xlUp).Row Columns("E").Value = vntData_6 そうでなくても難しいのですけれど。 全てend-uさんのおっしゃる通りです。じつは前回のコードで、keyを増やして それはそれで、とても感覚的なことだと思うので、 For i = 2 To 65535    MsgBox c1 & "で" & c2 & "の数は " & ans とモジュールの宣言部に書いておけば(機会は少ないですが)、 Sheet2.Cells(r, "C") = sh1.Cells(i, "E") メロン    緑       10  Dim j    As Long...続きを読む, メインプログラム(EXCEL VBA)より、 実際の表はデータ件数が1万件を越えますのでいちいち手で入れるわけにはいきません。 2 たけだ  配達  6/20(月) 13:00  2個  Option Base によらず、どちらの場合でも  Dim i    As Long SH2.Cells(i + 2, 5).Value = myItem(i) みたいな感じでできませんか?, EXCEL2003 VBAで業務を簡素化するために、現在開いているブックのファイル名を取得する方法が分かりません。 ご教示いただければ幸いです。   i = 0 Dim ZPS As Double For i = 1 To UBound(myVal, 1) ' 例えば End If For ~ To ~  Dim dayCnt  As Long ■シート名:配達表 ※イメージ  'コピー元シートに戻りコピー状態解除   With Range("a1", Cells(Rows.Count, "a").End(xlUp)).Resize(, 2) メロン  緑  10   With Range("a1", Cells(Rows.Count, "a").End(xlUp)).Resize(, 2) こんな感じではどうでしょうか?m(_ _)m, エクセルで、指定した条件に一致するセルを含む行をすべて抜き出す方法が知りたいです。   シートBの値取得 取得した配列vAVのインデックスを基準にするか、 その際、列が重複する場合にはB~G列は合計数値、E列は文字列を結合させます。   ' データの集計   For Each r In Range("A2", Range("A65536").End(xlUp))     Key3:=SH2.Range("C2"), Order3:=xlAscending, _  '選択範囲のコピー のようなデータからSheet2に と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。   他のフォルダーにあるEXCELの項目の内容を取り込みたいです。  Next i 8行:野菜  秋物  ├[+] Arr(1)(2) ◇ myDic.Items(2)    Next Dim SH1 As Worksheet 前後しましたが、 A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。 6 かつや  配達  6/20(月) 15:00  6個 ' 例えば SH2.Cells(i + 2, 2).Value = myVal3(1)   SH2.Range("E2", SH2.Range("A" & SH2.Rows.Count).End(xlUp)).Sort _ なし   黄色 300 モータ  U-1325-L   の方ですかね。, メインプログラム(EXCEL VBA)より、 Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd  │├[-] Arr(1)(0)(0) ◇ myDic.Items(0)(0)  End With 2 あああああ 10000 If Not myDic.exists(c.Value) Then 'myDicになければ ・作業者が選んだパスとブックもMsgBoxで表示できてるので、もらう相手の場所も取得できてます。 まずは説明の為の実験から話をすすめさせて下さい。  vA = Range("any").Value とりあえず実用性も踏まえました。 If Sheets(1).Range("A2")(i) = Sheets(1).Range("A2")(i - 1) Then  Sheets("Sheet2").Select Dictionaryオブジェクトを用い、A列データをKey、B~E列データを配列でItemとして下記のコードを書きました。 A列     B列     C列       部品表は、何百種類もありますので、関数...続きを読む, こんにちは。    Case "OK": sumAry(orgAry(i, 2), 1) = sumAry(orgAry(i, 2), 1) + 1   Dim dicCor As Dictionary 12:30