fumufumu_2006 の回答履歴
- エクセル重複チェックをしながら追記
エクセル2003 「Sheet5」のデータを「Sheet6」に重複チェックをしながら追記していきたいです。 「Sheet5」に他のソフトから出力したデータがあります。 「Sheet6」には履歴を残すために出力したデータを追記していきます。 そこで、重複チェックをしながら追記したいです。 重複チェックは【請求先コード】【日付】の2つでしたいです。 私が作成したものは【請求先コード】のみのチェックです。 日付のデータ型を「Date」にして、どう記述すればよいのか分からずに質問しました。 よろしくお願い致します。 「Sheet5」1行目は見出し A列・・・・・・・・・・・・・B列・・・・・・・・・・・C列 請求先コード | 請求先名 | 日付 1000 A社 2011/1/20 1010 B社 2011/1/20 1012 C社 2011/1/20 「Sheet6」1行目は見出し A列・・・・・・・・・・・・・B列・・・・・・・・・・・C列 請求先コード | 請求先名 | 日付 1000 A社 2011/1/10 1000 A社 2011/1/20 1010 B社 2011/1/10 1010 B社 2011/1/20 1012 C社 2011/1/10 1012 C社 2011/1/20 1015 D社 2011/1/10 1010 E社 2011/1/10 Sub test1() Dim ws1 As Worksheet, ws2 As Worksheet Dim x As Long, y As Long, z As Long, i As Long Set ws1 = Sheets("Sheet5") z = Range("A1").End(xlDown).Row Set ws2 = Sheets("Sheet6") x = ws2.Cells(Rows.Count, "A").End(xlUp).Row + 1 For y = 1 To z If ws1.Cells(y, "A").Value = "" Then Exit For Next ws1.Cells(2, "A").Resize(y - 1, z).Copy ws2.Cells(x, "A").PasteSpecial Paste:=xlPasteValues Application.CutCopyMode = False With Worksheets("Sheet6") 'A列とC列を基準に昇順で並び替えます Sheets("Sheet6").Select Range("A1").Select Range("A:C").Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range( _ "C2"), Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase _ :=False, Orientation:=xlTopToBottom, SortMethod:=xlPinYin, DataOption1:= _ xlSortNormal, DataOption2:=xlSortNormal '請求先コードにして重複チェック For i = ActiveSheet.Range("A65536").End(xlUp).Row To 2 Step -1 With Cells(i, "A") If .Value = .Offset(-1).Value Then .EntireRow.Delete End If End With Next End With End Sub
- ベストアンサー
- Visual Basic
- wai-girl
- 回答数2
- ExcelのVBAでAccess操作です
タイトルの操作で、エクセルシートのセルのコード番号をアクセスの データベースのIDのフィールドから検索し、アクセスのその行を削除または、修正をしようとしています。 アクセスのIDのフィールドには重複するものは存在しません。 現在For~Nextで一行づつ見る方法まできましたが、レコード数が増えた場合かなりの時間がかかります。 エクセルのVBAの記述で TROW=検索範囲.Find(検索文字列,Lookat:=xlWhole).Row に換わる記述はどういうものがあるのでしょうか? エクセルのVBAで処理をしたいのですがよろしくお願いします。 また、For~Nextの記述の場合、変更しようとするとLockedがYesになっているため変更できない旨のメッセージが出ます。 アクセスのテーブルにロックがかかっている意味だと思うのですが、 Unprotectのような記述もあれば教えていただきたいと思います。 アクセスは全く初めてで壁にぶち当たっています。 どうぞ宜しくお願いします。
- 「変数の宣言」 が違うのでしょうか?
Excel 2002 です 下記コードはなんとか動作するんですが、 例えば、「Cells(1, 8).Value」が「2」の時、 「"G:G"」列の「12」にも動作してしまうので、 必ず、「2」だけに動作させたいんですが、 どのように記述すればよいでしょうか? 「Cells(1, 8).Value」と「"G:G"」列は、1~20までの数字しかありません。 他に、おかしな記述箇所がありましたら、教えて下さいませ。 何卒よろしくお願い致します。 ---------------------- Sub 一セルずつ貼付ける() Dim fWord As Integer, fAdd, c fWord = Cells(1, 8).Value With Workbooks("ああ.xls").Worksheets(1).Range("G:G") Set c = .Find(fWord, LookIn:=xlValues) If Not c Is Nothing Then fAdd = c.Address Do c.Offset(0, 5).Copy Worksheets(Worksheets.Count).Range("D65536").End(xlUp). _ Offset(1, 0).PasteSpecial Paste:=xlAll, _ Transpose:=True Set c = .FindNext(c) Loop While Not c Is Nothing And c.Address <> fAdd End If End With End Sub
- ベストアンサー
- オフィス系ソフト
- oshietecho-dai
- 回答数2
- エクセルマクロでブック名を検索できない
エクセルマクロで今開いているブック以外のブック名を取得して編集するマクロを作っていますが、一度他のブックを開かずにエラーメッセージ"価格を検索したいブックを開いて下さい。"を表示させると以降開いたブック名を取得出来ません。 For Each wb In Application.Workbooks s = wb.Name If s <> ActiveWorkbook.Name Then Exit For Else MsgBox "価格を検索したいブックを開いて下さい。" Exit Sub End If Next オブジェクトの解放など調べてみたのですが、初心者でよく解らず困っています。どなたか教えて下さい。
- ベストアンサー
- オフィス系ソフト
- noname#113614
- 回答数2
- 条件付き書式だと思いますが
いつも御世話になっています 条件付き書式で出来ると思いますが,やり方が分かりませんので教えてください。 状況としてはC2,C3,C4に*を入力します。 C2とC3に入力がないのにC4に入力があったらC4のセルを赤くする C2に入力があるのにC3に入力がなかったらC3のセルを赤くする C3に入力があるのにC4に入力がなかったらC4のセルを赤くする これらをやりたいと考えています よろしくお願いします
- 条件付き書式だと思いますが
いつも御世話になっています 条件付き書式で出来ると思いますが,やり方が分かりませんので教えてください。 状況としてはC2,C3,C4に*を入力します。 C2とC3に入力がないのにC4に入力があったらC4のセルを赤くする C2に入力があるのにC3に入力がなかったらC3のセルを赤くする C3に入力があるのにC4に入力がなかったらC4のセルを赤くする これらをやりたいと考えています よろしくお願いします
- PDF上の表の数字の集計方法を教えてください
PDF上の表の数字をEXCELに落とし、集計する方法はありますでしょうか?ちなみに、当方、TEXTなどファイル形式の知識もありません。どなたか、教えてください。よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- arigatouto
- 回答数1
- オブジェクト名が同じ図形の変更
アクティブセル値と同じオブジェクト名のテキストボックスが複数有ります。そのテキストボックスの大きさやテキスト(アクティブセル値と同じ)の内容に書き換えたいと思っています。 サイズとテキスト書き込みのステートメントをFor Eachで括りました。 途中にMsgboxを入れて確認するとボックスの数だけ繰り返しているのは間違いないのですが、変更できるのは1個だけです。 最初に作った(?)テキストボックスのみを何度も書き換えているのかな?と思っているのですが、複数個の変更をするにはどの様にしたらいいのでしょうか。 宜しくお願い致します。 Sub test() A = ActiveCell.Formula For Each shp In ActiveSheet.Shapes If shp.Name = A Then ActiveSheet.Shapes(A).Select Selection.ShapeRange.Height = 19.5 Selection.ShapeRange.Width = 19.5 With ActiveSheet.Shapes(A).TextFrame .Characters.Text = A End With With Selection.Font .Size = 7 End With End If Next shp End Sub
- ベストアンサー
- Visual Basic
- ae-1sp
- 回答数3
- excel(エクセル) マクロ 文字化け 海外
日本語のOSで製作されたマクロです。 海外(中国語版)のOSでエクセルを開き、マクロボタンを押したんですが、エラーメッセージが出ました。エラーメッセージは文字化けです。エラー時Dを押してマクロを見たのですが、?マークや空白がたくさんありました。 マクロを使いたいのですが、どうしてもよくわかりません。 日本語のOSでは、問題なく使えます。 初心者ですが、よろしくお願いします。 エラーの時、ヘルプを押しました。 只能在定義的範囲内存取陣列元件和集合物件成員。此錯誤有以下的起因和解決方法: ●引用了不存在的陣列元件. 陣列索引對此陣列索引範圍可能過大或過小,或是在應用程式中此點沒有指定範圍。検査陣列的宣告以確認其上界和下界。若使用的是重訂範圍的陣列,使用 UBound 和 LBound 函數來決定陣列存取。如果索引指定為變數,請検査変數名稱的字。 ●宣告陣列時沒有指定元件數目。例如,下列的程式碼就會導致此錯誤: ●Dim MyArray() As Integer ●MyArray(8) = 234 ' 導致錯誤 9。 Visual Basic 並不會將沒有指定範圍的陣列自動設為 0 - 10。必須使用 Dim 或 ReDim 來指定陣列中元件的數目。 ●引用了不存在的集合物件成員。 試著使用 For Each...Next 結構代替指定元件索引。 ●使用速寫法陣列索引,結果指定了錯誤的元件。 例如,當在集合物件上使用 ! 運算子時,! 自動指定了一個索引鍵。例如 object!keyname.value 和 object.item(keyname).value 是一樣的。在此例中,集合物件中如果 keyname 表示一個錯誤索引鍵,錯誤就會産生。若要改進此錯誤,在集合物件中使用正確的索引鍵名稱或索引。
- 締切済み
- Visual Basic
- 3895010
- 回答数3
- excel(エクセル) マクロ 文字化け 海外
日本語のOSで製作されたマクロです。 海外(中国語版)のOSでエクセルを開き、マクロボタンを押したんですが、エラーメッセージが出ました。エラーメッセージは文字化けです。エラー時Dを押してマクロを見たのですが、?マークや空白がたくさんありました。 マクロを使いたいのですが、どうしてもよくわかりません。 日本語のOSでは、問題なく使えます。 初心者ですが、よろしくお願いします。 エラーの時、ヘルプを押しました。 只能在定義的範囲内存取陣列元件和集合物件成員。此錯誤有以下的起因和解決方法: ●引用了不存在的陣列元件. 陣列索引對此陣列索引範圍可能過大或過小,或是在應用程式中此點沒有指定範圍。検査陣列的宣告以確認其上界和下界。若使用的是重訂範圍的陣列,使用 UBound 和 LBound 函數來決定陣列存取。如果索引指定為變數,請検査変數名稱的字。 ●宣告陣列時沒有指定元件數目。例如,下列的程式碼就會導致此錯誤: ●Dim MyArray() As Integer ●MyArray(8) = 234 ' 導致錯誤 9。 Visual Basic 並不會將沒有指定範圍的陣列自動設為 0 - 10。必須使用 Dim 或 ReDim 來指定陣列中元件的數目。 ●引用了不存在的集合物件成員。 試著使用 For Each...Next 結構代替指定元件索引。 ●使用速寫法陣列索引,結果指定了錯誤的元件。 例如,當在集合物件上使用 ! 運算子時,! 自動指定了一個索引鍵。例如 object!keyname.value 和 object.item(keyname).value 是一樣的。在此例中,集合物件中如果 keyname 表示一個錯誤索引鍵,錯誤就會産生。若要改進此錯誤,在集合物件中使用正確的索引鍵名稱或索引。
- 締切済み
- Visual Basic
- 3895010
- 回答数3
- エクセルマクロを使用して異なるセルの重複データを探したい
エクセルに以下のような値が入力されています。 A~Bは列番号 1~100は行番号 1 A B 2 11 14 3 12 15 4 13 13 . 100行まで続く A1からB100までに入力された値の中で、重複している値のセルを探して、セルの色を変えたいと考えています。 VBAを使って処理したいのですが、どなたかご教授頂けないでしょうか。宜しくお願いいたします。
- ベストアンサー
- Visual Basic
- akyom2
- 回答数5
- Excelで『Microsoft Excel Objects』でのVBA
こんにちわ。 早速ですが、Sheet1だけ他のBookでも使用する事があり、 Sheet1を移動した時に、VBAコードも一緒に移動させたいので、 『標準モジュール』ではなく、『Microsoft Excel Objects』の 「Sheet1(Sheet1)」部分にVBAコードを記入したいのですが、 他シートをデータを取得したりする処理が出来ません。 制約等あるのでしょうか? また、Sheet1を移動した時に、モジュールも一緒に移動させる事は 可能でしょうか? 宜しくお願いします。
- エクセルVBAで、月の最終日セルを取得する方法を教えて下さい。
エクセルで、あるデータを入れるための、1ヶ月の表を作成しています。 1ヶ月は毎月21日から、翌月20日までです。 セルA1に、作成したい月の最初の日付、たとえば2008/5/21と入力し、 マクロボタンを押すと、 A5に2008/5/21、B5に2008/5/22、C5に2008/5/23・・・・(表示は21,22,23) と自動で出るようにしました。 この時5/31と6/1の間に罫線を1本、入れたいのです。 月によって、6/31と7/1の間、2/28と3/1の間というふうに。 月の最終日、もしくは最初を取得して、VBAで罫線を指定したいのですが、 この最終日の指定の方法がわかりません。 どのようにしたら良いか、教えて下さい。
- ベストアンサー
- オフィス系ソフト
- orennji1111
- 回答数4
- Access:テーブルの情報を参照して、フォームに反映させる方法
Access : テーブルの情報を参照して、フォームに反映させる方法 はじめまして。Access初心者です。 データベースの参照の仕方について質問いたします。 現在、商品情報のデータベーステーブルがあり その中には「商品ID」「メーカー名」「商品名」、3つのフィールドがあります。 ここから、入庫テーブルを作るために 入庫フォームに「商品ID」を入力すると 自動で「メーカー名」「商品名」が表示され 最後に「入庫数」を入力すれば、入庫テーブルが完成するようにしたいです。 例) データベーステーブル 商品ID メーカー名 商品名 1 A社 AAA 2 B社 BBB 3 C社 CCC 4 D社 DDD 上記のデータベースがあり 商品名「CCC」が100個入庫した際 入庫フォームに「3」を入力すると 「3」 「C社」 「CCC」が表示され 最後に、入庫数「100」を入力して、入庫テーブルの完了としたいです。 そこで、入庫フォームにデータベースの内容を反映させる仕方が分かりません。 どなたかご教授願えないでしょうか?
- パソコン(エクセル)の文章をネットにつながずに携帯(ドコモ)で送信する方法
パソコンに入力した文章をドコモの携帯メール機能を使って、同じく携帯に送信するのは可能でしょうか? (1)セキュリティーのためパソコンはネットにつながっていません。 (2)パソコンはWindowsXP (3)エクセルのマクロ・VBAを使用して入力しています。
- ベストアンサー
- Visual Basic
- shosin999
- 回答数5
- エクセル
エクセルのマクロで、 ボタンをクリックしたらブラウザが立ち上がり、 その指定したURLの画面にあるフォームに固定文字列("aaa@aaa.aaa") が入力される といった事が実現できますか? エクセルの文字列にサイトURLを指定するところまでしか 分かりません。 さらにそのフォームをpost送信した状態にまでできると なおありがたいのですが・・・ 以下はあるサイトのソース抜粋ですけど、 エクセルからボタン一つでサイトからもうログインした状態にしたいのです。 <form method="POST" action="./login.phtml"> <input type="text" name="MAIL" size="30" value=""> <input type="submit" name="submit" value=" ログイン "> </form> よろしくお願いします。
- パソコン(エクセル)の文章をネットにつながずに携帯(ドコモ)で送信する方法
パソコンに入力した文章をドコモの携帯メール機能を使って、同じく携帯に送信するのは可能でしょうか? (1)セキュリティーのためパソコンはネットにつながっていません。 (2)パソコンはWindowsXP (3)エクセルのマクロ・VBAを使用して入力しています。
- ベストアンサー
- Visual Basic
- shosin999
- 回答数5
- エクセルグラフの軸ラベルを一括変換出来なくて困っています。
お世話になります。 初めて投稿いたします。 VBA初心者です。エクセルグラフの軸ラベルを一括変換したいのですが、分からなくて困っています。 過去ログ、個人HPなどを参考にして、一つのグラフを選択、下記マクロを実行すれば、一つのグラフのみなら軸ラベルを変更する事が出来たのですが、ワークシート内の複数の埋め込みグラフを一発でラベル変更する場合のマクロが作成できません。 当方会社員、データをまとめる為、今回100ヶほどのグラフを一括変換したいため、どうしてもマクロ処理したいと考えています。 For Each・・・Next でループさせたいのですが、何分初心者勉強中の為、エラー多発、何方かお分かりの方、お助け下さい。 Sub 軸ラベル一括変換() With ActiveChart With .Axes(xlCategory, xlPrimary) .HasTitle = True .AxisTitle.Text = "X" End With With .Axes(xlValue, xlPrimary) .HasTitle = True .AxisTitle.Text = "y" End With End With End Sub
- EXCEL VBA マクロ 日付
こんばんわ。 EXCEL VBA マクロ の日付について質問があります。 セル"A1"で"年"(例:2008)、セル"B1"で"月"(例:5)を指定します。 C1からC500くらいまで(毎日増えていきます)日付が入っています。 A1、B1で指定した年月と同じC列の日付を 10桁スラッシュ区切りの形式(例:2008/05/15)で 右隣のセル(D列)にコピーしたいんです。 困ったことにC列は形式が決まっているわけではありません。 たとえば、2008年5月15日の場合、 ・20080515・2008年5月15日・2008.05.15・2008.5.15 ・2008/05/15・2008/5/15・08/05/15・2008-5-15 その他、いろいろ考えられます。 これをマクロでやるにはどうすればいいでしょうか。 毎月一回実行します。 日付の形式をチェックするところで やり方がわからなくて困っています。 よろしくお願いします。
- 締切済み
- Visual Basic
- noname#59735
- 回答数4