onlyrom の回答履歴

全624件中221~240件表示
  • inputBoxに 2007/07/25と入力したら・・・

    またまたお願いします。 注文した商品の受入処理をエクセルでやりたいと思ってます。 注文した履歴はSheets("T_注文")にあります。 項目は ID 注文番号 連番 注文日 仕入先コード 仕入先名担当者 消費税  納期 品番 商品番号 商品名 数量 単価 金額 備考 です。 注文日は2008/07/25を平成20年7月25日と書式設定で設定してあります。 さて、マクロで注文日をkeyとしてinputBoxに 2007/07/25と入力したら Sheets("T_注文")にフイルターがかかり選択し表示できるようにと マクロを書きましたが、実際、 該当なしとなります。 多分 2008/07/25 と 平成20年7月25日 の差だと思うのですが、 inputboxに入力した時に平成20年7月25日となるようには出来ませんか? また 2008/07/25としても問題ないようにするにはどうしたらよいのでしょうか? おねがいします。 Sub 発注日受入処理実行() Dim Key As String '終了日 Application.ScreenUpdating = False Range("T_受入処理!A61").CurrentRegion.ClearContents Key = InputBox("検索する註文日番号を入力してください", "オービットベース:受入処理検索") If Key = "" Then Exit Sub End If Sheets("T_注文").Select ・・・・・・

  • inputBoxに 2007/07/25と入力したら・・・

    またまたお願いします。 注文した商品の受入処理をエクセルでやりたいと思ってます。 注文した履歴はSheets("T_注文")にあります。 項目は ID 注文番号 連番 注文日 仕入先コード 仕入先名担当者 消費税  納期 品番 商品番号 商品名 数量 単価 金額 備考 です。 注文日は2008/07/25を平成20年7月25日と書式設定で設定してあります。 さて、マクロで注文日をkeyとしてinputBoxに 2007/07/25と入力したら Sheets("T_注文")にフイルターがかかり選択し表示できるようにと マクロを書きましたが、実際、 該当なしとなります。 多分 2008/07/25 と 平成20年7月25日 の差だと思うのですが、 inputboxに入力した時に平成20年7月25日となるようには出来ませんか? また 2008/07/25としても問題ないようにするにはどうしたらよいのでしょうか? おねがいします。 Sub 発注日受入処理実行() Dim Key As String '終了日 Application.ScreenUpdating = False Range("T_受入処理!A61").CurrentRegion.ClearContents Key = InputBox("検索する註文日番号を入力してください", "オービットベース:受入処理検索") If Key = "" Then Exit Sub End If Sheets("T_注文").Select ・・・・・・

  • Excel VBA:エクセルのマクロで入力規則を設定する際のアラートの扱いがわからず困っています

    エクセルでINDIRECTを使った入力規則設定をマクロで行う際の、アラートの扱いがわからず困っており、お教えいただけると幸いです。 例えば、A列に日付、B列にその日付に行った都道府県名、C列にはB列で選択した都道府県に属する自治体名を入れる場合を考えます。 そのために、  ・北海道、青森、…という具合に都道府県名のリストに、あらかじめ『都道府県名』と言う名前をつけたものを作成しておく。  ・洞爺湖、阿寒湖、釧路、…という北海道の自治体名リストにあらかじめ『北海道』と言う名前をつけたものを作成しておく。  ・弘前、八戸、十和田、…という青森県の自治体名リストにあらかじめ『青森』と言う名前をつけたものを作成しておく。   :(以下同様) と言う準備をしたあと  -B列の入力規則ダイアログボックスで、入力値の種類を『リスト』、元の値として『=都道府県名』とすることでドロップダウンリストから都道府県名を選ぶことが出来ます。  -C列の入力規則ダイアログボックスで、入力値の種類を『リスト』、元の値として『=INDIRECT(B1)』とすることでドロップダウンリストから自治体名を選ぶことが出来ます。   C列の規則を設定する際にB列にまだ都道府県名が入っていない場合は『元の値はエラーと判断されます。続けますか?』と言うアラートが出ますがOKを押して続行。 とすれば、C列のドロップダウンリストでB列で選択した都道府県に属する自治体名が選べることになります ここまでは、教科書などにも書いてある内容なので問題はないのですが、これをマクロ化すると問題が発生します。 上記の入力規則の設定をマクロで記録し、実行すると  『実行時エラー'1004'.アプリケーション定義またはオブジェクト定義のエラーです。』 が発生します。エラーの起こっている場所はC列の入力規則定義部分の .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= xlBetween, Formula1:="=INDIRECT(B1)" のようです。 B列に都道府県名が入った状態ではエラーとはならないので、マクロ記録時に『元の値はエラーと判断されます。続けますか?』が出てOKとした部分が 何らかの問題となっているとは思うのですが、対処方法がわからずに困っております。 ちなみに、On Error Resume Nextを入れておいたとしても、エラーでマクロが中断されることはなくなりますが、入力規則の設定は行われないので対処方法にはなりません。 質問が長くなり恐縮です。 コピーペーストなどで入力規則の設定が消えてしまうことがあるので、ブックの立ち上げ時に入力規則の再定義をしたいと考え、このような質問となりました。 対処方法おわかりの方、ご教授いただけると大変助かります。 なお、環境はwindowsXP、excel2003です。 よろしくお願いいたします。

  • マクロでの行削除処理について

    マクロで行削除をする際、 Rows("1:2").Delete Shift:=xlUp Range("A1").EntireRow.Delete 上記どちらかで実施すると場所指定で削除できると思います。 例えばですが、 番号 科目 1 数学 2 数学 3 体育 4 体育 のようにデータがあるとして、番号の大きいほうの科目を 残すようにする方法で、変数を使ってやる方法はできないのでしょうか。 for文で行数まわすイメージを考えております。

  • 完全一致の件検索とその修正について

    誠にすみませんが おねがいします。 エクセルで注文書と入荷の受入処理を行いたくマクロを作ってます。 途中 みなさんからお聞きしたマクロ文を参考にしてます。 注文書発行後そのデータをT_注文シートに最終行を確認して貼り付けます。 受入処理はそのT_注文シートの項目の注文番号を指定して T_受入処理シートに張ります。ここで 受入の諸事項を記入して再度、 T_注文シートにID番号で完全一致させ上書きさせたいと考えてます。 しかし、下記のマクロだと途中の '既存データの修正 x.PasteSpecial _ Paste:=xlPasteValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=True で デバックしてとまります。ローカルウィンドで確認したら xはNothingでした。 なぜでしょうか?教えてください。 マクロの全文です。 Sub 受入処理() Dim z As Long '[T_注文]シートの最終行番号 Dim x As Range '検索したセル '画面を固定 Application.ScreenUpdating = False If Range("T_受入処理!C21").Value = "" Then MsgBox "受入有無が未記入です。確認してからこの処理をおこなってください。", vbOKOnly, "オービットベース データ有無確認" Exit Sub End If If Range("T_受入処理!C22").Value = "" Then MsgBox "受入日が未記入です。確認してからこの処理をおこなってください。", vbOKOnly, "オービットベース データ有無確認" Exit Sub End If If Range("T_受入処理!C23").Value = "" Then MsgBox "受入数が未記入です。確認してからこの処理をおこなってください。", vbOKOnly, "オービットベース データ有無確認" Exit Sub End If If Range("T_受入処理!C24").Value = "" Then MsgBox "受入単価が未記入です。確認してからこの処理をおこなってください。", vbOKOnly, "オービットベース データ有無確認" Exit Sub End If '入力したデータをコピー Range("c5:c24").Copy '[T_注文]シートを選択 Sheets("T_注文").Select '最終行番号を取得 z = Range("a1").End(xlDown).Row '[番号]を検索(ここをみなさんから教えていただきました。) Set x = Range("a2:a" & z).Find(What:=Range("T_受入処理!c5").Value, _ LookIn:=xlValues, _ LookAt:=xlWhole) '既存データの修正 x.PasteSpecial _ Paste:=xlPasteValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=True 'コピーモードを解除 Application.CutCopyMode = False MsgBox "この品目の受入処理を完了しました。", vbOKOnly, "オービットベース:受入処理完了" '[入力]シートを選択 Sheets("T_受入処理").Select '画面の固定を解除 Application.ScreenUpdating = True

  • エクセル関数です。

    エクセル関数です。名簿等で姓と名を別々のセルに入力してあり、それを結合したいと思います。 但し、姓又は名が1文字の時、間に1文字分の空白を挿入したいのですが、どのようにすればよろしいでしょう。ご教授願います。

  • VBA【dictionary勉強中ですが・・・】集計マクロ

    いつもお世話になっております。 現在dictionary勉強中ですが、なかなかコツをつかめず 思ったとおりのマクロを作成することができません(ノ_;) ところで、今回作成しているのは 元データ.xlsというファイルのシート(データ)に   |【A】| B | C |【D】| E | F |・・・|H|I|【J】|K 3  【顧客ID】|顧客|受付日|【担当】|・・・|【会場名】|(見出し) 4  データの始まり↓ と、ありまして、 集計データ.xlsのシート(集計)に  | A | B | C | D | E | F | 1 顧客ID|担当|会場名| と二行目から一覧表があります。 A列のIDが一致するものに Sheet(データ)  →  Sheet(集計)  セル( i, "D")の値 → セル( j, "B") に セル( i, "J")の値 → セル( j, "C")に     セル(j,"C")に値が入っているとき、セル(j,"D")に→Fまで(4回のみ) A列のIDが一致するものがない時 セル( i, "A")の値 → セル( 最終,"A")に  セル( i, "D")の値 → セル( 最終, "B") に セル( i, "J")の値 → セル( 最終,"C")に追加 というように、入れたいのですが、 以下のようなコードをネットで見つけ自分なりに考えて変更を加えてみましたが あまり分かっていないためどのように変更すればいいのかよく分かりません。どなたかご教授ください。お願いします。 Sub Try() Dim data_1() As String Dim data As Long Dim maxrow As Long Dim t As Integer, f As Integer, y As Integer Set ws1 = Worksheets("集計") Set ws2 = Worksheets("データ") Application.ScreenUpdating = False maxrow = ws2.Range("a65536").End(xlUp).Row With ws1 For i = 2 To Range("a65536").End(xlUp).Row data = .Cells(i, 1) f = 0 t = 0 With ws2 t = Application.WorksheetFunction.CountIf(.Range("a4:a" & maxrow), data) If t > 0 Then For n = 1 To maxrow ReDim Preserve data_1(f) If data = .Cells(n, 1) Then data_1(f) = .Cells(n, 10) f = f + 1 If t = f Then Exit For Else 'A列にIDが存在しなければ追加する:ここの記述がよく分かりません。 data_1(f) = .Cells(n, 1) End If Next n For y = 0 To UBound(data_1) ws1.Cells(i, maxcol(i)) = data_1(y) Next y End If End With Next i End With Application.ScreenUpdating = True End Sub '-------------------------- Private Function maxcol(ByVal i As Long) As Integer Dim j As Integer With Worksheets("集計") j = 4 Do While .Cells(i, j) <> "" j = j + 1 Loop maxcol = j End With End Function

  • VBA【dictionary勉強中ですが・・・】集計マクロ

    いつもお世話になっております。 現在dictionary勉強中ですが、なかなかコツをつかめず 思ったとおりのマクロを作成することができません(ノ_;) ところで、今回作成しているのは 元データ.xlsというファイルのシート(データ)に   |【A】| B | C |【D】| E | F |・・・|H|I|【J】|K 3  【顧客ID】|顧客|受付日|【担当】|・・・|【会場名】|(見出し) 4  データの始まり↓ と、ありまして、 集計データ.xlsのシート(集計)に  | A | B | C | D | E | F | 1 顧客ID|担当|会場名| と二行目から一覧表があります。 A列のIDが一致するものに Sheet(データ)  →  Sheet(集計)  セル( i, "D")の値 → セル( j, "B") に セル( i, "J")の値 → セル( j, "C")に     セル(j,"C")に値が入っているとき、セル(j,"D")に→Fまで(4回のみ) A列のIDが一致するものがない時 セル( i, "A")の値 → セル( 最終,"A")に  セル( i, "D")の値 → セル( 最終, "B") に セル( i, "J")の値 → セル( 最終,"C")に追加 というように、入れたいのですが、 以下のようなコードをネットで見つけ自分なりに考えて変更を加えてみましたが あまり分かっていないためどのように変更すればいいのかよく分かりません。どなたかご教授ください。お願いします。 Sub Try() Dim data_1() As String Dim data As Long Dim maxrow As Long Dim t As Integer, f As Integer, y As Integer Set ws1 = Worksheets("集計") Set ws2 = Worksheets("データ") Application.ScreenUpdating = False maxrow = ws2.Range("a65536").End(xlUp).Row With ws1 For i = 2 To Range("a65536").End(xlUp).Row data = .Cells(i, 1) f = 0 t = 0 With ws2 t = Application.WorksheetFunction.CountIf(.Range("a4:a" & maxrow), data) If t > 0 Then For n = 1 To maxrow ReDim Preserve data_1(f) If data = .Cells(n, 1) Then data_1(f) = .Cells(n, 10) f = f + 1 If t = f Then Exit For Else 'A列にIDが存在しなければ追加する:ここの記述がよく分かりません。 data_1(f) = .Cells(n, 1) End If Next n For y = 0 To UBound(data_1) ws1.Cells(i, maxcol(i)) = data_1(y) Next y End If End With Next i End With Application.ScreenUpdating = True End Sub '-------------------------- Private Function maxcol(ByVal i As Long) As Integer Dim j As Integer With Worksheets("集計") j = 4 Do While .Cells(i, j) <> "" j = j + 1 Loop maxcol = j End With End Function

  • VBA【dictionary勉強中ですが・・・】集計マクロ

    いつもお世話になっております。 現在dictionary勉強中ですが、なかなかコツをつかめず 思ったとおりのマクロを作成することができません(ノ_;) ところで、今回作成しているのは 元データ.xlsというファイルのシート(データ)に   |【A】| B | C |【D】| E | F |・・・|H|I|【J】|K 3  【顧客ID】|顧客|受付日|【担当】|・・・|【会場名】|(見出し) 4  データの始まり↓ と、ありまして、 集計データ.xlsのシート(集計)に  | A | B | C | D | E | F | 1 顧客ID|担当|会場名| と二行目から一覧表があります。 A列のIDが一致するものに Sheet(データ)  →  Sheet(集計)  セル( i, "D")の値 → セル( j, "B") に セル( i, "J")の値 → セル( j, "C")に     セル(j,"C")に値が入っているとき、セル(j,"D")に→Fまで(4回のみ) A列のIDが一致するものがない時 セル( i, "A")の値 → セル( 最終,"A")に  セル( i, "D")の値 → セル( 最終, "B") に セル( i, "J")の値 → セル( 最終,"C")に追加 というように、入れたいのですが、 以下のようなコードをネットで見つけ自分なりに考えて変更を加えてみましたが あまり分かっていないためどのように変更すればいいのかよく分かりません。どなたかご教授ください。お願いします。 Sub Try() Dim data_1() As String Dim data As Long Dim maxrow As Long Dim t As Integer, f As Integer, y As Integer Set ws1 = Worksheets("集計") Set ws2 = Worksheets("データ") Application.ScreenUpdating = False maxrow = ws2.Range("a65536").End(xlUp).Row With ws1 For i = 2 To Range("a65536").End(xlUp).Row data = .Cells(i, 1) f = 0 t = 0 With ws2 t = Application.WorksheetFunction.CountIf(.Range("a4:a" & maxrow), data) If t > 0 Then For n = 1 To maxrow ReDim Preserve data_1(f) If data = .Cells(n, 1) Then data_1(f) = .Cells(n, 10) f = f + 1 If t = f Then Exit For Else 'A列にIDが存在しなければ追加する:ここの記述がよく分かりません。 data_1(f) = .Cells(n, 1) End If Next n For y = 0 To UBound(data_1) ws1.Cells(i, maxcol(i)) = data_1(y) Next y End If End With Next i End With Application.ScreenUpdating = True End Sub '-------------------------- Private Function maxcol(ByVal i As Long) As Integer Dim j As Integer With Worksheets("集計") j = 4 Do While .Cells(i, j) <> "" j = j + 1 Loop maxcol = j End With End Function

  • VBA【dictionary勉強中ですが・・・】集計マクロ

    いつもお世話になっております。 現在dictionary勉強中ですが、なかなかコツをつかめず 思ったとおりのマクロを作成することができません(ノ_;) ところで、今回作成しているのは 元データ.xlsというファイルのシート(データ)に   |【A】| B | C |【D】| E | F |・・・|H|I|【J】|K 3  【顧客ID】|顧客|受付日|【担当】|・・・|【会場名】|(見出し) 4  データの始まり↓ と、ありまして、 集計データ.xlsのシート(集計)に  | A | B | C | D | E | F | 1 顧客ID|担当|会場名| と二行目から一覧表があります。 A列のIDが一致するものに Sheet(データ)  →  Sheet(集計)  セル( i, "D")の値 → セル( j, "B") に セル( i, "J")の値 → セル( j, "C")に     セル(j,"C")に値が入っているとき、セル(j,"D")に→Fまで(4回のみ) A列のIDが一致するものがない時 セル( i, "A")の値 → セル( 最終,"A")に  セル( i, "D")の値 → セル( 最終, "B") に セル( i, "J")の値 → セル( 最終,"C")に追加 というように、入れたいのですが、 以下のようなコードをネットで見つけ自分なりに考えて変更を加えてみましたが あまり分かっていないためどのように変更すればいいのかよく分かりません。どなたかご教授ください。お願いします。 Sub Try() Dim data_1() As String Dim data As Long Dim maxrow As Long Dim t As Integer, f As Integer, y As Integer Set ws1 = Worksheets("集計") Set ws2 = Worksheets("データ") Application.ScreenUpdating = False maxrow = ws2.Range("a65536").End(xlUp).Row With ws1 For i = 2 To Range("a65536").End(xlUp).Row data = .Cells(i, 1) f = 0 t = 0 With ws2 t = Application.WorksheetFunction.CountIf(.Range("a4:a" & maxrow), data) If t > 0 Then For n = 1 To maxrow ReDim Preserve data_1(f) If data = .Cells(n, 1) Then data_1(f) = .Cells(n, 10) f = f + 1 If t = f Then Exit For Else 'A列にIDが存在しなければ追加する:ここの記述がよく分かりません。 data_1(f) = .Cells(n, 1) End If Next n For y = 0 To UBound(data_1) ws1.Cells(i, maxcol(i)) = data_1(y) Next y End If End With Next i End With Application.ScreenUpdating = True End Sub '-------------------------- Private Function maxcol(ByVal i As Long) As Integer Dim j As Integer With Worksheets("集計") j = 4 Do While .Cells(i, j) <> "" j = j + 1 Loop maxcol = j End With End Function

  • VBA【dictionary勉強中ですが・・・】集計マクロ

    いつもお世話になっております。 現在dictionary勉強中ですが、なかなかコツをつかめず 思ったとおりのマクロを作成することができません(ノ_;) ところで、今回作成しているのは 元データ.xlsというファイルのシート(データ)に   |【A】| B | C |【D】| E | F |・・・|H|I|【J】|K 3  【顧客ID】|顧客|受付日|【担当】|・・・|【会場名】|(見出し) 4  データの始まり↓ と、ありまして、 集計データ.xlsのシート(集計)に  | A | B | C | D | E | F | 1 顧客ID|担当|会場名| と二行目から一覧表があります。 A列のIDが一致するものに Sheet(データ)  →  Sheet(集計)  セル( i, "D")の値 → セル( j, "B") に セル( i, "J")の値 → セル( j, "C")に     セル(j,"C")に値が入っているとき、セル(j,"D")に→Fまで(4回のみ) A列のIDが一致するものがない時 セル( i, "A")の値 → セル( 最終,"A")に  セル( i, "D")の値 → セル( 最終, "B") に セル( i, "J")の値 → セル( 最終,"C")に追加 というように、入れたいのですが、 以下のようなコードをネットで見つけ自分なりに考えて変更を加えてみましたが あまり分かっていないためどのように変更すればいいのかよく分かりません。どなたかご教授ください。お願いします。 Sub Try() Dim data_1() As String Dim data As Long Dim maxrow As Long Dim t As Integer, f As Integer, y As Integer Set ws1 = Worksheets("集計") Set ws2 = Worksheets("データ") Application.ScreenUpdating = False maxrow = ws2.Range("a65536").End(xlUp).Row With ws1 For i = 2 To Range("a65536").End(xlUp).Row data = .Cells(i, 1) f = 0 t = 0 With ws2 t = Application.WorksheetFunction.CountIf(.Range("a4:a" & maxrow), data) If t > 0 Then For n = 1 To maxrow ReDim Preserve data_1(f) If data = .Cells(n, 1) Then data_1(f) = .Cells(n, 10) f = f + 1 If t = f Then Exit For Else 'A列にIDが存在しなければ追加する:ここの記述がよく分かりません。 data_1(f) = .Cells(n, 1) End If Next n For y = 0 To UBound(data_1) ws1.Cells(i, maxcol(i)) = data_1(y) Next y End If End With Next i End With Application.ScreenUpdating = True End Sub '-------------------------- Private Function maxcol(ByVal i As Long) As Integer Dim j As Integer With Worksheets("集計") j = 4 Do While .Cells(i, j) <> "" j = j + 1 Loop maxcol = j End With End Function

  • エクセルのハイパーリンクの使用について質問です。

    あるセルの文字と文字の間にハイパーリンクの設定を行いたいのですが そのセル全体の文字すべてにリンクがかかってしまいます。 部分的にハイパーリンクの設定をかけたい場合はどのようにすれば 宜しいでしょうか。(2重括弧で《  》で囲ったりしましたが、駄目でした) 宜しくお願いいたします。

  • 配列に使うArry関数について

    winXP Excel2003でマクロ作成している初心者です。 1)指定した4個のシート以外を選択するコードを教えていただきました。  これを利用して list = Array("AAA会社", "BBB会社", "CCC会社", "DDD会社", "EEE会社", ・・以下略") の 部分を手修正でなく、追加削除にも対応できるように指定シート以外を選択したいのですがうまくいきません。 どうかお助けください。 ーーーーーーーーーーーーーーーーーーーーーーーーーーー 教えていただいたコード Sub 請求書入力()   ' // 処理を除外するシート名リスト   Const EXCEPT_NAME = "集計用 印刷用 リンク用 会社見本"   Dim sh As Worksheet   For Each sh In ThisWorkbook.Worksheets     If InStr(EXCEPT_NAME, sh.Name) = 0 Then       sh.Activate       Call 請求書作成用部品     End If   Next End Sub ーーーーーーーーーーーーーーーーーーーーーーーーーー 現在のマクロコード Sub 請求一覧表作成() Application.ScreenUpdating = False ChDrive ThisWorkbook.Path ChDir ThisWorkbook.Path Call BookOpen("請求書入力.xls") Dim list, SheetName Sheets("請求一覧表").Select Range("A4:U15").Select Selection.ClearContents Range("A4").Select list = Array("AAA会社", "BBB会社", "CCC会社", "DDD会社", "EEE会社", ・・以下略") ↑この部分はシートの追加・削除の度に手修正している。 For Each SheetName In list Sheets(SheetName).Activate Call 配列 Next Worksheets("請求一覧表").Activate ActiveSheet.Protect End Sub ーーーーーーーーーーーーーーーーーーーーーーー Sub 配列() With ActiveSheet ' 配列に格納 -- Dim i As Integer Dim LastRow As Long Dim SaleAry As Variant ' 配列に格納 -- SaleAry = Array(.Range("C8"), .Range("D13"), .ange("T30")・・・以下略)) End With ' 転記 --- With Worksheets("請求一覧表") LastRow = .Range("A65536").End(xlUp).Row For i = 0 To UBound(SaleAry) .Cells(LastRow + 1, i + 1).Value = SaleAry(i) Next i End With Set SaleAry = Nothing End Sub

  • Listプロパティについて

    お世話になります。 自分で作ったコードではないので、訂正していたらよくわからなく なってしまいました。 これはsheet1からsheet2にリストボックスから転記するように なっています。MyCol = Arrayの部分を変更したのですが、 参考書で調べてみたのですが、理解出来なかったので、質問しました。 ListIndex8までを転記していることはわかりました。 その後、ListIndexを11列周期で値をMyBufに代入したいと考えています。(言葉が適当なのかはわかりません) 下記の部分を変更すればよいと思うのですが、まずはコードの 意味を理解したいと思うので、このコードの意味をわかりやすく 解説してもらえませんでしょうか? MyBuf(i, 0) = .List(N, i * 9 + j + 8) Next Range(MyCol(j) & "21:" & MyCol(j) & "42").Value = MyBuf 以下コード Range("AP4").Value = ListBox1.List(ListBox1.ListIndex, 0) Range("AN3").Value = ListBox1.List(ListBox1.ListIndex, 1) Range("AQ3").Value = ListBox1.List(ListBox1.ListIndex, 2) Range("C3").Value = ListBox1.List(ListBox1.ListIndex, 3) Range("C6").Value = ListBox1.List(ListBox1.ListIndex, 4) Range("AH14").Value = ListBox1.List(ListBox1.ListIndex, 5) Range("AM54").Value = ListBox1.List(ListBox1.ListIndex, 7) Range("AH15").Value = ListBox1.List(ListBox1.ListIndex, 251) Range("AH16").Value = ListBox1.List(ListBox1.ListIndex, 252) Range("AH17").Value = ListBox1.List(ListBox1.ListIndex, 253) Range("AH18").Value = ListBox1.List(ListBox1.ListIndex, 254) Dim i As Integer, j As Integer, N As Integer, MyBuf(21, 0), MyCol MyCol = Array("B", "F", "K", "L", "Z", "AB", "AD", "AH", "AK", "AM", "AS") With ListBox1 N = .ListIndex For j = 0 To 8 If j <> 7 Then For i = 0 To 21 MyBuf(i, 0) = .List(N, i * 9 + j + 8) Next Range(MyCol(j) & "21:" & MyCol(j) & "42").Value = MyBuf End If Next End With Exit Sub

  • テキストボックスのフォーカスについて

    テキストボックスの設定としては、右揃えにしてフォーカスが常に一番右に表示させていたいのですが、常に一番右に表示させる方法がわかりません。 なので、分かる方教えていただけないでしょうか? 一番右というのはテキストボックスに数字などが入力されてもフォーカスは常に入力された数字の右側にフォーカスがあるということです。

  • VBAで文字列を数値に変換したい

    A列とE列の文字列になってしまった数値を 数値に変換したく、以下のようなものを作ったのですが、 文字の無いセルまで、数値に変換しようとするので 時間がかなりかかります。 何かよい方法は無いでしょうか? よろしくお願いいたします。 Sub 数値に変換() Range("A:A,E:E").Select For Each xCell In Selection xCell.Value = xCell.Value Next xCell End Sub 使用ソフトEXCEL2000orEXCEL2003

  • リストボックスについて

    リストボックスからデータを転記したいのですが、 実行時エラー"1004"が出てしまい、どうしてもうまくいきません。 どなたか原因を教えてください。 Private Sub ListBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Dim i As Long With Worksheets("sheet2") i = .Range("F47").End(xlUp).Row + 1 .Range(i, 6).Value = ListBox1.List(ListBox1.ListIndex, 0) .Range(i, 12).Value = ListBox1.List(ListBox1.ListIndex, 1) .Range(i, 26).Value = ListBox1.List(ListBox1.ListIndex, 2) .Range(i, 28).Value = ListBox1.List(ListBox1.ListIndex, 3) .Range(i, 34).Value = ListBox1.List(ListBox1.ListIndex, 4) .Range(i, 37).Value = ListBox1.List(ListBox1.ListIndex, 5) End With Unload Me End Sub

  • Sub Auto_Open() 実行されない

    Excel2003VBAについて教えてください。 あるBookから、VBAの”Workbooks.Open”で別のブックを開くように作ってあるのですが、開かれるBookのほうに”Sub Auto_Open()”で特定のシートをアクティブにするように作っています。 普通にBookを開くとSub Auto_Open()は実行されますが、”Workbooks.Open”では実行されません。 ”Workbooks.Open”で開いたときに、特定のシートがアクティブになればそれでよいのですが。 よろしくお願いします。

  • Microsoft Word図の使い方

    Word2003です 挿入→オブジェクト→Microsoft Word図の使い方を教えてください。 的外れな変な質問かと思いますが Word図に「テキストボックス」を描き、テキストボックスの大きさを文字列にあわせて調節して、小さくなったテキストボックスに合わせてWord図の点線で囲まれた部分の大きさを変更することはできますか。 Word図で描いたテキストボックスの文字は、テキストボックスの大きさを縮小又は拡大するとそれに応じて大きさが変更できます ただ、文書に取り込んだWord図がテキストボックスより大きく取り込まれるため、トリミングで小さくする必要があります。 できれば取り込む前にWord図の画面を縮小したいのです。 説明がわかりにくくて申し訳ありませんがよろしく御願いします。

  • 同じコンボボックス、リストボックスを使うには?

    よろしくお願いします。 今、ユーザーフォームを使って製造計画表を作っています。 コンボボックスで会社名、リストボックスで会社ごとの製品名を選択させるとこまで出来ました。 1日に3つの製品を作ることが出来るので、同じ中身のコンボボックス、リストボックスを使って3つ作りたいと思っています。 ユーザーフォームの形的にはこのような感じですが。 1. コンボボックス  リストボックス 2. コンボボックス  リストボックス 3. コンボボックス  リストボックス 今は、1.のとこだけは出来たのですが、2.3.は1.と同じコードをコピーして必要と思われるとこだけをコンボボックス2と変えたりしてみたのですが、上手くいきませんでした。こんなコードですが。 Private Sub UserForm_initialize() 'ComboBox1セット Dim ico As Long ico = 1 With ThisWorkbook.Worksheets("Sheet1") Do While .Cells(1, ico) <> "" Me.ComboBox1.AddItem .Cells(1, ico).Value ico = ico + 1 Loop End With Me.ComboBox1.SetFocus End Sub Private Sub ComboBox1_Change() 'ListBox1セット Dim ico As Long 'Me.ListBox1.Clear ico = Me.ComboBox1.ListIndex + 1 With ThisWorkbook.Worksheets("Sheet1") Me.ListBox1.List = .Range(.Cells(2, ico), _ .Cells(.Cells(Rows.Count, ico).End(xlUp).Row, ico)).Value End With End Sub VBAも初めたばかりで質問の内容もわかりづらいとも思いますが、よろしくお願いします。