Excelに関する質問は、ここで!
▼━ 質問のしかた ━━━━━━━━━━━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に
>>2-10 あたりの注意書きやQ&Aを必ず読むこと。
★4 質問テンプレ(雛形)は必須じゃないけど、
OSやExcelのバージョン、VBAの可否など(下記テンプレ1〜4の情報)は必須情報。
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
【5 検索キーワード 】 Googleやヘルプでの検索キーワード
※【4】は、VBAはわからないけどコード書いてくれるならVBAでもいいって場合は「可」
VBAを使うのは避けたいって場合は「否」にしましょう。丸投げする場合は、必要に応じてブックをアップすること。
※【5】は、あなたがGoogleやヘルプで検索した際に使ったキーワードを書いてください。
まだ検索してないなら、質問の前にGoogleやヘルプで検索してみてください。
ttp://www.google.co.jp/ 前スレ
Excel総合相談所 68
http://pc11.2ch.net/test/read.cgi/bsoft/1210171205/
▼━質問時の注意・決まり事━━━━━━━━━━━━━━━━━━━━ ・1 現行スレ内で既出の質問が無いか、ページ内検索をしよう。(Ctrl+F) ・2 図やコードを書く場合、TABや連続する半角スペースは無視されるので注意 ・3 VBAコードを貼る場合は、部分的に伏せたり省略したりせずに全て貼りましょう。何レス使っても構いません。 ・4 2回目以降の質問では名前欄に初回質問の番号を入れよう。 ・5 回答内容でわからない部分があっても、すぐに聞き返さずにヘルプやGoogleなどで検索しましょう。 ・6 バグ・動作上の不都合・仕様に関する質問などはマイクロソフトのサポートを受けましょう。 ここは技術的な質問のみで。 ・7 VBAはプログラム言語のVisualBasic(6以前)に近い処理が可能でExcelに関係ないことも出来ます。 Excelの操作に関係ない部分は、スレ違いなのでここで聞かずにVB言語やAPI、COMについて自分で勉強し、 どうしてもわからない部分はVBスレやAPIスレなどの該当スレで質問しましょう。 但し向こうはプログラマのスレなので、構文規則などの最低限の事は覚えてから質問しましょう。 ここみたいに丸投げはダメですよ。 ・8 うまくいかなかったにしても自分でやってみたこと(組んだ数式やコード)は書きましょう。 例えエラーになる式やコードでも、何をやりたいのかを的確に把握する手がかりになります。 その上で、どううまくいかないのかを具体的に書きましょう。 エラーが出るなら、何処でどういうエラーが出るのか、 想定外の結果が出るなら、条件と想定上の結果、実際の結果などを詳しく書いてください。 ・9 マルチはダメ。一度マルチしたら、謝っても他のスレの質問を取り下げても回答は得られないと思ってください。 ・A テキストボックス(エディトボックス)、コンボボックス(ドロップダウンリスト)、リストボックス、コマンドボタン、 チェックボックス、オプションボタン(ラジオボタン)、スピンボタン、スクロールバー、等の質問をするときは、 ユーザーフォーム、コントロールオブジェクト、フォームオブジェクトのどれなのかを必ず書くこと。 ・B 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。
★ルールを無視すると…
>>1-2 あたりのルールに従うか否かは自由だけど、従わないと以下のような不利益があるよ
1.マルチをしてしまったら…
A.謝っても他での質問を取り下げても、以後その質問に対する回答は付かない物と思ってください。
それが嫌なら初めからマルチなんてしないように。
>>2 にマルチ禁止と書いてあり、
マルチの意味が分からなければ検索すれば出てくるので、「知らなかった」は通用しません。
2.
>>1 ★4に従わず、必要な情報を出さないと…
A.自分の使用しているバージョンで使えない機能を答えられたり、VBA使えないとか使いたくないと書かないと
VBAでの解決OKで自分でコード書けるものと勝手に解釈されて、「VBAで出来るから自分でコード書いて」程度の
適当な回答を返されたりします。また、ここではVBAコード書けない人の丸投げ依頼を許可してますが
これはきちんとルールに従って質問、依頼した人のみの特権です。
3.情報・条件を後出しすると…
A.後から出された情報は意図的に無視されたり、質問自体を放置されたりします。
>>1 ★4の必須情報はもちろんのこと、要望や条件、既に試したことなどは、
長文になってもいいので詳細かつ明確かつ具体的に書きましょう。
★VBAについて
VBAとは、『Visual Basic for Application』の略で
Application
├Workbooks
|└Workbook
| ├Worksheets
| |└Worksheet
というApplication以下のオブジェクトを、VB言語で操作するものを指します。
例えExcel付属のVBE(Visual Basic Editor)を利用しようとも、このApplication以下のブックやシート、
セルやオブジェクト等を操作するもの以外はVBA分野の話ではないので、ここでは聞かないでください。
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼環境・書式 ・ 列数を256列以上、行数を65'536行以上に増やす (Excel2007では16'384列、1'048'579行扱える) ・ Excel2003以前で条件付き書式を3つ以上設定する (文字色だけなら、入力規則でも3つ設定可能。それ以外はVBA) ・ 行の高さを0.25きざみ以下の単位で指定する ・ セル内の文字を○で囲む、一部のみ2段にする (オートシェイプ、オブジェクト) ・ オートフィルタで英字の大小文字を区別する (小文字 → 半角、大文字 → 全角、と使い分ける) ・ 祝日を判断する (作業セルに祝日を列挙、VBA) ・ 同一列内でセル(行)ごとに列幅を変える、同一行内でセル(列)ごとに列高を変える (セルの結合) ・ ヘッダー・フッターのページ番号の開始番号任意指定、ページ番号演算、同シート内で違ったものを指定など ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する (プラグイン) ・ 罫線幅の自由指定 ・ 表示形式で「10/ 1」といった書式を指定し、日付が一桁の場合のみ日付の前にスペースを入れる (TEXT関数、VBA) ・ 書式設定の「折り返して全体を表示する」と「縮小して全体を表示する」を同時に使う (折り返しを有効にして、手動で文字サイズを調整) ▼操作 ・ ファイラーの右クリックメニューからの新規作成で、Excelで設定したシート数のブックを作る (任意のシート数のテンプレートを作成) ・ 複数シートを選択して入力規則やシートの保護を設定する (VBA) ・ オートコンプリート機能を、別列や離れたセルで動作させる (VBA) ・ 選択範囲から一部を除く、Ctrlを押しながらの複数選択で一部を取り消す (VBA) ・ 優先キーを3つ以上指定しての並べ替え (優先度の低い方から順に並べ替える) ・ 1セルを分割 (分割したいセル以外を結合)
★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法) ▼数式・関数 ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数) ・ 関数式でセルの選択状態を取得する (VBA) ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA) ・ 入力したセルに結果を返す (VBA) ・ 範囲を引数にしての文字列連結 (ユーザー定義関数) ・ 値の書き換え、値の保持 (VBA) ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む) ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA) ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数) ▼VBA ・ ExecuteExcel4Macroの参照で空セルと0値を区別する ・ セルの値や変数値で直接変数名を指定する (配列、コレクション) ・ VBのコントロール配列と同じような操作をしたい (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents) ▼ユーザーフォーム ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む) ▼グラフ ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入) ┌┐ 〜〜 ||
上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。 間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。 Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。 また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。 ここに書かれてないからといって必ず出来るはずだなんて思わないように。 >▼環境・書式 > ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する 補足 2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、 指定も同じくcm単位でできる。 ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように 近い値に勝手に丸められる。
________________________________
||
|| ━ 質問のしかた ━
||
|| ★1 質問するときは、環境や条件をキチンと書くこと。情報後出しはダメ。
|| ★2 要望は具体例や図を使って明確かつ具体的にしる。
|| ★3 質問前に
>>2-20 あたりの注意書きやQ&Aを必ず読むこと。
|| ★4 質問テンプレ(雛形)は必須ではないが、
|| OSやExcelのバージョン、VBAの可否などは必須情報。
||
|| ∧ ∧ 。
|| ( ,,゚Д゚)/ ジュウヨウ!! E[]ヨ
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ つ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
/  ̄ ̄ ̄ ./| ________________
| ̄ ̄ ̄ ̄| | |
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|____|/|
 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
\ は〜〜〜〜い /
∧ ∧ ∧,,∧ ∧ ∧
( ,, ∧▲ ミ ∧ ∧ ( ∧ ∧
〜(_( ∧ ∧_( ∧ ∧_ミ・д・∧ ∧
@(_(,,・∀・)@ ( *)〜ミ_ ( ,,)
@(___ノ 〜(___ノ 〜(___ノ
乙
先生にここのログを見せたらどんな顔するだろうな そもそもRIGHT(A2,2)がダメっって完全に後出し条件じゃん。質問スレでは門前払いされるレベルだぞ
後だしじゃないじゃん? 909 名前:名無しさん@そうだ選挙にいこう [] 投稿日:2008/05/23(金) 20:16:39 すみませんどなたかこの関数問題を教えて下さい。 問題としては守備位置の名前を表示させず名字の名前だけ 右のセルに表示させる問題です。※ライト関数で右2文字だけ表示させるのはダメです。 こんな板で吊られた?
>>11 943 :名無しさん@そうだ選挙にいこう :2008/05/24(土) 01:50:14
自分は
>>909 です。
皆さん、多数決の回答ありがとうございます。
正直な所、習った事がない問題で四苦八苦してました。
最初は、名前が皆二文字の為右二文字を表示されば良いと思いライト関数を使ってほらよ。解いたぞ〜 と思ったらそんな単純なもんじゃないと一喝され
『名字は一文字の人も居れば三文字の人も居る』と言われてしまいました。
後日、教室にこのカンニングに等しい回答を手にとり出撃します。
前スレで終わったんじゃないのか?引きずるなよ
前スレ994 ありがとうございました。やっぱりその方法しかないんですね。 最終行あたりを使って、保存時・終了時に削除するようにします。 前スレと元カレって似てますね
>>13 終わったかどうかはお前が判断することではない。
じゃ、俺が判断する。 終了。
乙 前スレ992 分かりませんか・・・。 VBAとかマクロとかならできるか調べてみます。 検証ありがとうございました。
>17 HYPERLINKが入ってると否応なしにリンクされるっぽいから、 INDIRECTとかでばらして強引にやれば関数でもいけるんじゃない?
19 :
前スレ :2008/05/24(土) 15:36:32
>18 IF関数の書き方が間違っていると思ってました。 ばらして・・・。なるほど!!もう少し関数でがんばってみます。
=SUM(HYPERLINK(B2),A1) でもリンクされるな。この関数が入ってればリンクされる・・ということかも
>20 どこに入れてもHYPERLINKされるんですね 何度も何度もIF書き換えてました(泣)
>22 おぉー!! 無理やりリンクをはずせばよかったんですね。思いつきませんでした。 「なし」でもカーソルを持っていくと、人差し指をさした形になりますが実用上問題なしです。 ありがとうございました。 アドバイスくれたみなさん ありがとうございました。とても助かりましたm(_ _)m
よし、じゃ約束のチューをさせてもらうぞ。 その後ものの弾みで最後までやってしまっても事故だからな。
や、やさしくしてくりゃれ…
26 :
質問です :2008/05/24(土) 22:27:45
【1 OSの種類 .】 Windows** 【2 Excelのバージョン 】 Excel98 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 質問です。 たとえば、1列目と3列目のそれぞれの番号がふられていて 2列目と4列目にはそれぞれの番号に対する金額がが書かれているとします。 1列目 2列目 3列目 4列目 001 20円 002 23円 002 11円 003 30円 004 20円 005 30円 こんな感じです。これを、 001 20円 −−− −−− 002 11円 002 23円 ーーー −−− 003 30円 004 20円 −−− −−− ーーー −−− 005 30円 このような感じで同じ番号同士のものを同じ行にくるようにしたいのですが どのようにすればいいのでしょうか? よろしくお願いします。
挿入
>26 やりたいことにあうかどうかはわからんけど、 3・4列目を1・2列目に貼り付けてしまって、 1列目で並び替え、もしくはピボットとかで集計すればどう?
別の個所にVlookupで引っ張ってきて、 #N/Aを置換で---に置き換える
>>26 データを不規則に移動させるのはVBA使わないと難しいんじゃないかなあ
31 :
質問です :2008/05/24(土) 22:44:04
すいませんーーーは空白の意味です。
>>28 さん
>>29 さんありがとうございます。
ためしてみます
>>26 こんなデータを用意する。
001 20 002 23
002 11 003 30
004 20 005 30
001 001
002 002
003 003
004 004
005 005
006 006
007 007
008 008
009 009
010 010
フィルタ機能を使って1列目から重複データを取り除き、それを別シートにコピペ。
フィルタ機能を使って3列目から重複データを取り除き、それを別シートにコピペ。
するとこんなデータができる。
001 20 002 23
002 11 003 30
004 20 005 30
003 001
005 004
006 006
007 007
008 008
009 009
010 010
>32 できてない・・・・!
34 :
32 :2008/05/24(土) 22:50:45
見にくいのでもう一度
>>26 こんなデータを用意する。
001 20 002 23
002 11 003 30
004 20 005 30
001 001
002 002
003 003
004 004
005 005
006 006
007 007
008 008
009 009
010 010
フィルタ機能を使って1列目から重複データを取り除き、それを別シートにコピペ。
フィルタ機能を使って3列目から重複データを取り除き、それを別シートにコピペ。
するとこんなデータができる。
001 20 002 23
002 11 003 30
004 20 005 30
003 001
005 004
006 006
007 007
008 008
009 009
010 010
35 :
32 :2008/05/24(土) 22:52:26
つづき 1列目と2列目を選択して1列目で昇順にソート。 3列目と4列目を選択して3列目で昇順にソート。 できあがり。
まずは1列目と3列目のデータをどこか別の一列に集めてソート、重複行を削除。 これを作業列として、LOOKUPで対応する値段をあてはめてく。
>35-36
でも結局できてないじゃない・・・!
003とか残るし、手動で消さなきゃいけないじゃない・・・・。
ていうか普通に
>>28 でよかったんでしょ?
39 :
32 :2008/05/24(土) 23:01:51
もっと効率のいい方法もある。 こういうデータに変更する。 番号 金額 列 001 20 1 002 11 1 004 20 1 002 23 3 003 30 3 005 30 3 そしてピボットテーブル 番号 1 3 001 20 002 11 23 003 30 004 20 005 30 完成
40 :
32 :2008/05/24(土) 23:07:12
>>26 まずA列とC列から作業列を作る。合わせてソートして重複を除いた物をE列に入れる。
次にG1に =IF(ISERROR(VLOOKUP($E1,A$1:B$3,2,0)),"",VLOOKUP($E1,A$1:B$3,2,0)) と入れて
G列とH列にコピペ。
さらにF1に =IF(G1="","",$E1) と入れてF列とH列にコピペ
ttp://paint.s13.dxbeat.com/up/src/paint_7188.png
42 :
41 :2008/05/24(土) 23:19:28
タイプミス × G列とH列にコピペ。 ○ G列とI列にコピペ。
44 :
名無しさん@そうだ選挙にいこう :2008/05/24(土) 23:59:50
【1 OSの種類 .】 Windows xp home
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】否
【5 検索キーワード 】 エクセル 重複 合計
http://www-2ch.net:8080/up/download/1211639915837869.TaAP4f 図の左の表を右の様に加工したいです。具体的には
1.月ごとに分ける
2.1つのユーザーに対して複数の作業先がある場合は、それぞれの1番早い日付に
他の日付の作業数を合計を入れる
(月が違う場合はまとめない)
3000行程度あり、手作業ではちょっと面倒なので効率的に出来るよう、知恵を貸してください。
お願いします。
>>44 基本的にはピボットテーブルでできますが、その前にデータを
「作業」と「作業明細」に分ける必要があります。
>2.1つのユーザーに対して複数の作業先がある場合は、それぞれの1番早い日付に
> 他の日付の作業数を合計を入れる
これ間違ってるでしょ?
47 :
44 :2008/05/25(日) 00:32:03
>45,46 やっぱりそれなんですね…。 使った事ないのでまだよく分かってません。 ピボットテーブルでどのようにやればいいかも出来れば教えて頂けるとありがたいです。 とりあえず調べてみます。 あと間違いとはどういうことでしょうか?
48 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 00:34:06
ABCの列があったとすると AとCだけコピペしたい場合はいちいち AとCをひとつづつコピペするしかないのでしょうか?
49 :
46 :2008/05/25(日) 00:37:57
>>47 >2.1つのユーザーに対して複数の作業先がある場合は、それぞれの1番早い日付に
> 他の日付の作業数を合計を入れる
2.1つのユーザーに対して同じ作業先がある場合は、それぞれの1番早い日付に
他の日付の作業数を合計を入れる
じゃないの?
>>48 ctrl押しながらクリックしていけば離れてる範囲を選択できる
51 :
46 :2008/05/25(日) 00:45:35
>49 あ、読み返すとおかしいですね。 1つのユーザーに対して同じ作業先がある場合は、 1番早い日付の作業数に、他の日付の作業数の合計を加える。 さらに作業先が複数ある場合は、それぞれの1番早い日付の作業数に、 他の日付の作業数の合計を加える。 かな。分かりにくくてすみませんでした。
52 :
46 :2008/05/25(日) 00:50:50
もうひとつ間違い。
あなたの名前は
>>44 でしょ。
データをこのように整理してみました。
作業番号 ユーザー 受注数 作業先 作業数 日付 開始日付
1 A 50000 X 7000 4月1日 4月1日
1 A 50000 X 7000 4月2日 4月1日
1 A 50000 X 7000 4月3日 4月1日
2 A 50000 Y 7000 4月3日 4月3日
3 A 50000 Z 4000 4月4日 4月4日
4 A 50000 X 7000 5月1日 5月1日
5 A 50000 Y 7000 5月1日 5月1日
6 A 50000 Z 4000 5月1日 5月1日
7 B 30000 X 15000 4月1日 4月1日
7 B 30000 X 10000 4月2日 4月1日
8 B 30000 X 5000 5月1日 5月1日
53 :
44 :2008/05/25(日) 01:11:08
>52 その1列目は、1番上に1を入れてそれ以降は =IF(AND(B3=B2,D3=D2,MONTH(F3)=MONTH(F2)),A2,A2+1) こんな感じでしょうか? そしてその後、開始日付はどうなってるのか分かりません。
>>47 まずF列に「月」を作る。1行目に月と入れて、2行目に=MONTH(E2)
次にピボットテーブルを置きたい場所の左上のセルをクリックしてから
メニューからデータ→「ピボットテーブルとピボットグラフ レポート」→「次へ」
範囲を入れるダイアログが出たら元データの入った表全体をドラッグ→完了
すると、青い罫線で囲まれたピボットテーブルと、「ピボットテーブルのフィールドリスト」ってのが出てくるから
まずフィールドリストから月をドラッグ。(月にマウスポインタを合わせ、左ボタンを押す。押したままマウスを動かして
薄いグレーで「ここに行のアイテムをドラッグします」と書かれた枠の中までポインタを動かして左ボタンを離す)
続けてユーザー、作業先を同じ場所にドラッグ。
次に作業数を「ここにデータアイテムをドラッグします」のところへドラッグ。
ピボットテーブルの見出しの「月」の部分を右クリック、フィールドの設定、
出てきた「ピボットテーブルフィールド」ダイアログのラジオボタンの「なし」を選択、OK。
「ユーザー」「作業先」の合計も同様に消す。
データ領域の見出しの「集計」を右クリック、オプション、「列の総計」のチェックを外してOK。
ここまでやったのが以下のようなテーブル。
ttp://downloads.myphotos.cc:8080/up1/src/FancyFree0532.png 同じように受注数の合計も出して、日付はVLOOKUPで入れるしかないと思う。
55 :
46 :2008/05/25(日) 01:19:40
>>53 いえ、考え方を逆にしてみてください。
ユーザー,受注数,作業先,開始日付が作業番号に従属しているのです。
つまり,作業番号が決まれば、その行のユーザー,受注数,作業先,開始日付も決まります。
ピボットテーブルは、操作方法を文章で書くとめちゃくちゃ長くなるけど、 実際は30秒もかからずに集計表が完成するから ちゃんと覚えておくと色々と役に立つよ。
57 :
46 :2008/05/25(日) 01:27:59
>>52 で示したデータをピボットテーブルで集計すれば目的の表ができあがります。
ここではもう一歩進んで、どうやったら
>>52 のようなデータを管理することができるか
考えて見ましょう。
>>52 のデータでは作業番号が決まれば、その行のユーザー,受注数,作業先,開始日付が決まります。
そこでデータを「作業」と「作業明細」に分離します。
58 :
46 :2008/05/25(日) 01:31:12
こうなります。 作業 作業番号 ユーザー 受注数 作業先 開始日付 1 A 50000 X 4月1日 2 A 50000 Y 4月3日 3 A 50000 X 4月4日 4 A 50000 X 5月1日 5 A 50000 Y 5月1日 6 A 50000 Z 5月1日 7 B 30000 X 4月1日 8 B 30000 X 5月1日 作業明細 作業番号 作業数 日付 1 7000 4月1日 1 7000 4月2日 1 7000 4月3日 2 7000 4月3日 3 4000 4月4日 4 7000 5月1日 5 7000 5月1日 6 4000 5月1日 7 15000 4月1日 7 10000 4月2日 8 5000 5月1日
59 :
44 :2008/05/25(日) 01:46:17
http://www-2ch.net:8080/up/download/1211647085948806.HkdGzK 一応やってみたこの方法を添削して頂きたいです。
・A列
A2に1、A3以降は
=IF(AND(C3=C2,E3=E2,MONTH(H3)=MONTH(H2)),A2,A2+1)
・B列
B2に
=IF(A2=A1,B1+1,1)
・G列
=SUMIF($A$2:$A$12,A2,$F$2:$F$12)
・I列
=IF(B2=1,H2,"")
・J列
=MONTH(I2)
眠くなてキター
60 :
44 :2008/05/25(日) 01:49:15
うわリロード忘れてました! また明日暇なんで参考にして試させて頂きます。 親切にレスくれた方々ありがとうございました。
おまいら難しく考えすぎ。これでいいじゃん。
J2=IF($A3&$C3&MONTH($E3)=$A2&$C2&MONTH($E2),B2+J3,B2)
L2=IF($A3&$C3&MONTH($E3)=$A2&$C2&MONTH($E2),D2+L3,D2)
N2=MONTH(E2)
O2=IF(I1&K1&N1<>I2&K2&N2,"○","")
で、フラグが○の行だけオートフィルタ
ttp://x072.s10.x-beat.com/up/src/up0635.png.html
63 :
46 :2008/05/25(日) 02:04:58
>>59 >>55 でも説明しましたが、A列(作業番号)をユーザーや受注数のような他の項目から導いてはいけません。
考え方が逆です。作業番号を与えれば、ユーザーや受注数が決まるのです。
64 :
46 :2008/05/25(日) 02:12:36
>>59 この表は上段が作業明細データ、下段が作業データになっていますね。
作業番号に従属する項目は
>>55 で説明したように
ユーザー,受注数,作業先,開始日付です。
ですから、作業データ(下段の表)には作業数と日付の項目は不要です。
>>61 と
>>62 は不正解。
それじゃだめなんだよ。
日付が月をまたぐような場合うまくいかないだろ?
>>66 おっと月ごとに分けるんだったね。
不正解とか言って失礼。ごめん。
68 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 09:34:01
>>50 貼り付け時にもABCのBを飛ばして
はりつけしたいのですが
>>68 ctrl押しながら(列を)クリックしていけば離れてる範囲を選択できる
70 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 10:18:30
>>69 コピーしようとしたら
そのコマンドは複数の選択範囲には使用できません
ってでるのですが・・・
72 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 10:24:11
>>71 列ではなくセルです、すいません
でも、列でもコピペはできてもはりつけができないのですが
73 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 10:26:02
何度もすいません ようするにやりたいのは複数の離れ離れのセルを一度で コピペできないかということです。もちろんセルの貼り付け位置も 間隔はそのままではなればなれのまます
>>72 コピペとはコピー&ペーストの略。
日本語に訳すと複写と貼り付け。
だからコピペはできても貼り付けできないなんてことはありえないですよ。
>>73 できないということなんじゃないかな。
マクロでやれば?
76 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 11:02:04
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 SP3 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 「Excel 行 番号」 <通常> オートフィルを使った場合 1 りんご 2 りんご 3 みかん 4 みかん 5 ばなな 6 ばなな <希望> 同じデータは同じ連番(昇順)にしたい 1 りんご 1 りんご 2 みかん 2 みかん 3 ばなな 3 ばなな この<希望>のようにするにはどうしたらいいでしょうか? 宜しくお願いします。
1列目に連番、2列目に商品が並べ替えられて入力されているとして、 A1に「1」 A2に、=IF(B1=B2,A1,A1+1) で、A2を選択してセルの右下の黒いとこダブルクリックでフィルすればおkじゃね? できあがったら値のみコピーして貼り付け
78 :
76 :2008/05/25(日) 11:32:58
>>77 な、なるほど。IF関数だけで、そんなに簡単にできてしまうんですね。
勉強になりました。
ありがとうございます!
excelで簡単にカード型データベースがつくれるようなキットないですか 入力・編集フォームのレイアウトが自由に作れて、レコードの追加・更新・削除ができるやつ。 vectorにいくつかあるようですが、項目数に制限があるのでいやです。
>79 そんなのをEXCELで始めようとするから後で手が付けられなくなる。 知識がないならACCESSでも使え。 知識があるならそんな簡単なものくらい自作しろ。
ACCESSなり使えればいいんだけど、職場ではwordとexcelしか使わせてくれない。 なければ自分で汎用的につかえるものつくるしかないけど、あるなら使おうと思った。
知識があるなら作るほうが早いな
Access使わせてもらえるようにするのが一番いいんじゃないか。
>>79 なぜ入力フォームが必要なのかをつきつめて考えてみたら?
入力フォームのどんな機能が使いたいのか。
案外不要なんじゃないか?
アクセスで入力フォームが果たしている決定的な仕事は
非正規化されたテーブルへのデータ入力じゃないかなあ。
売上テーブルに得意先名や売上単価を冗長に記録するよう
な非正規化された設計がされている場合なんかに、得意先
コードや商品コードから得意先マスターや単価マスターを
参照して値をコピーするような。
これ以外に入力フォームの存在価値がわからない。
>>79 もこんなことしたいの?
>>73-75 離れたままのペーストは残念ながらCtrl+Vではできない。
値だけなら参照式を入れてCtrl+Enterでコピーできるが、内容(式や書式)はマクロを使わないと無理。
87 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 14:34:17
>>46 いつものピボット厨うぜー、一度で説明すれや!
>>79 ユーザーフォームでググって自分で作れ。
89 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 15:09:07
>>88 てめーは日本語も読めないのか?www
内容に文句を言ってるんじゃねえよ。
いくつのレスしてんだよ?説明がへたくそなんだよ、ボケ!
確かに。
こういつ奴が、質問の仕方が悪いと本気で思ってるから救いがない
構ってほしいだけなんだから相手しない
93 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 16:57:20
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel** 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 HYPERLINKについて質問 他のエクセルファイルのシートまで指定して開くリンクのシート名を他のセルから読み込みたいのですが可能でしょうか?
>>93 セルを右クリック→ハイパーリンクを選んだ時と、HYPERLINK関数を使った場合とで方法が違うんで、
まずどっちか書いて。
96 :
名無しさん@そうだ選挙にいこう :2008/05/25(日) 17:50:30
>>96 A1のリンクからシート名を取り出してB1に入れる
Sub GetSheetName()
L = Range("A1").Formula
X = InStr(L, "]") + 1
Range("B1") = Mid(L, X, InStr(L, "!") - X)
End Sub
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 あるシートのセルに、そのブックに存在する他の全てのシート名を列記することは可能でしょうか? ちょうどそのブックに存在するシート名の目次・見出しを作るような感じです。 VBAを使えば可能ということをどこかで見かけた気もしますが、一般の関数等だけではやはり無理でしょうか。 よろしくお願いします。
>98 すぐ上の方法で各セルのシート名を各シートのどっかにだして まとめセルで参照する。
>>99-100 即レスありがとうございます。
>>100 さんの方法はなんとなく思いつきましたが、各シートの特定のセル(例えばA1)にそのシート名を書き出させた場合、
新しいシートが末尾に追加される場合も途中に割り込ませることも想定した上で、
まとめシートにおいて自動的に列方向または行方向に並べる方法↓
A
1 シート1
2 シート2
3 シート3
・
・
・
が思いつきませんでした。
なにか方法はありますか?
sheet1、sheet2・・とデフルトの状態でいくつシートがあるか、欠番が無いかを調べるなら
sheet0のA1に=INDIRECT("sheet"&ROW()&"!A1")
と入れて下にオートフィルすれば欠番シートがエラー値になるので分かりやすい・・って程度
基本、シート名は
>>94 かVBAしか無理だな
>>102 なるほど、シート名を連番にしさえすれば、エラー値はIF関数で消すとして、ある程度用は足りますね。
実はシート名は飛び飛びの日付にしているのでこの方法は使えませんが、参考になりました。
ありがとうございました。
104 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 00:14:47
質問です 仕事で毎週重たいエクセルのファイルをもらうようになったんですが、 サクサク動かすために、グラボの導入は効果ありますか。 メインメモリはXPで1GBあるんでそこそこ足りてるはずと思います。
効果はほとんど期待できません 自腹で購入してください
>>104 ビデオカードはあまり関係ない。
必要なのは1にCPUパワー、2にメモリ。
ファイルの内容にもよるが、1GBでは足りない可能性もある。
107 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 01:20:29
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel バージョン5.0 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 Googleやヘルプでの検索キーワード マイクロソフトエクセル バージョン5 互換性 新しく始めた仕事で、エクセルを使うことになりました。 先方からエクセルで仕事を送られてくることになったので、 知り合いからバージョン5というのを貰いました。 先方のファイルは2008というお試し用で開いていたのですが、使用期限切れに伴い 開くことが出来なくなりました。 そこで、貰ったエクセルで開こうとしたところ、開けませんでした。 必要な情報はダウンロードしたつもりだったのですが・・・。 開こうとしたファイルの画面には、エクセルの絵とびっくりマークが 出ていて開くことが出来ません。 何が足りないのか、ご教授いただけると有難いです。 教えてちゃんで申し訳ありませんが、どうぞよろしくお願い申し上げます。
108 :
前スレ893 :2008/05/26(月) 01:25:04
以前、表のまとめ方で質問しましたが、
もう一度別件で質問したいことがあります。
【1 OSの種類 .】 Windows Vista
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】勉強中なのでほぼできないと思ってください
【4 VBAでの回答の可否】 可(というか是非お願いします)
<やりたいこと>
@二つの異なるxlsファイルがあり、その中身をマクロを使って自動的にまとめて表を生成する。
Aマクロによって生成された表から、グラフが出るようにしてほしい。
説明が下手くそですいません。
なので、実物をアップしといたので、よろしければ下記へ飛んで、ご教授ください。
ttp://uploaders.ddo.jp/upload/1mb/の 1up4575.rar
>>107 Excel 5.0は今から10年以上も前に発売された、とても古いソフトです。
はっきり言って役に立ちません。新しいExcelを買ってきてください。
最新のバージョン2007を買うのが一番確実ですが、まだあまり普及していないので
大抵の仕事は、1つ前のバージョン2003でも大丈夫です。
まずは先方に必要なExcelのバージョンを確認してください。
ttp://www.amazon.co.jp/dp/B000JQLPO0 最新版以外はオークションで探すことになりますが、オークションでは、
たまにライセンスの問題で使えない物を売っている人もいるので
あまり安すぎる物には注意が必要です。
110 :
44 :2008/05/26(月) 01:40:28
>>107 つOpenOffice.org
とりあえずこれ使っとくとか。
リカバリしたら試用版がまた使えるようにならないか?
個人的に使うだけなら5.0だろうがOpenOfficeだろうがなんでもいいけど、 仕事で人とファイルの交換をする時はバージョンを合わせないとトラブルの元だぞ。
>>108 別ファイルのデータを参照する時は
[ファイル名]シート名!セル名
のように書く。たとえば
=[登録リスト.xls]登録リスト!B3
のように。関数の中でも同じように使える。
これで複数のファイルに分かれたデータを1つにまとめられる。
あとは前スレで出たとおり。
114 :
107 :2008/05/26(月) 01:59:21
レス下さった皆様、どうもありがとうございました。 役に立たないんですか・・・>バージョン5 仕方ないので、購入を検討することにしようと思います・・・。
請求書を興味本位でOOoで開いたら全然違っててワロタ
116 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 02:02:52
sheet1の変数からsheet2に記載された変数を呼び出すことは可能? 自作標準問わず関数はシートを跨げるんでしょうか。
MS-Officeの仕様って公開されることになったんじゃなかったっけ? まだOpenOfficeの対応が追いついてないのかな?
119 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 02:21:52
>>117 Excel関数じゃなくてマクロ関数で呼び出す場合はどうしたらいいんでしょうか。
>>119 Range("Sheet2!A1").Value
121 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 02:38:26
あわわわ、いつのまにかセルの指定の話になってますけど そもそも最初の質問はマクロで算出した値の話です。 例えばsheet1のマクロでA1:A30の合計やらなにやらを算出して manという値(実数)を得たとします。sheet2のマクロで、 その値をセルに出力して「man個」と表示させたいのです。 sheet2のマクロからsheet1の範囲を指定して算出しろという 突っ込みは ⊂ ⊂ヽ、 /)/) c、 `っ( ヽ ( v)c、 `っ V''V ( v) / ̄`⊃ V''V | ⊃ ( v) ハ,,ハ V''V (゚ω゚ ) ⊂⊂ ヽ > ) (/(/ ハ,,ハ ( ゚ω゚ ) おことわりします / \ ((⊂ ) ノ\つ)) (_⌒ヽ ヽ ヘ } ε≡Ξ ノノ `J
man個・・・・バカにしやがって!
123 :
116,119,121,122,123 :2008/05/26(月) 02:41:18
書き忘れてました。すみません。
124 :
123 :2008/05/26(月) 02:41:59
122は違ったw 書き直して123にするつもりが残して123を追加しちゃってました。すんまそん。
>>121 まずSheet1でマクロやら関数を使って何らかの計算をしたとして、
その結果はSheet1のどこかのセルに入ってるだろ?
それを参照しろ。
計算だけして結果をどこにも入れない、なんて使い方はできないからな。
126 :
123 :2008/05/26(月) 02:45:08
そうなんですか・・・何か方法はないんですか?
何がやりたいんだ? どうしてもシートを書き換えたくないんならクリップボードにでも入れとけ。 つーか、マクロはどうやって呼び出してんのよ。
>>116 「sheet2に記載された変数」の意味がよくわかりません。
まず、変数はマクロの中だけで使う物なので、ワークシートに直接書くことは出来ません。
ワークシートの中で値を格納する場所は「セル」になります。
そして、マクロはモジュールという単位で管理されます。
どのマクロでも、どのシートからでも呼び出すことができます。
Sheet1のマクロ、Sheet2のマクロ、といった分け方はしません。
(例外でイベントハンドラというのはありますが)
何か、言葉の使い方を間違っていると思います。
まずはそのあたりをはっきりさせるための質問を考えた方がいいと思います。
ワークシートモジュールの変数のスコープの話じゃないかな
いや関数かな
131 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 10:41:29
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 Sumif関数の条件式について質問です。 コード 値 412515 2 405112 1 412815 2 400817 1 407212 1 こんな感じの大量データを集計したいのですが、 コードの下2桁(12とか15とか)でSumifしたいのですが 式一発で、できないでしょうか?
>>131 コードが文字列なら=SUMIF(A1:A6,"*12",B1:B6)とか配列数式でできるが、下二桁を作業列に取り出してピボットテーブルの方がよい。
>>132 すばやい回答をありがとうございます。
やっぱりそうですね、数値だと*で合計できなくて><
ありがとうございました。
=SUMPRODUCT((MOD(A1:A99,100)=12)*B1:B99)
135 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 12:36:55
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 ATANを角度の"45°"とかの角度で求めたいのですが出し方がよく分かりません。 どなたか教えてください、お願いします。
136 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 12:46:58
>>135 DEGRESS:ラジアンを度に変換
RADIANS:度をラジアンに変換
137 :
136 :2008/05/26(月) 12:49:05
>>135 DEGREES:ラジアンを度に変換
RADIANS:度をラジアンに変換
まちがえちゃった、コッチを見て
138 :
123 :2008/05/26(月) 12:54:56
シートを跨いで変数扱えるじゃないですか! ■sheet1 のマクロ Public Unko As Integer 'うんこフラグ sub test() Unko = 1 End Sub ------------------------------------------- ■sheet2のマクロ sub tynko() msgbox sheet1.Unko End Sub ------------------------------------------- でちゃんと表示されましたよ。 「いやいや当たり前だしそもそもお前が何したいかちゃんと説明できてないから」というツッコミは ⊂ ⊂ヽ、 /)/) c、 `っ( ヽ ( v)c、 `っ V''V ( v) / ̄`⊃ V''V | ⊃ ( v) ハ,,ハ V''V (゚ω゚ ) ⊂⊂ ヽ > ) (/(/ ハ,,ハ ( ゚ω゚ ) お断りします / \ ((⊂ ) ノ\つ)) (_⌒ヽ ヽ ヘ } ε≡Ξ ノノ `J
139 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 13:00:05
>>138 こいつ教えてもらう態度じゃないな・・・
>>138 いやいや当たり前だしそもそもお前が何したいかちゃんと説明できてないから
つーか、聞く前にやったほうが早かったね
シートを跨ぐってそういう意味だったのね。 シート関係ないやんw
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 Sheet 1に参照用のデータ(それぞれの列の項目は番号、氏名、生年月日、住所…など)の表 Sheet 2で番号をドロップダウンリストから選択、Vlookup関数で参照し氏名や生年月日などが自動で入力される表 現在はこのような状態で使用しているのですが、これを番号だけではなく氏名もドロップダウンリストで選択、 番号やその他の項目が表示されるようにしたいのですが、どんな方法がありますでしょうか? よろしくお願いします。
>>142 vlookupは右側を検索できるが、左側を検索したいならlookupを使うといい
matchでもできると思う
144 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 16:28:17
BookAのSheet1に「=Sheet2!A1」のように別シートを参照しているセルがあり、それをコピーして BookBのSheet1に貼り付けようとすると「=[BookA.xls]Sheet2:A1」と、コピー元のブックを参照してしまいます。 これを、BookBのSheet2を指すように貼り付けたいのですが、そのような事はできますか? (大量のセルをコピーするので、数式そのものをコピーして貼り付けするのは避けたいです。) 環境はWinXP、Office2007です。解決法がVBAでも構わないです。 よろしくお願いします。
>>145 なるほどその手がありましたか。
ありがとうございます。
VBAを含めてもそれが最速ですかね?
148 :
144 :2008/05/26(月) 18:43:19
>>147 自動化手段かな。
意図がよく汲み取れないのですが、どういう事ですか?
>VBAを含めてもそれが最速ですかね?
実行時間なら手作業よりVBAの方が当然早いんだが
コーディング時間と
>>148 の頭の中身によっては・・・
手作業とVBAの処理時間を比較する意図がワカンネ=
>>147
>>149 あー、いえ。置換以外の方法を求めたのです。
何かコイツ、VBAでもかまわないといいながら全然分かって無い気がする・・・
>>150 置換をVBAでやれと先輩方は言っているのだよ。
153 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 19:24:46
・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
154 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 19:26:24
全然・・・ 分かって・・・・・・ 無い気がする・・・・・・・・・ アホ丸出しだな先輩方
155 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 19:27:24
VSAに固執するアンタの了見の狭さがキモイ
156 :
144 :2008/05/26(月) 19:30:24
>>149 あー。ごめんなさい。
元々VBAでやるつもりだったんですが、
>>145 が手作業の方法を提示してくれたものだと思っての
>>146 です。
・・・にしても変な日本語ですね。すみません。
×「VBAを含めても〜」→○「VBAで置換するのが最速ですかね?」
157 :
144 :2008/05/26(月) 19:38:41
ああ!なんか自分のせいで荒れてる!
スレ汚し失礼しました〜。
あと一応ですが
>>154 は自分ではありません。
>>156 いやだから、どっちが速いかは、その質問だけじゃわからんのだってば。
たとえば、貼り付けと置換を何十回もしなきゃならなくて、ある程度
機械的に処理できるような内容ならVBAを使った方がたぶん早い。
>157 VBA使うなら置換のみじゃなくて張り付ける作業をやらせるべきじゃない? 置換のみの速度はVBAでも手動でもほぼ一緒でしょ。
単純な規則性とか決まった法則があるならVBAのが速い。 ルールが複雑すぎる場合は手作業でやった方が早いこともある。 内容と量で使い分けるもんだ。
A1、B2、C3・・のみ置換、但し他は置換しないこと なんていう変な規則性&手作業でやりにくいものなら断然VBAだな あと正確にできるってのも強味 でもそういうのが200ぐらいないと手作業の方が余程はやい 100ぐらいなら間違いなく手作業の方が早い
いちいちCtrl押しながらクリックは意外と面倒だし間違えやすい。 俺なら不規則に100個あったら事前にセルの一覧をテキストで打ち込んどいてVBAかな。 シート上の作業はマクロの記録でもしない限り残らないけれど、 リストが残っていると、ミスしてないかどうかあとから確認できるというメリットもある。
163 :
名無しさん@そうだ選挙にいこう :2008/05/26(月) 21:09:22
2007を使っていますが ある行全てのセルの頭4文字だけデリートするようなことって 出来るのでしょうか? その方法を教えて下さい。
>>163 A1に文字が入ってるとすれば
=RIGHT(A1,4)
で値として残したければこのままA1にコピー&ペーストで値のみ
165 :
164 :2008/05/26(月) 21:21:50
間違えた。これはひどい
>164 MID/MIDBじゃないの?
167 :
164 :2008/05/26(月) 21:23:49
>>163 =RIGHT(A1,LEN(A1)-4)
こうだ、うん
4文字以下の時は
=if(,LEN(A1)-4<0
辺りで条件分岐させておくれ
168 :
166 :2008/05/26(月) 21:23:54
>165 www >163 =MID(A1,5,LEN(A1))
169 :
164 :2008/05/26(月) 21:25:37
170 :
168 :2008/05/26(月) 21:25:37
>167 あれ? >163は頭4文字消したいんだよな? 俺が勘違いしてるのか?
172 :
168 :2008/05/26(月) 21:30:40
>167 あっ! やっと意図が分かったw
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(勉強中) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 繰り返し 処理 など す・・すいません。VBA入門買ってしまってなんですがたぶん本当の初歩なんでしょう・・・掲載されてない・・・ a1セルに番号←基点番号 A2セルに連番個数 a1からa2の連番分数値を他のセルに連続出力したいのですが -------------- Range("c1").Select For i = ○○ To ○○ ActiveCell.Value = i ActiveCell.Offset(1, 0).Select Next i ------------- for next文の所にA1 A2セルの内容を参照させたいのですが ど・・どうすれば ・・・よく本見てみると構文はそこそこ掲載されてるんですが初歩すぎてVBAにセルを組み込む例が全く書いていない・・・ よろしければアドバイスを・・・(´・ω・`)
【1 OSの種類 .】 WindowsVISTA Business 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel2007 Excel2003 リストボックス コンボボックス エラー 不具合 マウス スクロール マクロ activeXコントロール リストボックス(コントロール)で複数行選択するときに2列×50行なんで マウスでスクロールしようとしたところ終了しますとメッセージがでて終了してしまいます。 原因は表示されません。 2003では正常に動作していたんで2007の不具合かと思ったんですが、 今自宅なんで2007がアップデート済みかどうか確認していません。ファイルも職場です。 明日またいじってみますが、なにをチェックしたらよいでしょうか。
>173 Range("A1").Value
>>173 Range("C1").Select
For i = Range("A1") To Range("A2")
ActiveCell.Value = i
ActiveCell.Offset(1, 0).Select
Next
177 :
173 :2008/05/27(火) 00:45:06
>>173 Range("C1").Value = Range("A1").Value
Range("C1").Resize(Range("A2").Value).DataSeries
>>176 × For i = Range("A1") To Range("A2")
○ For i = Range("A1").Value To Range("A1").Value + Range("A2").Value - 1
>>178 オブジェクトを正確に書けと言いたいんなら
× Range("A1").Value
○ Range("A1").Cells.Item(1,1).Value
.Value付けると付けないでどう違うの?
>181 説明しても分かんないだろうからvalue付けとけ。 そのうち分かる。
Webページとして保存と発行の違いって何なのでしょうか? さらに、選択範囲でシートを保存した場合と発行の違いがわかりません。 同じように思えます。
>>134 どうもありがとう。でもそれだと#VALUE!なのです><
185 :
名無しさん@そうだ選挙にいこう :2008/05/27(火) 10:43:41
VISTAでExcel2007を使ってますが、セルを右クリックでセルの書式設定の画面を開くまでタイムラグが結構あるのですが、これは仕様ですか? PCの性能的にはCore2Duoの2.1Gメモリ2G積んでるので問題ないと思いますが。
>185 ウィルスとマクロのチェック。 あと「結構」と言われてそんな体感的な表現で分かるわけがない。 まずは右クリック→[F]→[ESC]を100回やって平均をだせ。
187 :
185 :2008/05/27(火) 10:57:22
>>186 PCを立ち上げて初めてエクセルで操作するときだけ遅く、その後はストレス無く開くのです。
最初の操作はだいたい4,5秒かかるかな。
こんなもんですか?
>187 そんなもん。 セルの書式設定ダイアログボックスはExcelの起動時には メモリに読み込まれてないらしく、最初の一回目は時間がかかる。 2007に限らず従来のバージョンでも同じだったと思う。
>>187 HDDの読み込み速度の問題なので、CPUやメモリは関係ない。
一度読み込んでしまえばメモリ上に残るので、その後は時間がかからない。
多分だが、フォントの読み込みに一番時間がかかってる。いらないフォントをアンインストールしたらマシになるかもしれない。
参考になるかわからんが、自分の環境ではFontフォルダが256MB、その中に278個のフォントファイルが入ってる(隠しファイル含む)。
かかる時間は6秒程度。CPUはC2D,E4500。
190 :
185 :2008/05/27(火) 11:38:15
>>188-189 ありがとうございます。
そういう仕組みなのですね。
Excel2002ではこんなストレス感じなかったので不安に思ってました。
フォントなどいろいろいじってみます。
>PCを立ち上げて初めてエクセルで操作するときだけ遅く、 何でこういう情報を後出しするかな〜・・・
そういうとこまで気使えるレベルなら最初から質問してないだろ
>>183 発行の方は、MSのSharePointServerと連携できる機能だったかな。
単体だとweb書き出しと変わらないと思うよ。
>>184 この式はあくまでも例だから、A1:A99 と B1:B99 の部分には、実際に集計したい数字の範囲を入れるんだよ。
1行目が見出しでデータが2行目から始まるなら A2:A250 、 B2:B250 みたいに。
195 :
名無しさん@そうだ選挙にいこう :2008/05/27(火) 14:00:43
1/1月 100 1/2火 150 1/3水 200 ☆第一週の最高値 1/8月 100 1/9火 100 1/10水 300 1/12金 150 ☆第二週の最高値 週の日数が異なる表から、 各週の最高値を検索するにはどうすれば良いですか? よろしくお願いします。
>>195 1.全日数分のシートを用意する。
2.LookupなりIndex/Matchで該当日の値を表示させる。
3.好きな単位で集計しろ。
>>195 バージョン明記しようね。ピボットテーブルって知ってる?
日付 曜日 金額
1月1日 月 100
1月2日 火 150
1月3日 水 200
1月8日 月 100
1月9日 火 100
1月10日 水 300
1月12日 金 150
↑これに対し、(バージョンが2007なら)「挿入」から「ピボットテーブル」、(バージョンが2003以前なら「データ」から「ピボットテーブルとピボットグラフレポート」)
行ラベル(行フィールド)に日付、値ラベル(データアイテム)に金額
行フィールドで右クリック→「グループ化」→「日」にチェック、開始日・最終日を指定、日数を7に指定、→OK
値フィールドで右クリック→値フィールドの設定→「集計の方法」タブで最大値を選択→OK
完成例↓
ttp://paint.s13.dxbeat.com/up/src/paint_7283.jpg
>>184 B列に文字列があるんだろ?
だいたいSUMPRODUCTなんてアフォが使うものなんだがw
その式なら
=SUM(IF(MOD(A1:A99,100)=12,B1:B99))
の配列数式の方がまだマシってもんだ。
VBAの質問です。テキストボックスで、異常値が入力された場合、 再びテキストボックスへの入力からやり直しさせたいのですが どうすればいいのでしょうか。 Sub test() Dim nenkin '('A`) nenkin = Application.InputBox("年金は月何万欲しいですか?", "やるやる詐欺", "欲しい年金の額を数字で入れてね", Type:=1) If Len(nenkin) < 2 Then MsgBox "2桁以上入れろや!遠慮してんじゃねぇぞテメェ!" & Chr(13) _ "今まで苦労した分、豊な老後を過ごせやコラ!!" End If End Sub と記述し、1桁だけ入力された場合、メッセージ表示後、再び('A`)の処理に戻らせたいんです。 ループ等は何か違うよな、という気がして。スマートに入力をやり直させる方法はあるんでしょうか?
200 :
名無しさん@そうだ選挙にいこう :2008/05/27(火) 15:22:32
196さん、197さん ありがとうございます。 バージョンは2007です。 やってみますね。
Sub test() Dim inp_nenkin As Integer inp_nenkin = get_nenkin() End Sub Public Function get_nenkin() As Integer nenkin = Application.InputBox("年金は月何万欲しいですか?", "やるやる詐欺", "欲しい年金の額を数字で入れてね", Type:=1) If Len(nenkin) < 2 Then MsgBox "2桁以上入れろや!遠慮してんじゃねぇぞテメェ!" & Chr(13) & "今まで苦労した分、豊な老後を過ごせやコラ!!" nenkin = get_nenkin() End If get_nenkin = nenkin End Function
202 :
201 :2008/05/27(火) 16:13:11
書き込みミスです。すんません。
>>199 ループが嫌なら
>>201 のようにFunctionにしてしまって、再帰的に呼び出すのはどう?
(書き込みミスったので、変な所に改行が入ってたり宣言が抜けてたりするのは気にしないで)
別にループでいいと思うけど。
>>194 いや、それくらいわかるんだけど、MOD関数とかって範囲指定でも計算するのかな?
205 :
名無しさん@そうだ選挙にいこう :2008/05/27(火) 19:46:03
はじめまして。以下の状況での打開策を質問します。 【1 OSの種類 .】 Windows2000 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】非アクティブ時 ペーストモード スペシャルペースト等 ブックAをアクティブ時にセル移動方向を右に、非アクティブ時(他のブックがアクティブ時)に セル移動方向を下に戻すようにコードを書いてあります。 このとき、ブックAのセルの値をCTRL+Cでコピーして他のブックに貼り付けようとしても、 CTRL+V(右クリック→貼り付け)が出来なくなっている。 クリップボード経由なら貼り付けできるが、縦横入れ替えで貼り付けたいので不可。 ブックAではセル移動方向を右にしつつ、他ブックへのコピペを自由にできるような 設定は可能でしょうか?
Mac用エクセル2008にiphotoからの写真をはりこみました Winの人に送っても写真が見えないといわれてしましました 設定で回避出来る問題でしょうか? 写真をみたらjpgではなくピクチャーになっています 大量に書類作ったんでMac側の書類はいじりたくありません よろしくお願いいたします。
ぜんぶやり直しです。あきらめてください。
何がしたいのか良くわからん そのまま四捨五入した値で計算すればいいのでは?
=sum(C1:C6) っていれればいいだけじゃないの
>208 仮にA列に入ってるとして、B列などに、 =ROUND(A1,0) って入れると小数点1桁目で四捨五入した値になるから、それを合計。
>>206 似たような例で2007から2003に送ったときは保存形式をxlsにすればいけた
デフォルトの拡張子は.mxlsだかで少し互換性が低い
2008は触ったこと無いんで全然違うかもしれないが一応
countblankが空白セルをカウントしないんだけど、空白セルに どんな情報が入っているのかって、どうやったらわかる? 別に、countblank以外にやりようはあるので、いいんだけど、 分からないのは気持ちわるす。 ググっても、空白に見えても「空白」じゃないセルがあるので注意、 という情報しか見つけられなかった。
>>214 それは
>>213 に対する"どんな情報"という回答例であり
"どうやったら"という要件定義を満たしていない。
なんだ、コイツ
218 :
名無しさん@そうだ選挙にいこう :2008/05/27(火) 23:59:57
>>213 よくわかんないけど、判定対象セルを全部trimしてやりゃ完全なブランクになんじゃないのん
>213 前スレだったかで話題の出てた、 cleanをかけてみたらどう?
こなん感じか Function what(a As Range) Dim t t = TypeName(a.Value) what = t If t <> "Empty" Then If a.HasFormula Then what = what & " Formula[" & a.Formula & "]" Else what = what & " [" & a.Value & "]" End If End If End Function
222 :
213 :2008/05/28(水) 00:39:35
このスレはいつも(生)暖かいなぁ。 レスくれた人に感謝! 明日、やってみるぜ。あぁ、もう「今日」か。
223 :
名無しさん@そうだ選挙にいこう :2008/05/28(水) 00:58:44
⊂ ⊂ヽ、 /)/) c、 `っ( ヽ ( v)c、 `っ V''V ( v) / ̄`⊃ V''V | ⊃ ( v) ハ,,ハ V''V (゚ω゚ ) ⊂⊂ ヽ > ) (/(/ (;;゚;;) (__) (__) お断りします /⌒\ ( ゚ω゚ ) /⌒\ お断りします \●// \\●/ ((⊂ ) ノ\ つ)) (_⌒ヽ ヽ ヘ } ε≡Ξ ノノ `J
>>205 貼り付けとセルの移動方向は関係ない。
また、Ctrl+Vというのは「クリップボードの中身を貼り付ける」という操作なので、
Ctrl+Vが使えないのにクリップボードが使える、というのも矛盾している。
原因がよくわからないなら自分で判断せずもっと詳しい情報を書くように。
初めまして。 質問させてください。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン】 Excel2003 【3 VBAが使えるか .】 勉強中 【4 VBAでの回答の可否】 可 【5 検索キーワード 】比較 参照 抽出等 AというファイルとBというファイルがありまして、それぞれ No 型名 品名 品名カナ 組織番号 日付 ・・・ ・・・ 4001 PP2223 テーブルタップ テーブルタップ 003 2008/05/28 00:00:00 4002 PP2752 コネクター コネクター 001 2008/05/28 00:00:00 4007 PA4201 スイッチ 021 2008/05/28 00:00:00 ・ ・ ・ という風にデータが入っているのですが、AファイルとBファイルを比較しまして 間違いや抜けがないか確認したいのですが、どうしてもうまくいきません。 データ量は、それぞれ一万行近くあります。 あと、Aファイルにはあるけれど、Bファイルには無い行 (上の例で言いますと、N0.4002の行がまるまる無い)がそれなりにあります。 そういうのは無視してしまって大丈夫なのですが、 たとえば、No.4001の行の型番や組織番号などに間違いが無いか比較したいのです。 私的には、No.の欄を見て、その行の比較を行うような感じで考えていたのですが、 関数では、やっぱり無理ですかね…。 よろしくお願いします。
>>226 VLOOKUPでNoから型名?型番?と組織番号を取り出して比較すればいいと思うよ。
別ファイル、別シートからでも検索できるから。
228 :
名無しさん@そうだ選挙にいこう :2008/05/28(水) 02:15:37
>>227 ありがとうございます。
VLOOKUPでやってみます。
表がシートの左上にあって、例えばA1に"No"、A2に4001が入ってるとすると、 Bファイルの方に =VLOOKUP(A2,[A-file.xls]Sheet1!A:E,2,0)=B2 と入れると、両方のファイルからNoが4001の行を探して、型番が同じかどうか調べることができる。 あとはこの式を最後の行までコピペして、オートフィルタでFALSEの行だけを取り出せばいい。
【1 OSの種類 .】 WindowsXPHome 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel 無限大 グラフ -1のとき-14、0のときマイナス無限大、1のとき-10(一部のみ抜粋) 上記のようなデータをグラフにしたいのですが、セルに-∞と入れるときどのように表記すれば グラフで0を漸近線としたグラフがちゃんと出来上がるでしょうか? 「-∞」と打ち込むと「#NAME?」と出ますし、試しに「∞」と打ち込んでそのままグラフを作ると ∞のところが0としてグラフが作成されてしまいます。
>>137 遅くなりましたが、ありがとうございました。
>230 無限大は「数値」ではありません。
>>230 無限大は扱えない
それっぽく見えるように工夫してくれ
>>230 でかい数字を入れた後、テキストボックスを重ねるといいと思う
>>230 Excelは無限大を扱えません。
手作業でグラフを書く時のように自分で都合のよい点を選べばいいですよ。
数式処理ソフトなど無限大を解釈してくれるソフトも存在します。
>>230 0のとき200くらいにして縦軸の範囲を100以下くらいにすればいいんじゃない?
238 :
230 :2008/05/28(水) 17:04:21
皆さんありがとうございます おかげさまで想定していたグラフが書けました。
初心者です。 winxp エクセル2007です。 減算で =A1-B1 をC1に出そうとすると♯VALUEが表示される。 この表示はA1、B1の値がまずいというエラーらしいですが、 120.98と111.11が入力されています。 なにがまずいのでしょう。 セルの書式も色々かえてみましたが無駄でした。 ちなみにこの数値はテキストファイルだったものを取り込んだものです。 回答よろしくおねがいします。
>>239 A1とB1をドラッグして囲み、書式を数値にして、F2 Enter F2 Enterと押してみろ
>>239 エクセルの特性で数字は文字列でも計算される(エクセルだけじやない機能だけど)
よってA1に「120.98 111.11」のような文字列が入ってると思う
D1に=A1、E1に=B1といれて見て
両方数字なら、「.」ピリオドがカンマになっている、あるいは全角の可能性がある
>>239 余分なスペースが入ってるとか?
セルに入ってるデータが数値として正常かどうかはISNUMBERという関数で調べることができる。
どっかのセルに =ISNUMBER(A1) 、 =ISNUMBER(B1) と入れてみて、どちらがエラーの原因か
まず調べるといいかも。
前スレで出た余分な文字を消す関数、CLEAN を使ってみるという手も。
ありがとうございます。
いろいろやってますが進展ありません。面倒ですが今日は電卓で計算します。
>>240 結果かわらずでした。
>>241 D1に =A1 だとそのまま120.98が表示されます。
全角かどうかは確認しましたが半角でした。
,にもなっていません。
>243 A1,B1をコピーして、 そのまま形式を選択して貼り付け →値、で加算にチェック ってやってみたらどうでしょう?
245 :
244 :2008/05/28(水) 23:22:39
>243 ごめん、そのままやると倍になってまうから シートコピーして、新しいシートにするか、 あるいはどこかに0を入力してコピーして、 それをA1,B1に加算で貼り付けしてみて。
俺が直接調べてやるからそのブックうp
こんなに優しいスレは久々にみたぜ・・・
【1 OSの種類 .】 WindowsVISTA Business 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 Excel2007 Excel2003 条件付き書式 Excel2003で作ったファイルを2007で読み込んだら コピペしてあった条件付き書式の参照がメチャクチャになってました。 2003ではB2:B51がB55の値以上になると強調されるようにしてあったんですが 2007で開いてみるとコピペしたC2:C51以降もB55の値を参照してるし、 コピペした列全部が範囲に指定されてるんです。 もちろん相対参照で貼り付けてあったんですが、なぜか絶対参照になってます これって仕様ですかね? 結局1列ずつ設定し直してるんですが、効率悪いんで 相対参照で書式だけコピーする方法をご存じでしたら教えてください。
>>248 条件付き書式は2007になって大幅に仕様が変更された部分の一つだから、
もしかしたらバグかもね。
書式は
Range("B2").FormatConditions
で設定できるから、VBAで修正した方が早いかも。
枠線をシート全体ではなく、一部分のみ消すことは可能ですか?
>>250 無理。
目的によっては、罫線やオートシェイプで代用できるかも。
>>248 まずC列をどこかにコピーしておき、B列をC列に普通にコピーしてから、
保存しておいたC列の値だけをもう一度貼り付ける
>>253 背景色を白で塗り潰すと、部分的に消したようには見える。
257 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 06:50:59
SQL Server Express に接続してSQLを実行したいのだが...
非常に漠然とした質問なんですが、 VBAと複雑なワークシート関数が混在する場合、どこまでVBAで書けば良いでしょう? シートをただのデータ置き場や入力&印刷フォームにして、計算処理はすべて VBAで書くことは何か利点がありますか?
そりゃ何か利点はある あなたの処理がそのことをもってVBAだけで計算すべきかどうかはしらない
計算をVBAに任せれば一度計算するだけでいいので、軽くなる ワークシート関数だと再計算の度に計算するからな でも最近のPCだと相当に重いファイルじゃないとあまり意味がない 自動の再計算を切ればいいだけの話でもあるが、戻し忘れたときに 計算をしてない数字で後の処理を進めてしまうととんでもないことになりかねないので、 そういう意味では保険とも取れるかもしれない
あとアレだ deleteキーなんかで式を消してしまう事故も防ぐことができるね ただフォームの数字を消してしまうことも考えれば、同じかもしれないけど
VBAならソースリストの中にコメントが入れられるし、 関数や変数にもわかりやすい名前が使える。
超初心者の俺が言うのもなんだけど VBAの方が複雑な処理を簡単な記載で書ける。 っつーかワークシート関数で算出する方が ややこしくて見辛いし絶対難しい。 俺が思うに プログラミングの知識が少しでもある人→VBA 無い人 →ワークシート関数 ってことなんじゃないかと思う。 誰かに使わせるならワークシート関数の方が何やってるか 素人でもわかりやすいし修正も容易だからいいと思うけど 自分で使う分にはVBAしかないと思う。
複雑な処理にはVBとかC#などのプログラミング言語を使うべき。 VBAは言語として中途半端すぎるし、いちいちExcelという重たいアプリを起動しないと 確認も実行もできない。 Excelは何のためのソフトかよく考えるべき。 こういうのを本末転倒という。
VBでやるとさ、大量のデータをどうするか迷うんだよね。 いちいちファイルの読み書きや入出力フォームを作るのが面倒。 Excel VBAなら最初からワークシートが用意されてるから、 データはそこに入れとけばいいし 結果もシートに書き出せばいい。 こういうことを考えなくていいのって楽。
270 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 17:15:07
エクセルで質問です。 ある範囲内で複数の条件に合うものの個数を 別のシートに表示させたいのですが、式が分かったら教えて頂けますか? よろしくお願いいたします。
271 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 17:58:56
エクセル2003です。 ある商品の売上高の割合を横の棒グラフにしてみました。が、Y軸の項目を二列にしたのですが、 ↓こんな感じ (商品A)・(18年度) (商品B)・(19年度) (商品C)・(20年度) ・ ・ 商品名の文字の向きが横向きになってしまうのですが、直す方法はないでしょうか。 フォントの設定を直そうとしても年度の部分しか変わりません。
273 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 19:09:50
すみません Excel2003のメニューバーのメニューのうち、 「データ」だけがないのですが、どうしたら表示可能でしょうか?
275 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 19:40:05
・・・ということは、不良品てことですか? 会社のなんで・・。 オートフィルタとか使いたいのに困ってます
276 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 19:40:54
すみません仕事で使用しているのすが困っています助けてください 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 エクセルを開いてどのセルに数字を入力しても下二桁が小数になってしまいます たとえば1000と入力すると下二桁が削除されて10になり、1111と入力すると11.11になります どうか解決方法を教えてくださいお願いします
オランダの政府機関「The Dutch Council of State」(オランダ政府協議会)が、
MS Office形式の文書をオープンな形式であるODFやPDFに変換するツールを自前
で開発したそうです(The INQUIERの記事)。
ヨーロッパの政府機関ではオープンソースソフトウェアの採用が進んでおり
(マイコミジャーナルの記事)、協議会内に保管されている数千にも渡る機密書
類をオープンな形式に変換するために、議会内でツールの開発を行ったそうです。
ヨーロッパではコスト削減のためにオープンソースソフトウェアを採用する例が多
いそうですが、機密情報を扱う機関でもこれは例外ではないようです。
http://slashdot.jp/opensource/article.pl?sid=08/05/29/086203
Alt→D→F→Fな
>>276 Ctrl+1を押して、数値の所で小数点以下のケタ数をゼロにする
281 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 19:45:48
>>278 Excelを開いた状態でその操作してみたらよいですか?
早速明日やってみます!
283 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 19:48:39
287 :
286 :2008/05/29(木) 20:05:05
>>283 マクロは入ってないだろうな?
書式は問題ないんだろうな?
問題ないセルの書式をコピペしてみる。
なければ新しくEXCEL開いてコピーしる。
ってか、うpしてみろ
289 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 20:21:56
>>288 マクロ・書式は問題ないです
新規でエクセルを起動した状態で既にすべてのセルがこのような状態になります
別名保存して他のPCで開けば普通に使えます
小数点位置を固定するがオンだからって訳じゃないなあ
>>276 の通りだとすると
Excel・VBAの質問です。 他のBookのセルをVBAで「数値か文字列か」を判定する事はできるのでしょうか。 セルの表示設定→[表示形式]タブ->分類(C) では”標準”となっているのに、sheet上で見ると左上に緑の ▲がついた、「文字列入力セル」扱いになっているセルがあります。 (入力されているのは数字) そのセル自体は、F2で入力状態にしてからEnterを押すだけで数値扱いになります。 (このxlsはあるツールで生成されている) しかし、2002以降のExcelは問題ないのですが、office2000lでは その矢印が見えないため問題となっています。 VBAで「数値か文字列か」を判定したいのですが、吐き出されるxlsのため VBAを埋め込むわけにはいきません。 そこで判定用マクロを内包したxlsを作り、チェックする際には対象のxlsと チェック用のxlsを同時に立ち上げ、対象のxlsのセルをチェックさせようと しているのですが実現可能でしょうか?
292 :
270 :2008/05/29(木) 20:41:39
>>271 ありがとうございます。
=DCOUNTAで計算出来たのですが、その個数表示を同シートには全くせずに
別シートだけに各合計個数を表示したいのですが可能でしょうか?
293 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 20:41:40
すみません、質問です。 会社ではネットが使えない環境なので、 バージョンがあってるかどうか不安ですが・・・ 【1 OSの種類 .】 WindowsXP Professional (自宅はHomeエディション) 【2 Excelのバージョン 】 Excel2003 (自宅は2002 SP3) 【3 VBAが使えるか .】 いいえ (触ったことはありますが、今回は使用禁止) 【4 VBAでの回答の可否】 否 (使っちゃいけないそうなので。) 【5 検索キーワード 】 ユーザー書式 書式設定 Excelの普通のセルに ほげー と入力して 「ほげー」様依頼分 と表示させることは可能でしょうか? シートのD列にひたすら"「〜」様依頼分"という文字を 書いていかなきゃならないんですが、 初めの"「"がじゃまでコピーして張り付けるのも難しいし、 名前だけ入れたら書式を自動変換してくれるとうれしいのですが そういうすばらしい機能ってエクセルについてませんか?
>>290 できました!どうもありがとうございました
"「"@"」様依頼分"だな
>>296 @で入力文字が取れるんですね。
ありがとうございます。
今試してみたらできました。
明日早速実行してみます。
298 :
293 :2008/05/29(木) 20:58:26
なまえ入れるの忘れてました。
>>297 ごめんなさい。
299 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 21:11:20
許されないだろ・・・MS的に考えて・・・ 君出入り禁止ね
300 :
名無しさん@そうだ選挙にいこう :2008/05/29(木) 21:18:24
MacOSX上で作成したEXCELファイルを WindowsXP上のEXCELで読むことはできるのでしょうか (CSVとかでなく、ブック形式のもの)
昔関数だけのブックなら読めたな けど条件付書式や、VBAが混じってきた場合互換性の程度は知らない とりあえず日付はずれると聞いたことがある (1と入力して日付にするとwindowsだと1900/1/1だがmacだと1904/1/1と聞いたことがある)
>>292 その別シートに=DCOUNTAを書くんだよ
>>300 Macで保存するときに「××互換形式」みたいなの選べない?
>>301 1904年から計算するオプションで変更だ
306 :
名無しさん@そうだ選挙にいこう :2008/05/30(金) 00:12:04
すみません、どなたかエクセル詳しい方お力を貸してください。 【1 OSの種類 .】 Win2000(ファイルの作成はVISTA機) 【2 Excelのバージョン 】 Excel2007(但し旧エクセルファイルで保存) ファイルの使用目的は、あるテーブルゲームでの得点集計用です。 プレイヤーが最大10ゲームプレイし、その中で成績の良かった上位4位を集計します。 large関数で10個ある得点セルの中から上位4位を抽出して、それら4位の合計を出しています。 (マイナスの場合は減算したい) ■困っている事■ 得点セルの記入は、プレイしたゲーム数によるので必ずしも埋まっているわけではありません。 例えば4ゲームしかやっていないプレイヤーの場合、得点セルは4つしか埋まらない為、残り6セルは0のまま。 (ブランクではなく0になっているのは、この得点セルも計算式で求めている為です) すると、例えば4ゲームの得点が 200, −50, −100, 50 だった場合、一位から順番に 200, 50, −50, −100 で、上位4位の差し引き合計で【100】になってほしいのですが、 large関数を使って、上位4位を求める範囲の中に0が6セル分あるので −50と−100は0よりも小さいものとして扱われ 一位からの順番が 200, 50, 0, 0 になって合計得点が【250】になってしまいます。 このような場合で、ゼロはノーカウントにする方法はありませんでしょうか? どなたかお分かりの方どうかよろしくお願いいたします。
作業列を作って=IF(?=0,MIN(?)-1,?)などにしてそっちで計算 本当の0点との区別が付かないけど
308 :
248 :2008/05/30(金) 00:28:25
条件付き書式について質問した者ですが、
早速今日試してみました
どうもドラッグでコピーすると形式にかかわらず
ドラッグした範囲全部が指定されてしまうようです
ドラッグしないでコピーすると問題ありません
>>249 さん、
>>252 さんありがとうございました
引き継ぎの関係でVBAはなるべく使わないようにしてるんですが、
VBAのほうが楽かもしれませんね。
>>306 未プレイの0点と、ゲームをした結果の得点が0点の区別ができないと、どうしようもない。
まず、集計する前の段階で、得点を計算する部分を修正して、未プレイなら0でなく
空欄になるように計算式を修正すべきだな。
>306 >307氏も触れてるが、結果が0点の人と不参加の0点との区別はどうしてるの?
条件付書式で、相対参照で、下のような上下の値を調べて、 値の大きい(小さい)方を自動で赤でマークしたりできる? ググってもイマイチ。 1番 2番 3番 ・・・ 2007年度 30% 60% 90% ・・・ 2008年度 40% 20% 50% ・・・
>>311 セルが 次の値に 等しい =max(b2:b7)
で書式はテキトーにかえる
b2:b7はテキトーにつけたんで、そっちのシートの範囲にあわせてね
315 :
300 :2008/05/30(金) 09:15:54
みなさん、レスありがとうございます。
>>311 書き忘れたけど、小さい方はmin関数で、3つ以上条件があるならRANK関数を使うとよい
317 :
270 :2008/05/30(金) 10:07:56
>>303 ありがとうございます。
その書き方が分からないのですが
元になる表がsheet1として、別シートに入れる数式は
=DCOUNTA(Sheet1!A1:B5,,Sheet!C3:D4)
と入れてみましたが、正しい値は得られませんでした。
カッコ内の、 ,,の両サイドは双方元シートでしょうか?
他にも間違っている点があったらおしえて下さい。
318 :
名無しさん@そうだ選挙にいこう :2008/05/30(金) 10:35:52
はじめまして。質問なんですが、リスト作成でできる枠の大きさって変えられませんでしたっけ? 長文でも枠を伸ばして表示させたり、字を大きくしたりできたような気がするんですが・・・
>317 キーワード゙貰ったんだからHELPかググるかすれば?
>318 枠って何?
>>317 単なる入力ミスかもしれないけど
Sheet1がSheetになってるよ
322 :
名無しさん@そうだ選挙にいこう :2008/05/30(金) 11:16:14
>>318 リスト作ったセルの右にできるアイコンをクリックしたときに開く入力候補データが表示される枠です。
323 :
名無しさん@そうだ選挙にいこう :2008/05/30(金) 11:17:07
>>322 リストそのものだね
補足はしたものの俺は知らない
>322 リストって入力規則のリストのことか。 一応知る限りでいろいろ試してみたがダメでした。 私が知らないだけで出来るかも知れません。気長にお待ちください。
327 :
名無しさん@そうだ選挙にいこう :2008/05/30(金) 11:46:05
職場の詳しい人にも聞いたけどダメっぽいんですよね・・・ なーんかできた気がするけどなぁ・・・ 枠や字がでかく表示されてるのも見た事あるし。なにより自分で作った気もするし。 解ったかたお願いします。
列幅変えるか、エクセルの表示サイズ(メニューバーの何%っての)を変えるか
>>326 か
329 :
名無しさん@そうだ選挙にいこう :2008/05/30(金) 14:15:24
列幅変えるとレイアウト変わるからダメです・・・ ズームも75よりでかくすると能率悪くなるので× 例えズーム変えても枠の幅広げるっていう根本的な解決にはならないし・・・ 参照元の横幅なら変えられるけどリスト枠には反映されないし・・・ 単純ながら悩ましいorz 解ったらレスします。お邪魔しました。
1、モニターをで買い物に代えて、75%以上でも効率が落ちないようにする。 2.大きく見えるレンズ(老眼鏡ともい)をかけて仕事をする。 ぐらいしかないだろうよ、その条件じゃ。 列幅もズームも変えずに大きくするって…。 まさか、左寄せにして、文字列が右隣のセルまで伸びることを言ってなんかいないよね。
>>321 ありがとうございます。
>>319 昨日から解説本や、ネットのテキストを読みつつ同時進行で調べていますが
初心者の上聞く人がいないので、進んではいますが、解答迄行きつきません。何度もすみません。
>>326 GJ!
自分も
>>322 同様リストの幅を広くしたいと思ってたんだが、
参照先のやり方で思い通りになったよ、ありがとう。
ちなみに幅調整のためのダミーリストを削除しても、そのままの幅が保持されるようだ。
しかし、バグだか使用だかわからんけど、なんでも利用できるものだなw
333 :
名無しさん@そうだ選挙にいこう :2008/05/30(金) 17:00:28
質問です。 EXCEL2000でxlsx形式で保存することはできますか?
無理です
335 :
311 :2008/05/30(金) 19:15:12
エクセルで作った表をワードにビットマップ形式で貼り付けるときに 一番上と一番左の罫線が薄くなりますね 他の罫線と同じ濃さで表示させるには、他の形式にするしかないですか
>>336 うちでいつも使ってる2007だと薄くならないけどなあ。
バージョンはいくつ?
>>337 どうも、すみません。
バージョンはよく分かりませんが、自宅の2003と会社の2007両方ともそうなるのです。
ビットマップ以外の形式にすれば、すべて同じ濃さとなります。
>>339 すみませんでした。
こちらの説明不足だったのですが
罫線を引いた状態で表を作った場合です
一番上のラインと左端の線が、枠線と同じ薄さになります
じゃあとりあえずビットマップ以外の形式にしておく。 ビットマップ貼り付けは文字も図形もガタガタで汚くなるし、あまり積極的に選ぶ理由もないと思うけど、 どうしてもビットマップじゃないとダメ?
>>341 他の形式にします。
お忙しいところ、たびたび、ありがとうございました。
Excelで押すとマクロの処理が始まるボタンを作ったのですが、 ボタンを押すと即実行ではなく、確認ダイアログを表示して、キャンセルも出来るようにするにはどうしたらよいでしょうか?
>>343 そうなるようにコード書けばいいよ
ヒント Msgbox VBYesNo
345 :
343 :2008/05/30(金) 22:44:33
346 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 00:50:35
ブックAのA1セルの式をブックBのA1セルにコピペするとき、ブックAが入らない式で コピペできませんか? 式の文字数が限度一杯なので、コピー元のブック名がはいると文字数あふれになるので。
>>346 単に式をコピーしたいだけなら数式バーの中身をドラッグしてコピー。
ブックAのデータを参照したいなら作業列を作って式を分けるしかない。
348 :
346 :2008/05/31(土) 01:04:14
>>347 単に数式をコピーしたいだけなので、数式バーの中身をコピーしてできました。
ありがとう。
349 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 14:03:14
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 すこし 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 オートカレンダー カレンダー たとえばA1に6月と入力した場合に A2 1日(日) A3 2日(月) などの様に日付を自動で表示させたい場合はどのようにすればよいでしょうか?
>>349 例えばA1に6月1日と入力して、オートフィルで下の方へのばしていけば自動的に6月2日、6月3日となるんだけど、それではだめなの?
>>349 おまい、VBAは少し使えるなんてうそだろ?w
352 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 15:06:07
>>351 アンタが思う「少し」の程度が違うだけ
わざわざレスする事でもない
>>349 A1に入れたシリアル値を取得して下に一つずらすと1加算される。とか。
日付は手入力でいれてくれ そこは妥協だ 曜日はB列に書式で表示可能 それでいいじゃん そうしてくれ
355 :
349 :2008/05/31(土) 16:13:23
VBAが勉強始めたばかりなので
ボタンを作って色を付ける・消す デリートする・しない程度しかできないです。すんません・・
たしかに皆さんのおっしゃる通り日付入れるだけなら
月一回の作業だしオートフィルや書式設定で十分できるのですが
以前に
>>349 に書いたように月を入力しただけで
年度にあったカレンダーが自動で表示される表があったので
やり方が気になったのです。
VBAではなかったように思ったのですが(マクロの確認が常にでるように設定しているが出なかったため)
関数だけでやるのは無理なのでしょうか?
356 :
349 :2008/05/31(土) 16:28:07
DATE関数などで出来ました。 どうもです。
357 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 16:29:30
>>349 日付関数を調べるてみな、
色々有るから君のやりたい事に合った関数がきっと見つかるよ
万年カレンダーは作成可能だけど非常に難しい。 ここのメンバーじゃ無理。
>>358 作り方はどこにでも書いてあるんだから誰でも作れるんじゃない?
面倒だし何の役にも立たないからやらないけど。
エクセルでカレンダーなんか作って何の意味があるんだろう。
360 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 16:57:34
>>358 >万年カレンダーは作成可能だけど非常に難しい
カレンダー作成はエクセル入門レベルだぞ
ここのヤツらは、こだわりはきついけど馬鹿じゃない
うるう年正確に計算できます?春分・秋分も?
>361 それくらいexcelが勝手にやってくれるし。。。
363 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 17:23:55
>>361 お前、本当はエクセルのコトあんまり知らねぇんだろ
ビボットだけっだてか!
祝日やハッピーマンデーも出る関数なんてあったっけか
>>363 エクセルはピボットだけ知ってればなんでもできる。
逆にピボットでできないようなことはエクセルに不向きな仕事だよ。
あおりでも釣りでもなく心のそこからそう思ってる。
366 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 17:53:45
>>364 そこまで関数に頼るなよ、ちょっとの工夫で簡単にできるぞ
>>365 ハイハイ、そうですか
>>366 ハイハイで流そうとしているけど実際そうだろ。
本当にExcelが役に立つのはピボットテーブルを使うときだけだ。
他のは遊びと言ったら言い過ぎかな。
368 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 18:03:53
>>367 ( ´,_ゝ`)プッ
1年後自分のレス見てなんとも思わなかったら
成長してないってコトだ
>>368 君はExcelをどんなふうに使っているの?
披露してくれないか。
【1 OSの種類 .】 WindowsXP SP3
【2 Excelのバージョン 】 Excel2007
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 否
【5 検索キーワード 】 ファイルを開く 2007 / 開かない / 遅い
Excel2007に関連づけられたファイルをクリック(ダブルクリック)しても,
Excel本体が起動するだけで,ファイルが開きません。
もちろん,Excelを起動した後に,当該のファイルを「開く」「ドラッグ&ドロップ」すれば
普通に開きます。
ダブルクリックで Office Excel 2007 のファイルを開くことができない場合がある
http://support.microsoft.com/kb/938381/ja を見つけましたが,その通りにしても結果は改善させません。
他のサイトを見ても,同様の解決方法だけしか見つかりませんでした。
ちなみに,当該のファイルをクリック → Excel本体だけが起動
したあとで,Excel2007のどこか,Officeボタンや最大化ボタン,
クイックアクセスツールバーのアイコンなどをクリックすると,
思い出したように当該のファイルが開きます。
解決方法がありましたら教えてください。
371 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 18:39:24
>>369 それじゃ子供のけんかだ。
大人になったら、そん時お話しましょ。
>>371 ふふ。うまくかわしたね。
大人の対応だな。
> エクセルはピボットだけ知ってればなんでもできる。 とりあえずこれはないな なんでもってなんだよ、ピボット知ってりゃ関数全部使いこなせるのかと
374 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 18:51:46
>>372 ひょっとして、悔しいの?
傷ついたのだたらゴメンネ
生半可な知識でピボット厨につっこむのはやめとけよ。あいつら理論派だからな。大火傷することになる。
>>374 なんかもう涙目だろ。
>あいつら理論派 キミはあれを理論と呼ぶのか?、ただの屁理屈だろ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 セル 行 列 クリップボード \n 文字列"aa\naa\naa\naa"をクリップボードにコピーして エクセルにペーストしたところ、 aa aa aa aa というように改行して貼り付けられました。 これを aa aa aa aa というように、どこかで次の列に移すようにするには どうすればいいのでしょうか。 \nみたいな、列を移る文字があるのでしょうか。 よろしくお願いします。
>>377 それって理屈としては正しいと認める発言じゃん。
どんどん傷口が広がってるぞ。
へえそんな機能があったんだと思って試してみたけど、うちじゃそんなふうにならないぞ。 1つのセルに「aa\naa」という文字列がそのまま入る。Excelに\nを貼り付けたら改行って何の機能だろう? 想像で書くと、列の移動は\tとか。
>>380 うお、\tでできました! ありがとうございます!
この機能テキストファイルからコピーでもできると思っていたのですが、
今やってみたらできませんでした。
プログラムでクリップボードに貼り付けたときのみ
\nや\tを読み取ってくれるみたいです。
>>382 要するに改行コードを\nで表示するシステムなんでしょ。
>>361 >>381 わかってて書いてるのかもしれないけど、春分の日とか秋分の日というのは祝日だからね。
>>362 が言及しているのは閏年のことだけだと解釈すべきだよ。常識的に。
385 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 19:45:37
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 どういうキーワードで検索したらよいかわかりませんでした。 【質問】 下記のようにデータ(●●は任意のデータ)がある場合に、 各行の一番右側のデータだけをH列に表示させたいのですが、どうしたらいいでしょうか? 1行目ならF列のデータを、2行目ならE列のデータ、3行目ならA列のデータを、 4行目はD列のデータ、5行目はB列のデータを(ryをH列に表示させたいです。 A列 B列 C列 D列 E列 F列 G列 H列 1 ●● ●● ●● ●● ●● ●● 2 ●● ●● ●● 3 ●● 4 ●● ●● ●● ●● 5 ●● ●●
つまり祝日の自動計算にも対応した万年カレンダーは超難しいってことですね わかりました
387 :
名無しさん@そうだ選挙にいこう :2008/05/31(土) 19:46:49
>>385 間違いがあったので訂正します。
(誤) 2行目ならE列のデータ
(正) 2行目ならC列のデータ
>>386 ちょっと違う。難しいのではない。
「祝日の自動計算はできない」が正しい。
計算ができなかったらどうやって祝日を決めるの? 来年の○○の祝日は○○月○○日ですって政府が発表するの?
前年2月第1平日付の官報で発表される。
↑春分の日な
世間一般の万年カレンダーは春分・秋分は計算して出してるけどね
Aセルに型番を入力し、Enterを押すとあるシートもしくは外部のCSVを読み込み それに合致する商品名・金額・残り在庫をそれぞれB、C、Dセルに表示させたいのですが 可能でしょうか? 同じブックの中にあるシートからならエクセル関数で可能なのですが、データ量が多いため 作成するxls全てがそのシートを持っていることになり、冗長なのでどちらかといえば csvを参照したいです。
すみませんVBAの話です。計算式を埋め込むと破壊されかねず、 シートを保護すると色々やっかいなのです。
よけいな駄洒落を思いついたら名前欄がリンクになりませんでした・・・
>>394-395 は自分です。
万年カレンダーなんかやろうと思えばだれでもできるって。 角田レベルのことは俺でもできる。
>>394 不可能ではないけど…
HDDが10MBしかなかった太古の昔ならともかく、
今はデータファイルが冗長だからって理由でCVS選ぶのは得策ではない。
CSVから目的のデータを取り出すためのコーディングの手間の方が大きい。
普通のワークシートにしときなさい。
>>382-383 プログラムから貼り付けって、そりゃ当たり前だわ。CかJavaか何かで作ったんだろ。
\nを改行に変換してるのはコンパイラ(厳密にはプリプロセッサ)の仕事だ。
クリップボードにもExcelにもそんな機能はない。
>>394 別のブックにあっても参照はふつーに可能
>>385 文字数が2文字と決まってるんなら
=LEFT(G1&F1&E1&D1&C1&B1&A1,2)
402 :
385 :2008/05/31(土) 21:10:55
>>401 レスありがとうございます!
文字数は2文字とは限りません。
日付データだったり、部署名だったり、個人の名前だったり、色々です。
一番右側のデータだけをまとめる機会がよくあるのですが、いつも
1行1行、目と手入力でやっています。
簡単に出来る方法がないかなと思って質問しました。
うまい方法が思いつかないけど IFで右から順々にデータがあるかどうか調べるくらいかな
>>398 その場合、VBAやエクセル関数では目的のブックを
開いておかなくても問題ないのでしょうか。
>>402 例えば人事のデータだとして
山田 営業 経理
佐藤 総務
鈴木 製造 品管
後藤 開発 営業 総務
本田 営業
こんなふうに形式を変えるわけにはいかないの?
管理番号 名前 所属
1 山田 営業
2 本田 営業
3 後藤 開発
4 後藤 営業
5 佐藤 総務
6 山田 経理
7 鈴木 製造
8 後藤 総務
9 鈴木 品管
>>404 そのとおり。
保存されてるブックの好きなセルからいきなりデータを取り出して関数の中で使える。
=SUM([C:\エクセルフォルダ\ファイル.xls]Sheet2!A1:A10)
みたいに書けばいい。
408 :
385 :2008/05/31(土) 21:59:13
>>405 説明が悪くてすみません。
>日付データだったり、部署名だったり、個人の名前だったり、色々です。
というのは、作成を頼まれる資料によって、データが違うという意味です。
なので、
【例1】
処理日(1) 処理日(2) 処理日(3) 処理日(4) 最新処理日
日付A 日付B 日付C 日付Cを表示させたい
日付D 日付E 日付Eを表示させたい
日付F 日付G 日付H 日付I 日付Iを表示させたい
【例2】
担当者(1) 担当者(2) 担当者(3) 担当者(4) 最新処理日
名前A 名前B 名前Bを表示させたい
名前C 名前D 名前E 名前F 名前Fを表示させたい
名前G 名前H 名前H 名前I 名前IIを表示させたい
こんな感じです。
409 :
205 :2008/05/31(土) 22:00:14
遅くなりましたが、状況を説明しなおして今一度質問します。 目的は、 1・特定のブック(ブックA)のみセルの移動方向を右にしたい。 これを実現するためにブックAに以下のコードを記述。 Private Sub Workbook_Activate() Application.MoveAfterReturnDirection = xlDown End Sub Private Sub Workbook_Deactivate() Application.MoveAfterReturnDirection = xlToRight End Sub これにより目的は達成されたが、今度はコピペできなくなる現象が発生。 よって、 2・ブックAのセル内容を別のブック(数種類ある)に縦横入れ替えでコピペしたい。 1の目的を達成しつつ、2のような不具合の出ないような設定は可能でしょうか?
>>408 =INDEX(A1:G1,1,COUNTA(A1:G1))
おお 美しい回答だ
だが速さが足りない いや言ってみたかっただけ
413 :
385 :2008/05/31(土) 22:11:04
>>410 レスありがとうございます。
しかし、それだと空白セルを選んできてしまいます。
414 :
205 :2008/05/31(土) 22:12:06
>>409 すいません、コードの内容が逆になってますので、
逆にして読んでください。
>>408 【例1】
処理日(1) 処理日(2) 処理日(3) 処理日(4) 最新処理日
日付A 日付B 日付C 日付Cを表示させたい
日付D 日付E 日付Eを表示させたい
日付F 日付G 日付H 日付I 日付Iを表示させたい
【例2】
担当者(1) 担当者(2) 担当者(3) 担当者(4) 最新処理日
名前A 名前B 名前Bを表示させたい
名前C 名前D 名前E 名前F 名前Fを表示させたい
名前G 名前H 名前H 名前I 名前IIを表示させたい
このデータだって行に何らかの意味が本当はあるんじゃないの?
>>405 は何も説明を読み違えてるわけじゃないよ。
>>410 の回答で満足ならそれでもいいけど。
>>413 >>410 は1行目、つまりH1に入れる式だよ。1行目には見出しが入ってるみたいだから
2行目なら=INDEX(A2:G2,1,COUNTA(A2:G2))
3行目なら=INDEX(A3:G3,1,COUNTA(A3:G3))
みたいに直さなきゃいけないんだけど、間違えてない?
417 :
385 :2008/05/31(土) 22:45:27
>>415 データをダウンロードしたときに、このような形式になっているのです。
処理した日付順、担当者が変更になっていった順に。
>>416 直してやりましたがダメでした。
【例1】
A列 B列 C列 D列
処理日(1) 処理日(2) 処理日(3) 処理日(4) 最新処理日
1 日付A 日付B 日付C D1の空白セルを拾ってきた
2 日付D 日付E D2の空白セルを拾ってきた
3 日付F 日付G 日付H 日付I きちんと日付Iを拾ってきた
>>415 あんたバカだろ。他人が例まで示してるのに。
>>417 試しにD1、C2、D2を選択してDeleteキーを押してみ
420 :
385 :2008/05/31(土) 22:50:07
421 :
385 :2008/05/31(土) 22:51:32
>>418 わたしの説明が悪かったんです。わたしのために喧嘩はやめてください><
>>419 ビンゴです!できました!
こんな簡単な式でできてしまうなんて!
みなさん本当にありがとございました!
>>417 >データをダウンロードしたときに、このような形式になっているのです。
>処理した日付順、担当者が変更になっていった順に。
行には意味がないのか。それなら一行にしてくれたらいいのにね。
不親切なデータだな。
423 :
385 :2008/05/31(土) 22:53:45
連投してすみませんがこの式の意味を教えていただけませんか? VLOOKUPやIF関数ならよく使うのですが・・・INDEX関数と、COUNTA関数は調べて意味も 読んでみましたが、イマイチ意味がわかりませんでした。 =INDEX(A2:G2,1,COUNTA(A2:G2)) ↑特に、この式のこの1はどういう意味なのでしょうか?
424 :
385 :2008/05/31(土) 22:58:50
>>422 社内のシステムがそうなっているのです。
A列 B列 C列 D列 E列
管理番号 アイテムの概要 処理日(1) 処理日(2) 処理日(3)
1 ******* 20070616
2 *******
3 *******
4 *******
5 *******
>>424 やっぱり行に意味あるんじゃねーか。ちゃんと会話してくれよ。
ともかく解決おめでとう。
>>423 普通、データ(セル)の位置ってのはシートの左端からA列、B列、C列、最上段から1行目、2行目、のように
順に数えてくけど、データが増えたり複雑になってくると、場所を表すのがだんだん大変になってくる。
だから、広大なワークシートから一部分だけを切り取って、扱いやすい大きさの表を作るのがINDEX。
最初のA2:G2というのが、この範囲を切り取りますよっていう指定。
で、2番目と3番目の数字は、その小さな表の中だけで数えて上から何番目、左から何番目かを示す。
COUNTAはデータの個数を調べる。だから右端のデータが出てくるってわけ。
関数の中の「1」はINDEXで指定した範囲の中の1行目って意味だよ。
428 :
385 :2008/05/31(土) 23:09:39
>>425 説明が下手で本当にすみませんでした><
>>426 上の5行の説明は、非常によくわかったのですが、最後の1行の説明がわかりません。
左から何番目かを数えたのに、どうして一番右のデータだけが取り出せるのでしょうか?
データ個数とどう関係があるのでしょうか?
つくづく頭が悪くてすみません・・・
>>427 1「行目」ということなら、
>>416 は
2行目なら=INDEX(A2:G2,1,COUNTA(A2:G2))
3行目なら=INDEX(A3:G3,1,COUNTA(A3:G3)) ←「1」ではなく、「2」にならないといけないのではないでしょうか?
平成元年の天皇誕生日はどうなってたんだろう? 昭和天皇は1月に死んでるから、カレンダー業者全員死亡?
>>428 左から順にデータが並んでて、
データの数が2個なら2番目が右端になる。
データの数が3個なら3番目が右端になる。
データの数が4個なら4番目が右端になる。
データの数が△個なら△番目が右端になる。
つまり、データの数を数えるCOUNTA関数を使えば、右端のデータは何番目かってのが自動的にわかってしまう。
432 :
385 :2008/05/31(土) 23:16:00
つまり処女・非処女もわかってしまうと?
耳と尻尾があるのが処女、童貞。 ちなみに英語だと童貞も「ヴァージン」だからな。
434 :
385 ◆TqGiKMNe7A :2008/05/31(土) 23:20:32
>>430 COUNTA関数で何個目のデータかを数えたまでは理解できました。
しかし、一番右のを抽出するというコマンドはどこでなされているのでしょうか?
やっぱり「1」の意味がわかりません。
=INDEX(A2:G2,1,COUNTA(A2:G2))
を訳すと、
「A2からG2の範囲内で、データが何個あるか数えたよ」
でも、一番右だけのデータはどうやって取り出したのでしょうか?
>>432 そういういたずらはやめてください><
トリップつけました。
>>434 =INDEX(A2
↑
この「A2」セルを基準にする、って意味だよ。
ここから数え始めて、上から1番目、左からCOUNTA番目を取り出すのが、ここでのINDEX関数の役目。
いいかげん、自力で ぐ ぐ れ
理解力なさすぐる。 中卒?
関数の入れ子はコンピューターのセンスがないとなかなか理解できないもんだよ。 高校までで習う「関数」ってのは意味的にかなり限定された物だからねえ。
439 :
385 ◆TqGiKMNe7A :2008/05/31(土) 23:33:43
>>435 むむ、だいぶわかってきました。ぼやっとした感じではありますが。
>>436 ,437
一応国立4大卒です。しかし、理解力なさすぎですね・・・すみません。
>>438 わたしはセンスがないと思います。
関数の説明とか読んでも理解できないことがほとんどないので。
複数の関数の複合とかになるともうわけわかめ。
とにかく、みなさん親切に回答をありがとうございました。
INDEX関数とか使ったことがなかったのですが、使えるようになるとかなりできることが広がりそうですね。
今回のを機に本腰を入れて勉強してみます。
それじゃExcelなんてまともに使えないのでは まあ、右端のデータを取り出すのが作業列も使わずにピボットだけでできるってんなら話は別だけど。 なあ、ピボット厨さんよぉ
「できないことがほとんどない」なら、ちゃんと理解できたって意味になると思うんだけど…
442 :
385 ◆TqGiKMNe7A :2008/05/31(土) 23:40:26
>>440 セル操作はテラ早いんですよ。
「どんな操作やってるか見えないw」って言われるくらい。
VLOOKとIF関数はよく使いますが、単純な使い方しかしていません。
関数の入れ子は苦手です。
実際、使って色々試してみるといいんだとは思うんですけど、
関数の説明読んで理解するより操作早い分、チマチマ1個1個手動でやってましたw
>>441 失礼しました・・・
× できないことがほとんどない
○ できたことがほとんどない
ここまでのレス読んでわかった。
>>385 は100%女。かなりの自信家だが自分の力を過信しており
自分では仕事が速く終わり帰っているつもりだがその裏では
先輩社員が尻拭いを行っている。
最近、やけに自分に冷たい先輩いないか?
>385 そろそろお引取り願えませんか?
速いだけでムダが多いと見た。 なんでも力業で解決するタイプ。
>>440 そもそも右端の値を取り出すようなはめにならないようにデータを設計するんだよ。
社内のシステムがそうなってるって本当かなあ。
あくまでもレポートの一つがそうなっているだけであって、根本のデータは
>>405 のようになっている様な気がするけどな。
最初はパソコンなんかなくて、紙の上で手作業でやってたんだろうな。 だから、右へ右へと最新のデータを追記するしかなかった。 これをそのままパソコンで再現しようとして四苦八苦。おおかたそんなとこだろう。
VBAに手を出すとエクセル関数使いたくなくなるな。 「おーいなんか計算されねーんだけど」 ↓ 計算式に直接入力したアホのためにワークシートを保護 ↓ 「おーいフォントサイズ変えらんねーんだけど」 ↓ 計算をVBAに任せて解決
Application.WorksheetFunctionだらけのVBA…
便乗しますけど保護してないセルはフォントサイズも弄れるけど 保護してるセルは弄れないようにするってのは不可能なんでしょうか。 保護のオプションでセルの書式設定にチェック入れると 保護・非保護両方の書式が弄れてしまうんです。
=INDEX(A2:G2,1,COUNTA(A2:G2)) これは単一行なので普通は =INDEX(A2:G2,COUNTA(A2:G2)) と引数は1個にする。 単一列でも同じ。
454 :
名無しさん@そうだ選挙にいこう :2008/06/01(日) 01:39:10
>>452 ロックされたセル範囲の選択をオフにして、セルの書式設定をONでは。
>>349 年も入れるべき。
B1に「2008」と追加させていただくぜ。書式設定は「0"年"」
そしてA1に「6」だけいれて書式設定は「0"月"」
A2に=DATE(B1,A1,1)書式設定は「d"日""("aaa")"」
A3に=A2+1を入れた後、下までオートフィル
A30は=IF(DAY(A29+1)=29,A29+1,"")
A31は=IF(DAY(A29+2)=30,A29+2,"")
A32は=IF(DAY(A29+3)=31,A29+3,"")
>>410 ifネストは確か7段階までだからギリギリ足りるなー(ニヤニヤ
と思っていた自分が恥ずかしい。しかしよく思いつくな
>>455 >>454 は=INDEX(A2:G2,COUNTA(A2:G2))の式には同意してるんじゃない?
一つの行や列なら、わざわざ行番号や列番号の1を書くやつは滅多にいないからね。
引数は1個じゃなくて2個だから「ふざけろ」と書いたんだろう。
休み時間ヒマだったので、上司のパソコンに 「うんゆ」→「運輪」 「こくどこうつうしょう」→「国土文通省」 「せんじつは」→「先曰は」 「けっさん」→「抉算」 「ねんどまつ」→「年度未」 「しゃちょう」→「杜長」 「おくえん」→「憶円」 などを辞書登録しておいた。 どうやらまだバレていないようだ。 無知な方が幸せってこともあるなぁ
これも間違いですか? 100 Let Cells("1", "a").Value = "hoge"
463 :
名無しさん@そうだ選挙にいこう :2008/06/01(日) 13:14:24
またアホがコテ化して居座る予感
普通の事務では間違いではない が商用のプログラムやとても重いものを作るときに余計なものを書いて更に重くすることは 誤動作・相対的なスペック不足を起こさせてしまうのでそういう場合は「間違い」の範疇に入るとは思っている
465 :
名無しさん@そうだ選挙にいこう :2008/06/01(日) 13:59:28
>>461 そうか、それでか。おまえ、ちっちゃなこだな。
467 :
名無しさん@そうだ選挙にいこう :2008/06/01(日) 14:32:43
それもコピペだぞ
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 複数の条件に合うデータ まとめて呼び出す 日付|店 名|商 品|価 格|数 04/01|A店|010051|\1,000|10 04/01|B店|185325|\1,500|2 04/01|A店|220424|\1,200|5 04/12|B店|445876|\1,100|4 04/15|C店|048423|\1,800|3 04/15|C店|145862| \500|4 ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ ・ 上記のような基礎データシートから個別のデータを別のシート上に呼び出し、別の処理をしたいのですが、 別処理用のシートにおいて、基礎データシートに存在する日付と店名を選択肢として持ったリストを自動生成し、 それを選択することで目的のデータ(商品・価格・数)をまとめて呼び出すにはどのような仕組みにしたらよいのでしょうか? 呼び出し欄は以下のような感じにしたいと思っています。 日付|店 名|商 品|価 格|数 ▼| ▼| | | よろしくお願いします。
>468 INDEX/MATCH/AND
>>468 週に一回ぐらいの作成ならピボットテーブル。
逐一変化するリストを何度も出したい・・というようなのならオートフィルタかな?
両方使ってみればいいと思う
471 :
468 :2008/06/01(日) 15:39:33
連書きすみません、補足です。
呼び出すデータは一度に1行とは限らず、呼び出し欄で指定した条件に合致する場合は、
複数行を全て並べて呼び出したいこともあります。
例えば
>>468 の日付04/15は2行ともC店ですが、日付04/15・店名C店と選択した場合は、
以下のように2行とも並べて呼び出すようにしたいと思っています。
日 付|店 名|商 品|価 格|数
04/15▼|C店▼|048423|\1,800|3
|145862| \500|4
よろしくお願いします。
オートフィルタを二列に設定すればok
473 :
468 :2008/06/01(日) 15:47:03
>>469-470 即レスありがとうございます。
>>469 すみません、もう少し詳しく説明していただけるとありがたいのですが・・・
>>470 別処理作業の頻度としてはほぼ毎日で、増える要素としてはその日の日付と商品・価格・数量の個別データです。(店名はたまに追加される程度)
ただし、毎日追加される個別データは、同一日・同一店で1〜数十までかなり変化します。
>>473 とにかくオートフィルタかピボットテーブルだね。
>>470 は週に一回とか書いてるけど別に毎日だろうが1時間ごとだろうが
そんなに面倒でもないよ。
やってみた?どうだった?
475 :
468 :2008/06/01(日) 16:11:05
>>474 とりあえずオートフィルタだけはやってみました。
条件に合うデータが絞り込まれるのは判りましたが、それを別のシートに書き出す方法がわかりません・・・
というか、条件を絞り込むリストは別のシート上に設けたいので・・・
オートフィルタの設定とかをいじって試行錯誤中です。
シートごとコピーしてからオートフィルタ
>>475 ピボットテーブルで日付別,店舗別に集計した後で、集計値をダブルクリックしてみるんだ。
478 :
468 :2008/06/01(日) 16:29:52
>>476 つまりこういうことでしょうか?
基礎データシート(シート1とする)にはなにも仕掛けを設けず、ひたすらデータを入力しておくのみ。
別処理用シート(シート2とする)は、基礎データに対応する各セルに常にシート1の値を反映させる(=シート1!C2等)ようにしておき、
シート2の日付と店名欄にオートフィルタを設定する。
もしこれでしたらなんとなくいけそうな気がしてきましたが、
問題はシート2には別処理用の計算式があり、処理対象としないデータまで書き写されていると、
余計なデータまで拾って処理してしまいそうな気がするのですが・・・
>>477 ピボットテーブルは少し前から挑戦してるんですが、どうもとっつきにくくて・・・
余裕があれば取り組んでみます。
>>478 シート1をコピーして新しいシートを作るんだ
シート見出しを右クリックしてコピーするといい
シート見出しをctrl押しながらドラッグしても簡単にコピーできる
わからなかったら↓
メニューの編集→シートの移動またはコピー→移動先は同じファイル名、挿入先は好きなところでコピーを作成するにチェックしてok
べつにこんなことしなくても、シート1にそのままオートフィルタかけてしまってもいいと思うけど
そういうのはAccessを使うべきだと思うんだけどねえ…
481 :
468 :2008/06/01(日) 16:53:55
>>479 シートをコピーする方法はさすがにわかります^^;;
ちょっと誤解されてるような気もしますが、処理は一度きりではなく、毎日繰り返しです。
そのたびにシートをコピーしてフィルタをかけるということではなく、
基礎データ用のシートと別処理用のシートは常にそのままで、
基礎データが増えるたびに別シートで処理をしたいと思っています。
基礎データと別処理を同じシート上で行ってもよいのですが、それを分けたい理由は、
基礎データだけでも、別処理用のシートだけでもモニタの画面がいっぱいになってしまうし、基礎データは何千行にもなってしまうので、
スクロールではなくタブの切り替えで基礎データ入力と別処理作業とを切り替えたい事と、
ある特定の日付・店舗のデータだけを別処理対象にしたいので、
一連で並んでいる基礎データの中から、条件選択によって目的のデータをダイレクトに処理対象にするやり方がわからなかったので、
それなら別処理用のシートを用意しておき、基礎データから対象となるデータのみを呼び出せばいいだろうと考えたからでした。
>>480 同じく。でも無いんだろう
>>481 やはりオートフィルタしか思いつかない
シートはやりやすいところならどこでもいいと思う
あとVBA覚えた方が結果的に楽だと思うぞ
483 :
468 :2008/06/01(日) 17:25:24
>>482 ACCESSはないですし、入手見込みもありません・・・
今試しに
>>478 の方法で別処理をかけてみましたが、
フィルタリングしても見栄えとしてデータが絞り込まれるだけで、
やはり条件外のデータを処理対象から外すことはできないようです。
条件に合う行だけをずら〜っと抜き出すいい方法はないものでしょうか・・・
あと、VBAもゆくゆくはと思っていますが、何しろ余裕がなく・・・
コピーしたら?
基礎データに連番を振っておく 基礎データにフィルタをかける フィルタ後の連番をコピーして別処理用のシートに貼り付け 別処理用のシートには抽出した連番を元にVLOOKUPで必要な項目を参照する式をつくっておく 完璧だな
Sheet1のA列とB列に名前定義 Sheet2にクライテリアを作る 重複は削除できないけど、クライテリアは入力規則で名前定義した範囲を設定 フィルタオプションでSheet2に書き出し で、いいんじゃない?
>>485 いい方法だなと思いましたが、「フィルタ後の連番をコピーして別処理用のシートに貼り付け」
という部分が引っかかります。
エクセルに慣れてない者も作業することがあるので、基礎データの入力と処理対象呼び出し以外、
コピペなどの作業はできるだけ省きたいところです。(操作や対象範囲を間違えるおそれがあるので)
理想はやはり日付・店名の選択のみで一発呼び出しなのですが・・・
>>486 なんとなくいけそうな感じがしないでもないですが、「クライテリア」が判りませんので、後で調べて確かめてみます。
んー、それじゃ日付・店名を連結した検索キーを基礎データにつくる 別処理用のシートには検索キーに一致する行の項目をVLOOKUPで参照する式をつくっておく これでどうよ。検索キーは重複がないことが条件だ。
489 :
468 :2008/06/01(日) 18:50:56
>>488 ありがとうございます。
今はちょっと時間がなくなってしまったのと、検索キーが判らないので、後で調べてやってみます。
結果はまた夜か明日にでも報告します。
>>489 オートフィルタの結果はAlt+ ; →Ctrl+Cでコピーできるから、
これを別シートにCtrl+Vで貼り付けて処理したら?
とりあえず「マクロの記録」で、手作業でやってる操作の手順を記録して、
あとから自動で再現できるようにしとくだけでもだいぶ楽になると思うぞ。
>>481 よくわからないなあ。
モニタの画面がいっぱいになる
基礎データが何千行にもなる
ある特定のデータだけを処理対象にしたい
どれも別シートを用意しなければならない理由になってない。基礎データだけのシートをオートフィルタで操作するのが単純でいいよ。
>>468 >>486 が書いてるようにフィルタオプションの設定を使え。
オートフィルタは使うんじゃねーぞ。
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 セルの書式設定 ユーザー定義 セルに「16」と数字を入力したら、自動で「16件」となるように設定したいのですが、 セルの書式設定のユーザー定義で「@"件"」と設定したところ、 セルには「16件」と表示はされるものの、エラーマークが出て、 「数値が文字列として変換されています」となってしまいます。 設定方法を教えてください。
>>494 @ではなかったんですね
できました、ありがとう!
Excelで需要曲線って描ける?
497 :
468 :2008/06/01(日) 22:36:19
いろいろ調べてみたのですが、
>>486 の「クライテリアの作り方」が判らず、実証までたどり着いていません。
そこで
>>488 の検索キー方式を試してみました。
検索キーの重複がNGとのことなので、同一日付・同一店名で複数のデータが存在するケースのために
同一日付・同一店名のデータに各行整理番号を付し、日付・店名・整理番号を連結した検索キーの項目を設けました。
基礎データ
日付|店名|整理番号|検索キー|商 品|価 格|数量
4/01|A |1 |0401A1 |010051|\1,000|10
4/01|A |2 |0401A2 |185325|\1,500|2
4/01|A |3 |0401A3 |220424|\1,200|5
4/05|B |1 |0405B1 |458564| \600|1
4/05|B |2 |0405B2 |145753| \850|8
4/05|C |1 |0408C1 |854620|\1,420|3
4/12|B |1 |0412B1 |445876|\1,100|4
4/15|C |1 |0415C1 |048423|\1,800|3
4/15|C |2 |0415C2 |145862| \500|4
下記の別処理用シートの呼び出し欄の商品・価格・数量の欄には、
=VLOOKUP($D18,$D$3:$G$11,2,FALSE)と仕込み(別処理用シート名は省略)、
これに日付・店名を入力(整理番号はあらかじめ書き込んでおく)すると、下記のような結果になり、ほぼ求めている内容となりました。
処理シートの呼び出し欄
日付|店名|整理番号|検索キー|商 品|価 格|数量
4/05|B |1 |0405B1 |010051|\1,000|10
↑ここを↑ |2 |0405B2 |185325|\1,500|2
手入力 |3 |0405B3 |#N/A |#N/A |#N/A
|4 |0405B4 |#N/A |#N/A |#N/A
|5 |0405B5 |#N/A |#N/A |#N/A
あとは、処理対象となる日付・店名の入力指定リストを、基礎データに存在する日付・店名の中から
重複日付・重複店名を省いて自動生成できればほぼ完成なのですが、どうしたらよいのでしょうか・・・。
>>496 価格と需要の関係さえ定義してやれば描ける。
499 :
497 :2008/06/01(日) 22:41:55
あぁなんか、、慌てて書き込んだので
>>497 の基礎データと処理シート呼び出し欄のデータが整合していませんが、
結果はちゃんと整合していました。すみません・・・。
>>497 結局最終的には何を求めたいの?
店舗別日付別の売上とかいう落ちじゃないだろうな。
501 :
486 :2008/06/01(日) 22:59:14
>>497 ああ、すまん、フィルタオプションではクライテリアじゃなくて、
検索条件範囲って言うみたいだね
いっその事、入力規則の重複のないリストも
フィルタオプションで別シートに作っちまうって手もあるけど
502 :
名無しさん@そうだ選挙にいこう :2008/06/01(日) 23:32:28
>>498 関数のグラフ化ってエクセルでできたっけ?
>>502 本気で言ってるのか。
それとも「関数を定義するだけではグラフを描けませんよーだ。バーカ。」という釣りですか。
>>500 それならピボットテーブルでいっぱつだけど、まさかねえ
505 :
名無しさん@そうだ選挙にいこう :2008/06/01(日) 23:38:55
>>503 本気だけど・・・?
0.0001単位でPとXの関係作って作図するのか?
正直エクセルにそんな機能を求めたことはないので・・・。
>>504 そのまさかではないかとだんだん思ってきた。
このあたりで。
>>497 >あとは、処理対象となる日付・店名の入力指定リストを、基礎データに存在する日付・店名の中から
>重複日付・重複店名を省いて自動生成できればほぼ完成なのですが、どうしたらよいのでしょうか・・・。
>>505 なんだその0.0001単位って。
座標データにしてしまえばグラフにできるよ。
508 :
名無しさん@そうだ選挙にいこう :2008/06/01(日) 23:46:52
>>507 P X
0 700
0.0001(てかできるだけ小さい数) 699
0.0002 698
とかこんなの。
>>508 折れ線でも、棒でも散布図でも好きに描いたらいいじゃない。
>>508 数字が小さいか大きいかなんてあくまでも相対的にしか決められないんだよ。
0.0001が小さいとか勝手に決めたら先生に注意されるぞ。
511 :
468 :2008/06/01(日) 23:58:18
>>501 なるほど、わかりました。
ただ、フィルタオプションはいろいろいじってみたのですが、うまく設定ができず、
ご指示いただいた方法を突っ込んで試すことができていません。
>>506 例示した内容はやろうとしていることをあくまで単純に模式化しただけのもので、
実際の内容は全然違い、詳細なパラメータが並ぶデータを整理・解析するというものです。
店舗別日付別の売上をまとめたいというような単純な話ではさすがにありませんよ。
>>511 うまくもなにも、重複するレコードを無視するにチェックいれるだけだけど
>>511 要するに基礎データから店舗別日付別の明細データを別シートに取り出したいんじゃないの?
>>511 >例示した内容はやろうとしていることをあくまで単純に模式化しただけのもので、
>実際の内容は全然違い、詳細なパラメータが並ぶデータを整理・解析するというものです。
ここをちゃんと説明したらもっと適切な回答をもらえるかもしれないよ。
515 :
486 :2008/06/02(月) 00:36:47
>>511 >フィルタオプションはいろいろいじってみたのですが、うまく設定ができず、…
そういう人のためにヘルプがあるんだけど
なんでここにいるやつらってのは、なんでも質問者を自分の土俵に引きずりこんで話をしようとするかね。
わからなくて聞いてきてるんだから、質問者が欲してる答えだけを素直に教えてやればよくないか?
質問者のスキルにしたって千差万別、知ってることも知らないことも、できることもできないこともあるし、
言葉足らずの一行レスで推し量れなんて無理。
解決策のひとつも提示せずに、最終的になにがしたいの?なんて、どうでもいいだろう。
>>497 日付のデータがA2:A10にあるものとして、B列およびC列に以下の作業列を挿入する。
まずB2に、
=IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(B$1:B1)+1,""))
を入力し、C2に、
=IF(ROW(A1)>MAX(B:B),"",INDEX(A:A,MATCH(ROW(A1),B:B,0)))
を入力、そしてB2とC2を必要な行数までドラッグ。
するとC列に重複した日付を除いたデータが生成される。
このC列の範囲に名前(「日付」等)を定義し、
処理用シートの入力欄のリストが参照する範囲(入力規則の条件設定の元の値)を定義した名前にする。
これで重複データを省いたリストが作成できる。
店名についても同様。
見栄え上作業列が邪魔なら非表示にすればよい。
言われたことしかやらないからゆとりって言われちゃうんだよ
言われたことが出来ない人間を三流。 言われたことが出来てようやく二流。 お前らはいつになったら一流になるんだ?
>>516 ださい回答だが、質問者は飛びついて大喜びしそうだな。
似たもの同士というところか。
>>518 を訂正
言われたことしかできない人間を三流。
言われたことを上手にできる人間で二流。
だめだな、もうあいまいになってるよorz
モニタの画面がいっぱいになる 基礎データが何千行にもなる ある特定のデータだけを処理対象にしたい 詳細なパラメータが並ぶデータを整理・解析する どれひとつとして別シートにデータを並べる理由になっていないと思わないか?
522 :
名無しさん@そうだ選挙にいこう :2008/06/02(月) 02:20:53
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 検索場所 VBAとか全然関係ないんでこのスレであってるか不安なんですけど 検索するときにデフォルトだとシートを対象に検索しますけど、 常にブックを検索するようにできますか?
523 :
名無しさん@そうだ選挙にいこう :2008/06/02(月) 02:31:15
>>519 そういう事はもっとカッコいい回答をビシッと示してやってから言ってくれよ
>>521 なんでお前はそこにこだわる?
そうまでしての揚げ足とりたいのか?
分けたいって言ってんだから別にいいじゃん、お前にめんどくさい仕事押し付けるわけじゃないんだし
>>522 デフォルトの設定は変更できないので
マクロを作ってボタンかショーカットに割り付け
525 :
名無しさん@そうだ選挙にいこう :2008/06/02(月) 04:10:22
>>511 エクセルに不慣れな者が操作する事もあるって前にレスしてるけど
別シートに抽出したデータをエクセルに不慣れな人が具体的にどのように整理・解析するんですか?
>>523 与えられた条件だけからだとシートを分けないのが一番かっこいい解決方法だろ。
別シートに分けるのだってコピペの方がスマート。
>>515 がフィルタオプションがうまく設定できなかったってのは、別シートに抽出できなかったってことだろ?
抽出先のシート上でフィルタオプションの操作を始めればうまくいくよ。
オートフィルタからコピペはやるなよ。
全然スマートじゃねーからな。
>>527 フィルタオプションで日付をユニークにしたら失われる情報があると思うけど。
>>529 店名と日付が合致したデータを別シートに抽出するんじゃないの?
ユニークとか関係ないだろ?
>>525-526 朝っぱらからあら探しに必死だなw
お前らは想像力が欠如してるよ
>>511 がボタン一発にこだわってるところからして、
行った先にはすでに計算式やら表やらが用意されてて、
手を加える必要はほとんどないんだろ
あとはそれを眺めて何か考えたり、
また違う何か他の作業に役立てるってところじゃないのか?
世の中はエクセルの中だけで完結してるわけではないんだよ?w
自分に見えるものだけが世の中の全てと思うなよ井の中の蛙
>>526 だからそういうのを自分の土俵に引っ張り込むって言ってんだよ
質問者はそれを望んでないだろ?むしろ分けたがってる
分けたい理由なんてどうでもいいんだよ、
>>481 でスクロールをしたくないって言ってる、それで充分だ
お前の言う“スマートな方法”を無視されたって事がそんなに悔しいのか?
別にいいだろ、スマートじゃない方法でやれって作業をお前に押し付けてるわけじゃないんだから
あら探しするんだったら、質問者が望む土俵の上で一番スマートな方法を提示してからにしとけ
>>528 今までソートする必要に迫られなかったから知らない
自分が知ってたやり方を提示したまでだ
これで用が足りなかったらまたなんか聞いてくるだろ
A,B,Cのシートがあった場合、Aのシートを選択中にマクロを実行した場合は BとCのシートのA1に「ぬるぽ」、同様にBを選択中に実行した場合はAとCに Cを選択中に実行した場合はAとBに…と、選択シート以外を弄りたいです。 もちろん名前とシート数が固定なら指定できますし シート名の取得・シート数のカウントができるのもわかります。 ですがそれをどう組み合わせたらいいのかがわかりません… 配列にするにしても現在のワークシートの番号なんてものはないですよね?
>>532 ワークシートを全部回せばいいんじゃない?
シートの番号とか使うのはスマートじゃないからやめとけ。
Dim sh As Worksheet
Dim ws As Worksheet
Set sh = ActiveSheet
For Each ws In Worksheets
If Not sh Is ws Then
ws.Range("A1").Value = "ぬるぽ"
End If
Next
FillAcrossSheetsで全部のシートに書き込んでだあとでActiveSheetのA1だけ消すのもありかな?
不細工に書くとこんなかな? Dim i As Long, j As Long j = ActiveSheet.Index For i = 1 To Worksheets.Count If i <> j Then Worksheets(i).Range("A1").Value = "ぬるぽ" End If Next
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 揃える 1つの行に11900とか29010とかあって、後ろ三桁を全部800にしたい。 末尾が800より上だったら、切り上げて揃えたい。 11900の場合→12800 29010の場合→29800 よろしくお願いします。
>535 MOD
537 :
536 :2008/06/02(月) 14:39:35
>535 MODよりINTのが楽だわ。 訂正しとく。
>>535 =ROUND(対象数値-301,-3)+800
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel 2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 日付 Sheet別 日付を一気に6月1日から6月30日までSheet別に載せる方法を教えてください。 例えば、Sheet1のあるセルに2008年6月1日、Sheet2の同じセルに2008年6月2日、 Sheet3の同じセルに2008年6月3日・・・と、6月30日まで一気に打ち込むやり方を教えてください。
540 :
名無しさん@そうだ選挙にいこう :2008/06/02(月) 18:16:26
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 vlookup 空白 範囲 vlookupで範囲指定するときに空白があるところまで 自動で範囲指定してくる関数か方法があった気がするのですが 忘れてしまったので教えてください。 よろしくお願いします。
仕事から帰ってきて読んでみたら
>>531 がめちゃめちゃキレててびっくりした。
そんなに怒らせるようなこと言ったかなあ?
ところで
>>539 は最終的に何がやりたいの?
例えば毎日何かを記録してその日の合計を出したいのかな?
544 :
名無しさん@そうだ選挙にいこう :2008/06/02(月) 21:05:47
質問に端的に答えるってのも一つの方法だけど 質問者の真意を汲み取ろうとする努力を否定するような事でも無いと思うな。 「たかがExcelの質問スレでそこまで親切にする必要無い。適当に答えとけばいいだろ、面倒くせーんだよ」 という意見なら分からないでもないが。
>>539 sheet2以下は前のシートの日付+1になる式を入れる
541
555
>>541 Shift + Ctrl + スペース
あるいは
Ctrl + End
あたりの応かなあ。
誰も回答者全員に必要以上に親切にしろと言ってるわけじゃないから、 面倒なら口を出さなければいいだけじゃない? おせっかいな人は個人の意志で勝手にやってるだけなんでしょ? 回答もせずに他人のやりとりに横から口をはさんでケチつけるだけのレスのが よっぽど邪魔だと思う。
555 :
名無しさん@そうだ選挙にいこう :2008/06/02(月) 21:39:13
>>539 そもそも1シート=1日という設計はどうなのよ?
とか言うとまた「質問だけに答えてりゃいいんだよ」と怒り出す人が出てくるんだろうな・・・
>>539 マクロの記録。
ちなみにページ(シート)の切り替えはCtrl+PageUp/PageDown。
あとはカットアンドペーストとマクロの登録で、キーボードかマウス連打で次々と日付が入るようになる。
本当に一気にやりたいならVBA。
教えてください。 【1 OSの種類 .】 WindowsXP,vista 【2 Excelのバージョン 】 Excel2000,2003,2007 【3 VBAが使えるか .】 使えなくもない程度 【4 VBAでの回答の可否】 可(望む) 【5 検索キーワード 】 codename excel sheets あらかじめ、string型変数に設定されている、 ワークシートのオブジェクト名を使用して、 ワークシートにアクセスしたいのですが、どうすればよいか御存知の方、どうかお教えください。 オブジェクト名:sheet1、 シート名:sheet1name シートIndex:1、 というワークシートがあった場合、 sheet1.range("a1).value = 100 sheets(1).range("a1").value = 100 sheets("sheet1name").range("a1").value = 100 の操作の結果は、全て同じものになると思うのですが、 これと同じことを、 sheet1.codename によって得られる文字列を用いて行いたいと思っています。 可能でしょうか? 可能でしたら方法をご教授ください。
Excel2003 水泳のタイムを表にしたいのですが 1:23.45 など、分があるときは問題ありません。 しかし、分がないとき 12.34 と表示させたいのですが 0:12.34 と表示されてしまいます。 ?":"00"."00 で表示形式を設定したところ、頭の0は 表示されずにうまくいったのですが、 : が表示されてしまいます。 どう設定すれば表示されなくなるのでしょうか。 お力をお貸しいただきたいと思います。
>そもそも1シート=1日という設計はどうなのよ? >とか言うとまた「質問だけに答えてりゃいいんだよ」と怒り出す人が出てくるんだろうな・・・ 禿同。 やたらにBook重くしてるような気がする。 各シートにそれだけ必要なデータなり関数なり入っているなら、VBAは必須だと思う。
560 :
532 :2008/06/02(月) 23:13:18
>>558 Excel2007だと条件付き書式で記号を消せるんだけど、
2003以前だと作業列を作って文字列として : を消すか、
VBAでタイムを調べて書式を書き換えるみたいな方法しか思い付かない。
562 :
541 :2008/06/02(月) 23:25:20
>>541 ,554
そうでした!
ありがとうございます!
>>558 >>分がないとき 12.34 と表示させたいのですが
その発想がまずダメ。
>>557 ThisWorkbook.Worksheets(ThisWorkbook.VBProject.VBComponents("Sheet1").Properties("Name").Value).Range("A1").Value = 1234
^^^↑^^^
ここにオブジェクト名を書く
ただ、この方法は長くてプログラムが見づらくなるしスピードも遅くなるので、
できればモジュールの先頭でシート名やシートインデックスを取得しておくか、
アクティブシートを切り替えてから処理した方がいいと思う。
>>563 出た。ケチつけるだけで回答を示せないくん
すげえ
出た。野次馬さん
570 :
558 :2008/06/03(火) 00:09:23
>>566 さん
ありがとうございます。
何のこっちゃ分かりませんがコピペで使わせていただきます。
その他 考えてくれたみなさん ありがとうございました
571 :
557 :2008/06/03(火) 00:36:57
>564 ありがとうございます。 Const codeName01 As String = "sheet1" Sub ababa() Dim obje As Object Set obje = ThisWorkbook.Worksheets(ThisWorkbook.VBProject.VBComponents(codeName01).Properties("Name").Value) obje.Range("A1").Value = 123456 End Sub の形で使用しようと思います。 Objectの指定で間違いないか少々不安ですが、動いたので、たぶん…。
572 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 00:48:07
VBAで名前をつけて保存時にのみ、設定したファイル名をあらかじめ 表示するようにするにはどうすればよいのでしょうか。 あくまで、「標準の名前を付けて保存の時にファイル名を表示させたいんです。 ActiveWorkbook.SaveAsを使うとややこしくなるので・・・
573 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 00:52:36
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 A列 B列 ○○
574 :
573 :2008/06/03(火) 00:53:41
>>573 すみません、途中で書き込んでしまいました・・・
【1 OSの種類 .】 WindowsXP
【2 Excelのバージョン 】 Excel2003
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
A列 B列
1 ○○
2 ×○
3 ■×
わらた
576 :
573 :2008/06/03(火) 00:55:49
あ、また途中で書き込んでしまった・・・本当にすみません・・・ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 A列 B列 C列 1 ○▲ 2 ×○ 3 ■× 4 △● ○△ 5 ×× 6 ●● 上記のようにデータがあり、C列にA列とB列を統合したデータを入力したいのですが どうやったらできますか?
577 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 00:57:13
=A1&B1
578 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 00:58:56
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 (適切なワードが思いつきませんでした) 分類1 分類2 分類3 1960 ... 2007 と1行目にあるでーたをもとにピボットテーブルを作成したいです。 分類i (i = 1, 2, 3)は国名やデータ種類です。4桁の数字は西暦です。 このままだと、1960などがベクトル名?のような扱いになってしまうと思うんですが、1960などをYearとしてピボットテーブルで扱えるようにしたいです。 どうすればよいでしょうか?
>>572 質問の意味がよくわからん
どうしたらどうなってほしいのか、手順を書いてくれ
581 :
578 :2008/06/03(火) 01:03:44
>>579 ありがとうございます。でも、それでも西暦がフィールドリスト(名前わかりましたwベクトル名じゃないですね)の選択肢にひとつづつ表示されるのは変わらないんですが・・・
582 :
573 :2008/06/03(火) 01:07:11
>>577 おお!ものすごくシンプル!その手があったとは!
ありがとうございます!
583 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 01:12:12
>>582 お前テンプレ5も書いてないし、自分で調べてないだろ?
584 :
578 :2008/06/03(火) 01:29:30
すみません、わかりにくいと思うので補足させてください。 西暦部分の一つ一つがピボットテーブルのフィールドになる現状を、 Yearという形でまとめたひとつのフィールド(その中身は西暦)にしたいのです。 よろしくお願いします。
585 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 01:32:33
よく分からんけど1960/1/1みたいに入力しといて表示形式をyyyyでいいんじゃね
586 :
578 :2008/06/03(火) 01:36:59
>>585 気に留めてくださりありがとうございます。
分類1 分類2 分類3 Year
と1行目にある状態でピボットテーブルを作った状態が目指す形なので、それだと状況が変わりません。表示形式の問題ではないので
E F ZZ year 1960 … 2007 =F2& … &ZZ2 ** ** みたいな表にするとか
588 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 01:40:23
>>586 質問の意味がよく分からないな。
元のデータがどういうものか、もう少し具体的に実データもしくはそれっぽいデータで書いてくれると有難いんだが。
>>586 yearの下に入るデータと、1960〜2007の下に入るデータの関係は?合計?最大値?
590 :
578 :2008/06/03(火) 01:43:39
>>587 すみません、
>>586 がわかりにくかったですね。
分類1 分類2 分類3 Year Data
文字列1 文字列2 文字列3 西暦 データ(数値)
という形なので、Yearの中身がデータではありません。
Yearは分類のひとつという感じなんです。
591 :
578 :2008/06/03(火) 01:46:44
元のデータ Series Name Series Code Country Name Country Code YR1960 ... YR2007 Methane Emission MT.EM China CHN 555 ... 777
592 :
578 :2008/06/03(火) 01:51:20
こういう状態でできるピボットテーブルを作成したいです↓ Series Name Series Code Country Name Country Code Year Data Methane Emission MT.EM China CHN 1960 555 . . . Methane Emission MT.EM China CHN 2007 777
593 :
578 :2008/06/03(火) 01:52:36
普段は
>>592 のように出力するデータベースを使うんですが、違うデータがほしかったのでこういう形式になってしまいました。
>>590-592 ずれててよくわかんねー。どこがセルの区切りだよ。
あと、例を書くなら3行ぐらい書いてくれ。1行だけだとよくわからん。
元のデータはこういう感じ?
A B C D E
1 分類1 分類2 分類3 Year Data
2 文字列1 文字列2 文字列3 西暦 数値
3 文字列1 文字列2 文字列3 西暦 数値
4 文字列1 文字列2 文字列3 西暦 数値
5 文字列1 文字列2 文字列3 西暦 数値
ちなみに、「データの正規化」ってわかる?
正規化されてないデータはピボットテーブルにできないよ。
595 :
578 :2008/06/03(火) 01:59:42
データの正規化、わかりません。今ググってみたんですが・・・。重複の有無、という認識でよいなら重複はないと思います。有料データベースからとったものなので。 元のデータは A B C D E 1 分類1 分類2 分類3 1960 1961 1962...2007 2 文字列1 文字列2 文字列3 数値 数値 数値...数値 3 文字列1 文字列2 文字列3 数値 数値 数値...数値 4 文字列1 文字列2 文字列3 数値 数値 数値...数値 5 文字列1 文字列2 文字列3 数値 数値 数値...数値 です。
596 :
578 :2008/06/03(火) 02:02:11
で、各行に47個ずつある数値をどうやってまとめたいの?
あ、48個か
まとめたいんじゃなくてバラしたいんじゃないの? 1行を48行に。 元のデータが100行あったとしたら、全部で4800行ある巨大なワークシートに。
600 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 02:05:25
>>595 正規化っていうのは次のようなデータになってればいいって事
1 分類1 分類2 分類3 Year Data
2 文字列1 文字列2 文字列3 1960 数値
3 文字列1 文字列2 文字列3 1961 数値
4 文字列1 文字列2 文字列3 1962 数値
5 文字列1 文字列2 文字列3 1963 数値
・・・
601 :
578 :2008/06/03(火) 02:07:53
A B C D E 1 分類1 分類2 分類3 1960 1961 1962...2007 2 文字列1 文字列2 文字列3 A 数値 数値...数値 3 文字列1 文字列2 文字列3 数値 数値 数値...数値 4 文字列1 文字列2 文字列3 数値 数値 数値...数値 5 文字列1 文字列2 文字列3 数値 数値 数値...数値 A B C D E 1 分類1 分類2 分類3 Year Data 2 文字列1 文字列2 文字列3 1960 A 3 文字列1 文字列2 文字列3 西暦 数値 4 文字列1 文字列2 文字列3 西暦 数値 5 文字列1 文字列2 文字列3 西暦 数値 という感じなんですが・・・。 あるデータの持つ、(文字列1 文字列2 文字列3 西暦)という情報を崩さない、ということなんですが。。
まさかと思うけど、こういうこと?? 1960 1961 1962 数値1 数値2 数値3 数値4 数値5 数値6 ↓ 1960 数値1 1961 数値2 1962 数値3 1960 数値4 1961 数値5 1962 数値6
ピボットテーブルを作るんじゃなくて、その逆か?
604 :
578 :2008/06/03(火) 02:10:36
>>604 逆じゃボケ
ピボットじゃねえじゃん
VBAでやれ
>>604 正規化っていうのはピボットテーブルを作る前にする作業なんだよ。
まずデータを整理して正規化して、それからピボットテーブルを作る。
578がやりたいのは、最終的に正規化されたデータが欲しいのであって、
ピボットテーブルを作ることじゃない。
この違いがわかるか?
607 :
578 :2008/06/03(火) 02:16:50
>>605 最終的にはピボットテーブルを使える形にしたいんです。データ範囲の設定なんかでできたらいいと思ったんですが、やっぱり無理でしたか・・・
VBAでどうやるんでしょうか?
プログラムは大学関連で数時間やったことがある程度なので、自分ではかけません。
608 :
578 :2008/06/03(火) 02:18:00
>>606 あ、なんとなく・・・。質問の仕方が悪いのはよくわかりました。ごめんなさい。
>>607 すでにまとまったデータがあるんだから、
何も一旦ばらさなくても、
そっから範囲の指定とかしてきゃいいじゃん。
フィルタとか使って色々できるぞ。
610 :
578 :2008/06/03(火) 02:25:11
>>609 具体的にどういう風にするんでしょうか?フィルタで抽出→手作業で正規化ってことですか?
>>607 Sub aaa()
Application.ScreenUpdating = False
Worksheets("Sheet2").Range("A1:C1").Value = Worksheets("Sheet1").Range("A1:C1").Value
Worksheets("Sheet2").Range("D1") = "Year"
Worksheets("Sheet2").Range("E1") = "Data"
r = 2
r2 = 2
While Worksheets("Sheet1").Cells(r, 1) <> ""
For i = 4 To 51
Worksheets("Sheet2").Cells(r2, 1) = Worksheets("Sheet1").Cells(r, 1)
Worksheets("Sheet2").Cells(r2, 2) = Worksheets("Sheet1").Cells(r, 2)
Worksheets("Sheet2").Cells(r2, 3) = Worksheets("Sheet1").Cells(r, 3)
Worksheets("Sheet2").Cells(r2, 4) = Worksheets("Sheet1").Cells(1, i)
Worksheets("Sheet2").Cells(r2, 5) = Worksheets("Sheet1").Cells(r, i)
r2 = r2 + 1
Next
r = r + 1
Wend
Application.ScreenUpdating = True
End Sub
>>571 シートと分かってるのにDim obje As Objectはまずくない?
まずくはない
その程度なら最初から厳密には○○のほうが良い、とか書けばいいのに
ブックもシートもセルもみんなオブジェクトだから
618 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 08:19:47
出た。野次馬さん 。
>>616 ExcelのVBEに書く場合は
ブックと分りきってるならAs Workbook
シートと分かりきってるならAs Worksheet
セルと分かりきってるならAs Range
とするのが普通。
ワークシートと分かりきってるならに訂正
As Excel.Worksheetとした方がプロっぽい
それは単なるムダ
そこまで書くんならApplication修飾子もつけてやれよ
プログラマーの賃金が1行いくらで支払われてた時代があってな。 ムダに行数を増やすテクニックを色々と覚えたもんだよ。
>>626 ExcelがApplicationだから
両方つけたらエラー
それはともかく冗長なのは汚いね
人の書き込みに適当なところで改行をいれろとしつこいやつが昔いたが、てめーのその全体的に長いコードを何とかしろと言いたかったw
両方つけたらエラーじゃなくてApplicationをつけたらエラーか
630 :
572 :2008/06/03(火) 12:56:04
>>580 例えばA.xlsのファイルを編集中に「名前を付けて保存」を実行すると
あらかじめファイル名の欄に「A.xls」が表示されていますよね?
その部分を処理によって変えたいのです。
例えばマクロAを実行したら「江原はいつホスピス作るのwww.xls」
マクロBを実行したら「犬HKはなんで細木なんて出してんのwwwww.xls」
のように、名前を付けて実行であらかじめ表示されるファイル名を変えたいのです。
>>630 残念ながらその部分は簡単には変更することができない。
ファイルの保存ダイアログを自前で作るか、非公開でアクセス可能なプロパティがあれば操作。
あまりスマートではないが、一旦tempフォルダに名前を付けて保存してしまい、
あとでtemp内のファイルを消すという方法もある。
632 :
578 :2008/06/03(火) 18:20:48
みなさんありがとうございました。 まだ試していませんが、これでやってみますね。
そう思うならお前が答えてやりゃいいだろ
635 :
名無しさん@そうだ選挙にいこう :2008/06/03(火) 20:16:43
【1 OSの種類 .】XP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 小数点が付いた数値にそのまま「%」の記号を付けたいのですが、方法は無いでしょうか? 付加した瞬間数値が変わってしまい困っています。 尚、その数値は数行とあり、まとめて付加できれば理想的です。
>>572 > ActiveWorkbook.SaveAsを使うとややこしくなるので・・・
そんなにややこしいかな?
GetSaveAsFilenameでデフォルトのファイル名指定してやるだけの話に読めるけど。
>>635 範囲選択して書式の最後に"%"を付け足す
今の書式が不明なのでデフォルト状態に対する例を示すと
G/標準
↓
G/標準"%"
>638 ありがとうございます。 解決しました。
640 :
571 :2008/06/03(火) 22:43:49
As Object に対するレスありがとうございます。 参考にさせてもらいます。 Excel.WorkSheet という記述方法は初めて知りました。 msdnはリンク保存しました。 どもです。
641 :
名無しさん@そうだ選挙にいこう :2008/06/04(水) 00:07:43
>>636 GetSaveAsFilenameを使うと、マクロで実施した「名前を付けて保存」と
標準の「名前を付けて保存」の二つが存在することになり、
『なんか名前が設定されてる時とされてない時があるんだけど』
とクレームがくるんですよ
>>614 そのとおり!
会社で答えようと思ったらアク禁されててちょっと歯がゆかったぜ
会社なのにアク禁てどんなだよ
>>641 もうすこし研究して、名前が設定される時とされない時が、それぞれどんな場合かを突き止めるんだ
単純なミスかもしらんぞ
645 :
名無しさん@そうだ選挙にいこう :2008/06/04(水) 00:37:48
>>644 例えば保存時にマクロが動くように設定してGetSaveAsFilenameを使うと、
標準の「名前を付けて保存」を実行
↓
マクロが動いて、「任意の文字列を設定したダイアログ」が表示される
↓
保存(またはキャンセル)
↓
続けて「現在のファイル名が入ったダイアログ(標準)」が表示される
といった動きにならないですか?保存時に呼ぶのがおかしいのかなぁ。
でもボタンか何かで配置しても、結局エクセル標準の機能で保存されると
差異がでますし・・・
>>645 標準のはSaved = True で止める
その分、自前のモノは緻密に作り上げる必要があるが…
647 :
名無しさん@そうだ選挙にいこう :2008/06/04(水) 08:24:14
>>643 会社側が社内ネットワークからのアクセスを禁止してるんじゃないの?
それはアク禁じゃない
アク禁には違いなかろう。 どうでもいいがなw
アク禁の語源はアクセス禁止だけどニュアンスが違うからな
651 :
名無しさん@そうだ選挙にいこう :2008/06/04(水) 10:03:58
【1 OSの種類 .】XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 オートシェイプを使って、図面を作成しているのですが、 プレビューでみるとちゃんと配置してあるのに、印刷をすると伸びたり、配置位置がずれたりしてしまいます。 エクセルでつくるような物ではないとは解っているのですが、上の者がエクセルで作れと言うので困ってしまいます。 しまいには、縮尺も合わせろと。。。 一度印刷をして、微調整等をしようとも思いますが、枚数が枚数なので、簡単にできる方法はないものかと。。。 質問してみた次第であります。 ご教授よろしくお願いします。
>651 無駄な努力はやめましょう。
×ご教授 ○ご教示
>>651 どんな図面かにもよるけど、別のソフトで作ったデータを貼り付けた方がいいぞ。WMF形式とか。
ベクトル形式の元データがあれば、VBAを使って一気にオートシェイプに変換するという方法もあるにはあるけど。
とりあえず上司に、Excelなんかで図面を書こうとすると、通常の100倍以上の手間がかかって
人件費も無駄になりますよと言いなさい。
図面と言っても処理フローとか配置図とかそんなんでしょう。 CAD使うような設計図面の作成をプロがExcelでやらせるわけないし、 そんなこともわからないような素人が、作業を行う人間の 上司としているわけがないでしょうし。
658 :
651 :2008/06/04(水) 13:48:23
上司の子供部屋の配置図です
>>651 ワードで作っといてエクセルに貼りつけては?
>657 うそだと思うだろうがそういう会社も存在するよ。
Excelにこだわるのは、自宅にデータを持ち帰って、家族で見ながら修正したいんだろうな。
>651 例えば400x400ピクセルのセルを作り罫線を引いて印刷する。 これを測ってみると、私の場合、横97.2o x 縦95.5o よって、行の高さを21ピクセル、列の巾を1列おきに20と 21ピクセルにすれば、5o方眼が出来る。 ここでAltを押しながら図形描画すれば5o単位の精度が出る。 後は応用で。
本当に子供部屋の配置図作りたいだけなら Wordの方がほぼWYSWYGで作れる分楽だよ。
665 :
651です。 :2008/06/04(水) 14:26:10
上司の子供部屋の配置図ではないですw エクセルにラスタデータを貼り付けて、そこに旗揚げ等をオートシェイプで作成。 で、用紙サイズがA0〜A1ロングで出力と・・・ で、図面の縮尺を合わせろと・・・ 1つの図面でだいたい50〜70M位になるので、PCも頻繁に固まってしまうし。。。 CADで作って、PDFに変換。さらにJPGに変換しようかなと。。。 一応、データとしてはエクセルだからいいかなと・・・ いろいろとお答えありがとうございました。
>>665 縮尺はExcelの画面上でやるよりプリンターの設定で印刷サイズを微調整して合わせる方が簡単。
つーか、そんな巨大なデータなら、なおのことちゃんとしたCADを使うべき。
なんでExcelにこだわるのか、ぜひ理由を問いただして欲しい。
おおかたExcel以外のソフトの使い方を覚えるのが面倒とか、そういうのじゃないかと思うけど。
667 :
名無しさん@そうだ選挙にいこう :2008/06/04(水) 15:47:02
【1 OSの種類 .】XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A1〜A3までを範囲選択し、文字を入力する。 エンターを押すごとにアクティブセルがA1〜A3に移動していくが、 例えばA2だけ削除したい時、 これまではA2をアクティブセルにさえしていればA2だけが消えて A1、A3は消えなかったけれど、 突然アクティブセルではない、範囲選択した全てが削除されてしまうという 設定に変わってしまいました。 解決策を見つけられませんでした。
>>667 消すとき、BackSpaceキーじゃダメなの?
A2をアクティブにしてF2→BkSpでは?
参考までに教えて下さい 範囲指定したままの編集って どういう状況でそうしないといけないんですか
範囲指定しておくとエンターキーだけで次のセルへ順番に移動できるから 決まった範囲にたくさんのデータを連続入力する時には楽な場合があるっすよ。
【1 OSの種類 .】XP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A1に数字を入力 A2→A1に入力した数字が0より大きい(正の数)場合、Xを乗算した結果を出したい A2→A1に入力した数字が0より小さい(負の数)場合、Yを乗算した結果を出したい 例) A1に5を入力した場合1.5倍した結果の7.5をA2に表示 A1に-5を入力した場合0.8倍した結果の-4をA2に表示 解る方、どうぞよろしくお願いします。
>>672 =IF(A1>0,A1*1.5,A1*0.8)
ありがとうございます。
>>665 地獄だな
でも俺もjpgを貼り付ける方法を考えた
A1サイズまで拡大印刷して図面として通用する画質のjpegってどんな恐ろしいファイルサイズになることやら
>676 そんな大したことないだろ。 計算してみれば?
ヘルプください。 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000,2002,2003,2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 ランダム rnd rand 乱数 visual-basic excelにて、 4byte符号無し整数全体に現れうる数値を ランダムに得たいです。 excelのシートに、 =INT( RAND()*(4294967296 -1) ) と書くと、一見ランダムな数値が得られているようです。 上記式は範囲内の全ての値が出力される機能を持っているのでしょうか。 (多くとも、16777216種類しか得られないとの話が。) また、vbaで書く場合はrnd()関数を使用して、 ランダムな値を得るようですが、これも同様でしょうか? ランダム数の種の管理が面倒なので、 vbaの中で、RAND()を使用したのですが、可能でしょうか? (というか始めこの方法をとろうとして、出来ないことを知って絶望しました。) (『=RAND()』を設定した特定のセルのみ更新できればうれしいのですが。(シートが大きいので全体更新は速度面に…(=rand()は1セルのみ))) よろしく御願いします。
300dpiで7000*10000ピクセルか
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セル VBA クリック マクロ マクロの作動に必要なコントロールボックスやショートカットでマクロが起動できるように作っているんですが 実際の作業(業務です)で試した所、コントロールボックスやショートカットでさえも、連続してデータ系の打ち込みがある作業で 非常に煩わしい事や件数が膨大で時間が掛かってしまいます。 特定のセルでエンターキーを押すだけでマクロを作動させる事は可能でしょうか?
(678です。もうひとつ御願いします。) VBAのコードで、 Sub hoge() Dim d1 As Double Dim s1 As String d1 = 65536 * 65536# * 65536 * 65536 s1 = d1 MsgBox s1 End Sub をすると、指数表示が文字列に入ってしまうのですが、 これは、桁が小さいときのように普通の表示に出来ないでしょうか?
>>680 Application.OnKey "{RETURN}", "hoge"
Application.OnKey "{ENTER}", "hoge"
>>682 MsgBox Format(s1, "0")
まちがえた。 s1 = Format(d1, "0")
>>681 バカっぽいブログ。
なんでこんなの紹介したの?
出た。ケチつけるだけで回答を示せないくん
688 :
680 :2008/06/04(水) 21:57:19
>>683 多分私への回答なんでしょうが
>>682 に応えているようにも見えるんで・・・
今時点で、Vba冒頭書式に
Private Sub hyouzi_Click()
と入れています。
早速で助かるのですがなにぶん勉強不足なもんで
よろしければ Application.OnKey "{ENTER}", "hoge" というのはどこに入れればいいのか教えてくだされ・・・
>>688 アンカー
Application.OnKey "{RETURN}", "hoge"
Application.OnKey "{ENTER}", "hoge"
の2行を実行すると、Enterキーを押された時に手続きhoge()が呼び出されるようになるので、
何らかの方法で最初に実行しておく。Workbook_Open()の中とか。
これだけだとシートのどこでEnterが押されてもhoge()が呼ばれるので、hoge()の中で
アクティブなシートとセルを調べて、目的の位置ならhyouzi_Click()を呼ぶようにする。
691 :
682 :2008/06/04(水) 22:07:54
682です。 >684,685 おぉぉおおおお! ありがとうございます。 まさしく、この回答がほしかったです。 678です。 こちらも言葉足りないようで、申し訳ないです。 ただ他になんと言っていいものか。 『VisualC++のrand関数は、0〜32767』は、32768種類の数値しか出しませんよね。 ExcelVBA rnd()(単精度浮動小数点数)は??? 検索した結果は、16777216個と書いてありましたが、microsoftではその記述を見つけていません。 そのため質問しました。 何気に使っているRAND()も同様かと…。 あまり理解できませんが、いただいたリンクを深く呼んでみます。
>>691 出力の仮数部分が15ビットなら、出てくる数値は32768種類にしかならない。
どこに小数点を打とうが32768種類であることに変わりはない。
24ビットなら16777216種類になるってだけのこと。
693 :
名無しさん@そうだ選挙にいこう :2008/06/04(水) 22:25:25
▼━質問テンプレ (出来れば使ってね) ━━━━━━━━━━━━ 【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000〜2007 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 座標計算 CAD Excelで計算させて座標点をはじきだし、プロットしたデータをCSVを出力し、CADに読ませるつもりです。 設計上、ある直線を引いたとき、この線が(ある任意の距離までに)違う線に重なるか否かをプログラム的に判別するには、 サインコサインを使ってやるのかな? それともそれぞれのXY軸の数値から? どういう手段を取れば最高なのか模索中です。 図形、設計でCADの事を考えられる猛者から是非ともヒントを。
>>693 ASINでもACOSでもATANでもどれでもいいから2本の直線の傾きを求める。
平行なら交わらない。平行でなければどこかで交わる。
「線分と交わるか」なら交点を求めて線分の端点の座標と比較
Excelでなく算数だなw
Excelと関係あんの、質問の最初の1行だけだしw
なんとふところの深いスレ!
中学校を思い出した 線分とか懐かしいな
>>693 は直線という言葉を使っているけど本当は線分の交差をチェックしたいんじゃないの?
>この線が(ある任意の距離までに)違う線に重なるか否かを
700 :
680 :2008/06/04(水) 23:31:46
>>690 遅レスですがありがとうございました。
ヒントを頂いたのですが結局 条件分岐が出来なくて、どこデエンターを押してもマクロ処理が発生してしまい、特定のセル押下時のみ実行というのは
私の今の力量では無理でしたので、とりあえずどこでキーを叩いても実行されたままですが普段使用しないであろうファンクションに割り当てしまして、なんとか制御できるようにできました!
この答えだけでも業務の合間でやって3日かかってたんで非常に助かりました!
>>700 Sub Enter監視開始()
Application.OnKey "{RETURN}", "hoge"
Application.OnKey "{ENTER}", "hoge"
End Sub
Sub Enter監視終了()
Application.OnKey "{RETURN}"
Application.OnKey "{ENTER}"
End Sub
Sub hoge()
MsgBox (ActiveSheet.Name & " " & ActiveCell.Row & " " & ActiveCell.Column)
End Sub
【1 OSの種類 .】 WindowsVista 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 ワードアート 縦横比 最近PCを買換えまして、それに伴ってOSやExcelのバージョンが変わり、今までできたことが よくわかんなくなってしまいました… ワードアートってありますよね。あれの大きさを変えるのに今までなら右下をドラッグしたんですが、 2007になってから大きさが変わらなくなってしまい、いろいろいじってもよくわからないので 質問させていただきました。 ちなみに前のExcelのバージョンはわかりません… できれば縦横の比率もいじれれば助かります。
まず変形させたいテキストボックスをクリックして選択 書式→ワードアートスタイル→変形→形状→四角 を選択するとテキストボックスのアンカーの色が変わる。 この状態でテキストボックスの枠線やアンカーをドラッグすると自由に変形できる。
705 :
702 :2008/06/05(木) 02:55:20
>>704 回答ありがとうございます。
やってみたのですが、書式のワードアートスタイルの欄には
文字の塗りつぶし
文字の輪郭
文字の効果
しか表示されていません…
>>705 違うとこ見てるぞ。それは「図形のスタイル」だ。「ワードアートスタイル」じゃない。
708 :
702 :2008/06/05(木) 03:06:15
>>706 いえ、ワードアートを選択すると上に描画ツールと出て、
そこの「書式」に「ワードアートスタイル」と出ています。
まったく違うとこみてるんですかね?
709 :
702 :2008/06/05(木) 03:07:26
>>707 いえ、見ていません。何があるんですか?
× 書式→ワードアートスタイル→変形→形状→四角 ○ 書式→ワードアートスタイル→文字の効果→変形→形状→四角
>>709 操作方法の解説だよ。画像見りゃ一発でわかんのに。
712 :
702 :2008/06/05(木) 03:09:14
>>710 できました!!
どうもありがとうございます!助かりました!
やれやれだぜ(ry
714 :
667 :2008/06/05(木) 09:02:49
ありがとうございました。 確かにDelだと選択範囲が全部消え、Back spaceだとアクティブセルだけが 消えますね。 でもこれまではDelでもアクティブセルのみの削除ができていたので、 どこを触れば元の設定に戻るのか知りたいです。 分かる方いらっしゃいますか?
Excel2002 VBA× 条件付書式で、「2の倍数」「3n-1」といった条件を指定できませんか? レーティング表の数値を、奇数偶数で塗り分けたいと思っています。
>>715 条件を「数式が」にして「=MOD(A1,2)=0」など
717 :
名無しさん@そうだ選挙にいこう :2008/06/05(木) 12:15:54
すみませんエクセル2003での質問です OKWEBで教えていただいたコードなのですが (選択した行の 「全角文字を半角に変換」 というものです) これを行ではなく列で実行するにはどうしたらよいのでしょうか? 色々と試したのですがわかりませんでした、、、 何卒よろしくお願い致します Sub test02() Selection.SpecialCells(xlCellTypeConstants, 3).Select Selection = StrConv(Selection.Value, vbNarrow) End Sub
>>717 手動で列を選択してからそのマクロを実行すれば良い
720 :
名無しさん@そうだ選挙にいこう :2008/06/05(木) 13:48:59
>>718 すみません、今試してわかったのですが
行でも列でも2つ以上の値が入っていると
(例えば列の場合、B3セルとB4セルに値が入っているとエラーが出ました
B3セルだけだときちんと全角の文字が半角に変換されました)
「型が一致しません」というエラーが出るようです
複数のセルを変更できないと困るのですが
どうやって対処したらよいでしょうか?
質問がおかしいだろ。 「このソースを複数セルを選択しても実行できるようにしてくだしあ」 って書くべきだろ
出た。煽るだけで回答を示せないちゃん
>>720 選択された範囲全体を半角に変換
Sub aaaa()
For Each c In Selection.Cells
c.Value = StrConv(c.Value, vbNarrow)
Next
End Sub
ascだかjisだか使ったほうが早いな
725 :
名無しさん@そうだ選挙にいこう :2008/06/05(木) 15:48:19
>>721-724 ありがとうございます。
おかげさまでなんとかなりました!
質問も文章もとんちんかんで本当にすみませんでした
これで家に帰れます。。。うれしい
726 :
715 :2008/06/05(木) 17:17:37
>>716 きれいなシマシマができました。ありがとう
727 :
名無しさん@そうだ選挙にいこう :2008/06/05(木) 18:52:40
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 角度の計算をしたいのですが、分の部分だけを60進数で計算させたいです ヘルプを見ても時間関連のものばかりでした
>>727 単純に言うと繰り上がりと繰り下がりを自作するといい。
乗算は考える必要ある?
2003で作った色見本、画像重ねて表示するだけ 2007でやるとずれてめちゃくちゃになるけど互換性ないの? MSもう死ねよ
2007は互換性が本当に低いな
なんでExcelに計算以外のことをさせたがるかなあ。 図面を書かせたり。
732 :
名無しさん@そうだ選挙にいこう :2008/06/05(木) 20:28:10
【1 OSの種類 .】 Windows xp 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 複数シート 印刷 複数のシートを選択して、一括印刷しようとしたのですが、 1ページのみ印刷されて、2ページ以降印刷されません。 原因として考えられることがあれば教えてください。
>>732 印刷の設定
ドライバの設定
データがない
範囲指定ミス
プレビューの確認漏れ
紙切れ
操作ミス
気のせい
紙がどこかに飛んでいった
普通に印刷範囲の指定だろ?
【1 OSの種類 .】 WindowsXPPro 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可(コードを書いて欲しいです。) 【5 検索キーワード 】 エクセル VBA 列 合計 複数 ファイル 出力 失礼します。 1.1つのファイルに1シートしかない 2.一行目がフィールド名 3.列がAからAC 4.データが入力されている行数が、各ファイルによって違う このようなxlsファイル500程ありまして、 それぞれのファイルのF列の合計(SUM)計算結果とファイル名を ファイル名|F列合計 ○○○○ |100000 △△△△ |20000 ×××× |500000 ・ ・ ・ ・ ・ ・ のように、別の1つのファイルに出力したいのです。 このような処理を、複数のファイル(たとえば指定したフォルダ内の全てのファイル)に対して 一括してできるコードを書いて頂きたいのですが・・・よろしくお願いします。
>>735 こんなんでどうだ。もしシート名がSheet1じゃなかったら、もうちょっと工夫する必要が出てくるが。
Sub aaa()
Application.ScreenUpdating = False
Dim P As String 'パス名
Dim N As String 'ファイル名
Dim R As Long '行
P = "C:\Documents and Settings\Administrator\デスクトップ\test\" 'フォルダの指定
If Right(P, 1) <> "\" Then P = P & "\"
N = Dir(P & "*.xls") 'Excelのファイルを検索
R = 2
While N <> ""
Cells(R, 1) = N
Cells(R, 2) = "=SUM('" & P & "[" & N & "]Sheet1'!$F$1:$F$65536)"
N = Dir()
R = R + 1
Wend
Cells(1, 1) = "ファイル名"
Cells(1, 2) = "F列合計"
Application.ScreenUpdating = True
End Sub
737 :
名無しさん@そうだ選挙にいこう :2008/06/05(木) 22:43:43
【1 OSの種類 .】 MacOSX or WindowsXP 【2 Excelのバージョン 】 Mac:Excel2004 Win:Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 バッチリスト Excel 作成 書式設定 セルの書式設定の表示形式をいじって 「12345678」と入力すると「12:34:56;78」となるようなセルを作りたいのですが 可能なんでしょうか。 色々調べてみましたが、無理なんすかね〜。
>>737 数字の意味がどうでもいいのならユーザー定義で
0":"00":"00";"00
739 :
名無しさん@そうだ選挙にいこう :2008/06/05(木) 23:02:24
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 excel エクセル 複合 式 現在、商品の登録をにわか覚えのVlookup,Match等を使い行っているのですが、 A1にある「りんご」を入力するとB1、B2の値がフォームに入力されるような 物を作りたいんです。 B1は、Vlookupで出せるのですが、B2がどうしても出せません。 B2を出す式がございましたら、ご教授下さい。 A B C 1 りんご 50 70 2 30 40 3 ばなな 40 60
>>740 B3は出ているんだから同じようにやればいいじゃない。
A B C 1りんご 50 70 2 30 40 3ばなな 40 60 ズレてしまったので・・・。 宜しくお願いします。
A B C 1 りんご. 50 70 2 30 40 3 ばなな 40 60
745 :
737 :2008/06/05(木) 23:36:04
>738-739 いやーありがとうございます。助かります。 これで入力時間がかなり短縮できそうです。感謝です。
746 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 01:40:17
【1 OSの種類 .】 Windows Vista 【2 Excelのバージョン 】 Excel 2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】ワークシート 振り分け A B C D E F G 1 Period TF R P Code Description Value 2 2005 I α Γ BE-5 (Codeの詳細) (数値) というように、1行目に分類、2行目以降にその内容があるものがあります。 以下の作業をしたいです。VBAで可能ならコードをいただきたいです。複雑すぎて自分ではかけませんでした。 @C列、D列のデータを集めて、重複があれば抜く。それを、ほかのすべてのワークシートの1行目と1列目に貼り付ける(リーグ戦のような形になります。A1のみ空欄です。) A2行目以降、E列の先頭3文字(BE-)を抜いた数値を見て、その数値と同じワークシート名のワークシートがあれば、元のデータのC列(例の2行目ならα)と1行目、元のデータのD列(例の2行目ならΓ)と1行目が一致する箇所に下のデータのG列の数値を持ってくる。 B2行目以降、E列の先頭3文字(BE-)を抜いた数値を見て、その数値と同じワークシート名のワークシートがなければその行はとばす A, B, Fの各行のデータは使わないです。どうぞよろしくお願いします。
>>746 振り分けしたいデータの入ったシートは何枚あんの?
もしくは、振り分け作業はこれから何回ぐらいやる予定なの?
748 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 02:05:42
749 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 02:08:08
>>747 もとのデータは1枚にまとまっています。
Periodごとに別ファイルにしてあり、20期分の操作をしたいと考えています。
すみません、振り分け先の枚数かと勘違いしました
>>746 テストデータ作んのめんどくさい
擬似データうpしたらコード書いてあげるよ
751 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 03:12:46
>>751 連投ゴメソ
Set dct2 = New Scripting.Dictionary
の後に、
n1 = 1
n2 = 1
追加。
755 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 06:52:07
756 :
735 :2008/06/06(金) 06:53:53
>>736 おお!ありがとうございます!
ただ、シート名がSheet1で統一されてはないのです…
(各ファイル名の一部がそのままシート名になっていて、全シート違う名前なんです)
アクティブシートで指定すればいけそうですね。
ちょっと自分でがんばってみます。
また、夜くらいに報告します。
2007はOSで言うところのVistaみたいなもんだろ。 高性能とか直観的IFとか言われても過去のユーザーを 無視した重い糞ツールなんて要りません^^ 2003の後継マダー?
出ません。 次の質問どうぞ
17 名前:デフォルトの名無しさん[sage] 投稿日:2008/06/06(金) 02:16:52
>>11 あるよ。
以上。
はい、次。
時刻入力を楽にする(対応する数値で時刻を入力)のに、表示形式の分類で00!:00!:00 を使っていて、なおかつ文字列の角度を75度、右側に罫線で使おうとしてます。 数値を入力後は、罫線も75度に傾いて自分の目的どおりなのですが、 数値入力前の罫線は、真っ直ぐ垂直に立っているように表示されます。 これを数値入力前でも、罫線が75度傾いているように見せるいい方法はないでしょうか?
>>760 とりあえず全部のセルに0を入れておく。
762 :
760 :2008/06/06(金) 13:39:31
罫線を消して、線をオートシェイプの線で書くことにしました。 お騒がせしました。
763 :
760 :2008/06/06(金) 13:43:03
>>761 スペース入れるだけでも、罫線が傾いてくれるみたいなのですが、
人(身内)に渡すソフトで、しかも同じセルで時刻入力を何度も
消し書きするので、何を入れといても消されてしまうので悩んでました。
ありがとうございました。
>>763 セルの中身が消されたらスペースを入れるVBAを作るとか
セルを保護しておけばいいだけでわ
767 :
735 :2008/06/06(金) 20:11:31
>>736 報告です。
Sheet1の箇所をWorksheets(1)に変更するだけで
期待していた処理が1秒で終わりました!!
ファイル数が多すぎて途方にくれていたので、
本当に聞いて良かったです。
VBAはすごいですね。
今回は完璧なコードを書いて頂き、ありがとうございました。
768 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 20:28:15
すみません、関数教えて下さい。m(_ _)m 『問題』 水曜日、定休日の会社で水曜日が祝日であれば翌日を振替休日に表示させましょう。 なお、「11月の祭日」欄も参考にして条件付書式を用いて赤字の設定をすること。 日付 曜日 番号 振替 11/1 火 3 11/2 水 4 11/3 木 5 11/4 金 6 11/5 土 7 11/6 日 1 ↓ ↓ ↓ 11/23 水 4 11/24 木 5 振替 ↓ ↓ ↓ 月末までつづく! @ 2005年11月 11月祭日 文化の日 11/3 勤労感謝の日 11/23 ※曜日番号はweekday関数を入れるだけでしたのですぐわかったんですが 日曜と日付+曜日を赤く表示させる方法と 11/24に振替を表示させる方法をどうぞプロの方教えて下さい! どうか私に勇気と愛を…
769 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 20:33:15
すみませんちょっと訂正です ※日曜と祭日日付と祭日曜日を赤く表示です。 ごめん!
カレンダーはだれでもつくれると豪語する人がちょっと前にいたから すぐ解答がつくよ
771 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 20:43:20
773 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 21:08:56
とりあえずバージョンを書いてくれなきゃイヤだ!
774 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 21:16:40
>>774 了解した!
そして、無理でした!
てか宿題なら自分でやりなさい!
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 ブックBのデータをブックAにコピーしてるんですが、 もっとスマートな記述方法お教えてください。 With Workbooks(A).Worksheets("DATA") .Cells(ii + 0, jj + 0).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 1).Value .Cells(ii + 1, jj + 1).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 2).Value .Cells(ii + 1, jj + 16).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 3).Value .Cells(ii + 2, jj + 16).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 4).Value .Cells(ii + 0, jj + 44).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 5).Value .Cells(ii + 1, jj + 44).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 6).Value .Cells(ii + 2, jj + 49).Value = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + 7).Value End With
数式エディタは、ワードで作ってからエクセルにペーストしたほうがうまくいくのですが みなさんも、そんなものですか
778 :
もり :2008/06/06(金) 22:00:44
内容: 【1 OSの種類】 WindowsXP 【2 Excelのバージョン 】 Excel 2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 EXCEL 関数 同じ文字列 皆様よろしくお願いします。 現在ショップリストを作成しており、 ●●SHOP 〒108-0001 東京都〜 ■■STORE 〒100-0021 東京都〜 △△店 〒130-0032 千葉県〜 のようにHPからテキストをコピペをしています。 100店を超えてくると同じ店舗と気付かずにペーストしてしまっている事がある のですが、 被らないようにする手段はありますでしょうか? 私の思いつく限り、店舗名を1つ1つ検索し、被っている店舗がないか確認するし か思いつきません。 現在300店を超えておりますが、今からでも手段があれば行っていきたいです。 よろしくお願いします。 ※ちなみに(●●SHOP 〒108-0001 東京都〜)は1セル内に収まっています。 全然違うソフトですが、確かadobe in designでは出来たような気がします。
>>776 コピー先のセルの並びが不規則だからこんな方法しか思い付かん。
見た目は多少スッキリするがスピードは遅くなる。
Dim x As Long
ir = Array(0, 1, 1, 2, 0, 1, 2)
ic = Array(0, 1, 16, 16, 44, 44, 49)
For x = 0 To 6
Workbooks(A).Worksheets("DATA").Cells(ii + ir(x), jj + ic(x)) = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + x + 1)
Next
RangeとSelectionsの組み合わせでどうにかできそうなんだけどなあ…
最後の+1が気になったので修正。こっちのが式の意味がわかりやすいと思う。 Dim x As Long ir = Array(, 0, 1, 1, 2, 0, 1, 2) ic = Array(, 0, 1, 16, 16, 44, 44, 49) For x = 1 To 7 Workbooks(A).Worksheets("DATA").Cells(ii + ir(x), jj + ic(x)) = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + x) Next
>>778 なにができたのかわからんが、できたのならadobe in designでもなんでも好きに使えよ。
EXCEL使ってで管理するならスペースでセル分けろ。
ピボットでも駆使して重複をさがせ。
いろんな人間が好き勝手作った文字列を管理するのに
コピペだけで楽して管理できると思ったらイカンよ。
>>778 A列にデータが入ってるとして、作業列を用意して2行目以降に
=IF(ISERROR(VLOOKUP(A2,A$1:A1,1,0)),"OK","重複")
あと、店名、郵便番号、住所、電話番号は列を分けた方がいいぞ
>>768 特定の1ヶ月分を作るだけなら手作業で字を赤くしてきゃいいじゃん
>>783 その通りだと思う。
カレンダーはマスターとして持つのがスマートな解。
5年だろうが10ねんだろうが手入力すべき。
その程度の入力は業務のボトルネックではない。
785 :
もり :2008/06/06(金) 22:34:32
>>779 >>780 ご親切にどうもありがとうございます。
これは基礎知識をつけるべく勉強します。
>>781 おっしゃる通りです。
お怒りの中ヒントをくれてありがとうございます。
>>782 出来るとしたらIFかなと思っていたのですが、何を入れてよいのやらさっぱりで
した。
ありがとうございます。
一通り集まったら列分けていきます。
皆様ありがとうございました。
同一人物だったのかw
787 :
781 :2008/06/06(金) 22:40:50
>>785 別に怒っているわけじゃねぇよ
郵便番号や住所にしても数字を全角や半角で書いているのもあるだろうし
どこかにスペースが入っているのがあるかもしれない。
住所も県名を省略して市から記載されているかもしれない。
いろんな可能性を考えてなきゃならないから面倒だよ
まぁ、300行くらいなら郵便番号住所で並び変えて目で見たほうが早いかもな
今後も増えるのなら
>>782 のいう通りに項目は分けろ。
しかし同一人物とはw
788 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 22:54:46
さらに意味のない短縮して223バイト Dim x As Long ic = Array(, 0, 1, 16, 16, 44, 44, 49) For x = 1 To 7 Workbooks(A).Worksheets("DATA").Cells(ii + (Int(x * 0.9 + 0.2) - 1) Mod 3, jj + ic(x)) = Workbooks(B).Worksheets("DATA").Cells(i + 1, j + x) Next
790 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 23:03:08
フィルターをかけた後のデータだけをコピーすることができるはずなのですが、 操作の方法を忘れました。ダイヤログボックスが出て、明示セルなんたらを チェックするのだった記憶があるのですがわからないので、教えてください。 ちなみに、XPand2003です。
>>788 VBAでやるんじゃないの?
関数だけじゃ、それこそ無駄にめんどくさいだけだと思うんだけど。
793 :
もり :2008/06/06(金) 23:27:29
>>786 同一人物の意味が分からないです。すみません。。
>>787 基本的に以下のURL(
ttp://navi.zozo.jp/ )からしかコピペしていないので、同店
舗の場合、セル内は全く同じ文字列になります。
複数のブランドの取り扱い店を調べている為、いつのまにか被りが出てきています。
電源を落とさないorキャッシュを削除しない限り、一度アクセスしたリンクは色
が変わるので分かるのですが、電源を落とさざるおえない環境です。
おそらく1000店位いきそうです。。
でも光が見えてきたので色々試してみます。ありがとうございました!!
>>793 そういう条件ならピボットテーブルで大丈夫。
795 :
名無しさん@そうだ選挙にいこう :2008/06/06(金) 23:34:14
>>793 普通は電源切っただけじゃ履歴は消えない
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 セルの書式設定 → 表示形式 → ユーザー定義 にて 1つのセルに、 1200.56×525.77×60.35 160.05×45.21×180.44 といった感じで、サイズを入れたいのですが どのような定義付けをすれば可能でしょうか? 縦、横、高さの桁数が一定なら、何とか出来るレベルなのですが 桁がマチマチな場合、どのようにすれば良いのか解かりません。 どなたか教えていただけましたらとても助かります。
>>797 それをまずどうやって入力するつもりなのさ
>>797 書式を文字列にしてそのまま入力
入力したものを計算したいとかならもう一手間必要ですが
>>791 自分がわからないからって何でもかんでもVBAとか書くんじゃねーよ。
わからないなら黙ってろって。
>>795 その程度の事なら無駄にややこしい関数なんか使わなくても
OR や COUNTIFあたりで簡単にできる。
宿題だか問題集だかやっててここで答えを聞くような迷惑野郎には
これ以上教える気はないから参考書なり教科書なり読み直して自分でやれ。
「中略」の意味で「↓ ↓ ↓ 」を使うのはどこの国の流儀だ?
802 :
797 :2008/06/07(土) 00:51:25
レスありがとうございます。
>>798 例えば簡単な例でしたら、0000"×"000"×"00
という定義にして、そのセルに 210052060 と
打てば、2100×520×60となりますよね。
それの応用で何とかならないものかなと思いまして。
>>797 文字列にしないでも、書式標準で良いと思うのですが
今は手入力で 1200.56×525.77×60.35 みたいな入力をしています。
それを数字部分だけの入力(テンキー入力)で済ませられないものかと…。
803 :
797 :2008/06/07(土) 00:52:09
相談所とは名ばかりの書き込みでワロタ >798.,799
>>802 いやだからね、たとえば「1234567812345678」って入れたとして、それが
「123.45×6781.23×456.78」
「1234.56×78.12×3456.78」
の、どれかわからないでしょ、って言いたいの。
とりあえずテンキーだけで入れたいなら×を*にすればいいだけでは。
小数点以下が2桁と決まってるなら、あとから小数点を追加するのは不可能ではない。
806 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 01:36:46
>>804 >799はともかく >798の疑問は当然だと思うぞ。
結論、804はカス。
3つの数字を別々のセルに入れて = A1 & "×" & B1 & "×" & C1 みたいにしといた方がいいと思うぞ あとで計算したり検索したり桁を揃えたりする時に楽だし
>>802 手間を省きたい。テンキーだけで入れたい。でも小数点と×の両方を省略すると元の数字がわからなくなる。
小数点以下が2桁と決まってるなら、どちらか片方だけを省略することは可能。
小数点は3回、×は2回だから小数点を省略した方が入力する文字が1文字少なくなる。
どっちにしても書式のユーザー定義だけじゃ不可能だけどな。
>>805 入力時に区切れるのをしらないのか?
そんなお前はその場しのぎ代用文字*を後で×置換するような
そんな生き方をこれからも続けな
>>806 お前も知らんのか
カスの極みだな
>805 の言う通り「*」で入力が吉。意味的にも通じるし。 どうしても「×」にこだわるなら、後から置換すれば良い。 (*の前にチルダを付けないと全部×になるから木をつけれ)
>>810 Oh!
*を置換したい場合はチルダ使うのか。。"φ(・ェ・o)~メモメモ
知らんかった。ありがトン
812 :
806 :2008/06/07(土) 09:39:37
>>809 ああ、書式設定でやる方法なんか知らないさ。
俺だったら入力そのままで別セルに表示させる。
>入力時に区切れるのをしらないのか?
ぷっ、これこそバカw
>>810-812 今更、*の置換方法にまで触れるのかよ
それに立て続けにオナニーはやめなよ
バカ質問にはバカ解答。お見事!!
>>812 > >入力時に区切れるのをしらないのか?
> ぷっ、これこそバカw
横レスですが、便利ですよ? どう馬鹿なのかわかりませんが。
別に3セル用意して入力すなんて、印刷する場合、(印刷するの必要があるのか知らん無いですが)
印刷範囲を意識するか、非表示行列設定するか等々、余計な手間が増えますよー。
このスレッドは想定力に欠ける短絡的なレスが多いですね。
Excel 識者不在。期待タブーな相談所 70 みたいなスレタイで次スレ希望。
818 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 11:07:59
>813 別にイチャモンはいいから、みんなが「おおー!」というような 入力時に区切る方法を書いてくれ。
819 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 11:23:45
開き直りかぁ。いつの時代もヘボ回答者が質問者へ転向する光景は無様だ。
820 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 11:30:57
だからイチャモンはいいから、みんなが「おおー!」というような 入力時に区切る方法を書いてくれ。
821 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 11:49:28
【1 OSの種類 .】 Windowsxp 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 エクセル ファイルを保存することができません 質問です、作業中のファイルが突然保存できなくなってしまいました 作業状況の保存はできるのですが上書きや名前変更での保存ができません マクロで写真を貼り付けるファイルなのですが 一緒に開いていたVBAを使っていないファイルは保存できます。
>>821 【3 VBAが使えるか .】 はい
だったら、どういうマクロが仕込んであるのか見てみたら??
よく読め。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 不可 お客さんの来店日と来店して物を購入したかどうかの○×をトを一つのエクセルシートにまとめてあって 購入者/来店者数の割合を簡単に求められるエクセルの操作方法はないでしょうか?
割り算
>>824 ピボットテーブルを使うといい。
ピボットテーブルは比率も計算できるよ。
827 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 13:06:32
【1 OSの種類 .】 Windows XP 【2 Excelのバージョン 】 Excel2007 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 A列 @行目 2 A 3 B (空白) C 6 D 3 のように数字が入っている所とと入っていない所が ある列に対し、数字が入っている所を判別するにはどうすれば良いですか? 説明が下手ですみません。。。 イメージとしては if(A1=*,1,"") という感じのことをしたいのですが。 よろしくお願いします。
ISNUMBER()
829 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 13:23:38
828さん ありがとうございます。
>>821 マクロが使える子とは思えない質問だな。
831 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 14:15:13
>>821 それは元々、EXCEL2000で作ったファイル?
2003とかで作ったファイルを読み込んで、作業中は互換性の問題を
感じることも無く進めているつもりでも、
いざ保存する時になると、エラー窓が出て保存出来ないってことは
良くある。
マクロというより、セル内の数式、書式、図形などが災いしていたりする。
832 :
821 :2008/06/07(土) 15:36:40
フリーソフトのほうで拾ってきたファイルなのでパスかかってて マクロは覗けないんです 今までは問題なく使えてたので・・・ 結局PC再起動して作り直して保存できました レスくれたひとありがとうございました
833 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 15:39:55
エクセルを起動した際、毎回、再計算され、時間がかかっています。 前回、終了時には、再計算の上、保存されているので、再計算せずに開きたいです。 ・起動時の再計算を毎回させないといけないのでしょうか? ・再計算せずに起動するには、ブックオープンイベントにはどのように書いたらいいですか xp 2003 vba可
商品管理のためにVBAを使わなければならないのですがうまい方法は無いでしょうか。 商品コードAに月日と番号を振って管理しています。 例えば今日三個目のメロンが届くとそれは ME060703 のような番号になります。 どこまで番号が発行されたかを外部ファイルで保存管理したい場合 どうするのが最適でしょうか。コード・月日・番号をCSVで管理すればいいのでしょうか? VBAというより設計に近い話ですがよろしくお願いします。
>>834 コードの桁に意味を持たせてはいけません。
業務の規模やルールが変わった時に破綻します。
商品コード 入荷日 入荷数
のように別の項目に分けましょう。
>>833 オプションの計算方法を手動にするのではだめなのか?
>>834 ここはVBAスレでも設計スレでもないのだが・・・
そんな番号の発生方法なら発生順に好きなフォーマットで全部書き出しておけ
>>836 >ここはVBAスレでも設計スレでもないのだが・・・
何言ってんの?
838 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 16:33:44
全ての行のAとB列を結合したいのですが どうすれば良いのでしょうか?
テンプレ使ってくれ。
>>838 =A1&B1って入れてオートフィル
作業列不可ならVBA
841 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 17:47:49
>>835 ありがとうございます。
商品コード 入荷日 入荷数で分けるとすると、どんな管理をすればいいんでしょうか。
以前は入荷数だけだったので、インクリメントした入荷数をファイルに書き出すだけで
済んでいた今は要素が三つあるわけでこれをどうしたらよいのかが全く思い浮かばなくて・・・
>>836 低脳のくせにレスすんなよ。誰もがああなるほどすげぇやそいつはって回答を示した後で
そういうこと書くならこっちだってここに書く前にどこか然るべき場所を探して質問してから
その実装方法をここで聞くべきだったな、とか思うけど何もしない奴に偉そうにそんな事
言われても腹しか立たない。つーか回りの奴だって「何こいつ?」と思っていてもそれを
黙っていてくれるんだよ。自分の品格とスレの空気のためにな!
それがなんだよお前は自分の思ったことヘラヘラ書き込みやがってうんこ野郎が。お前は
「あいつに子供ができたらこの名前を付けてやってくれ」とじいちゃんが書き残したメモが偶然
じいちゃんの命日前日にみつかって、妻と話した結果すばらしい名前だからこの名前を付けよう
ということになって、命日当日、業務を調整して会社を早退し市役所へ向かうも途中で
渋滞に巻き込まれ、やっと窓口についたら17:00調度で間に合ったと思ったら目の前に
「本日の業務は終了いたしました」
の札を置かれ、なんとしても今日届けたいんですお願いしますこれだけ受理してください
俺のじいちゃんが考えた名前を子供に付けてやりたいんです今日はじいちゃんの命日で
これは何かの縁なんだこの子が生まれる前からこの子を想っていた人がいたことを
名前で証明させてあげたいんだどうかこの通りお願いいたしますと土下座するも
「また明日きてください」
とゴミを見るような目つきで言い捨てる40代後半未婚の独身女性か!?
長文キモい まで読んだ
>>841 Excelと日本語を基礎からやり直すことをすすめる。
2ちゃんって怖いね
845 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 18:05:41
日本語としてはすばらしいだろ支離滅裂と思わせてすんなり読めるし。 ただ内容が電波。
>>834 業務内容がよく分からないので最適な設計とか管理方法とか質問されても答えようが無いと思うんだが。
データ構造の設計はピボ厨さんにやらせると完璧なものを作ってくれるぞ
848 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 18:07:50
要は三つの要素、「α(変動)+β(加算)+θ(加算)」から成る番号を どうやって管理したらいいのかという話だろ。
α、βの次がγじゃなくてθなのはさすがだな、兄者
エクセルでフォルダを監視させて、作業が終わったものをから 自動的に色を変える(もしくは斜線を引く)などということはできるでしょうか? 教えてください。
851 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 18:18:34
それはつまりフォルダ名が記載されたフォルダがあり、何らかの作業が終わると そのセルに色をつけたり斜線を引けるか?という質問で良いのだよね。 ↓じゃ、答えてやってくれたまえ
>>850 何らかの作業が行われたかを判別して
それにあった処理をすれば良い
>>850 まず「何をやったら作業が終わるのか」定義を書いてくれ
内容によって監視できたりできなかったりする
854 :
名無しさん@そうだ選挙にいこう :2008/06/07(土) 18:24:57
フォルダの動画を再生して、絶頂を迎えたら色がつくようにしたいです
>>841 入荷日、入荷数が変わっても商品コードは不変である。
というポリシーに変更すればよい。
どちらかというと世間じゃこれが普通。
857 :
850 :2008/06/07(土) 18:39:51
すいませんド素人なんです…。 フォルダAの中に作業が終わったフォルダを手動でつっこんでいくと、 フォルダAを監視してるエクセルが、 それを自動的に読み込んでいって更に 色をかえてくれるみたいなことなんですけど…。 うまく説明出来なくてすいません。
青果は入荷のたびに産地や生産者が変わるから、ユニークなコードを付けてるとキリがないんじゃね? 想像だけどさ。 まあ、何がやりたいのかもうちょっと詳しく書いてくれないと答えようがないわな。
>>857 作業が終わった「ファイル」じゃなくて「フォルダ」を突っ込む(コピーか移動する)の?
860 :
850 :2008/06/07(土) 19:05:49
>>859 そうです!その中にファイルが入ってる状態です。
>>857 VBA使わないと出来ないからド素人だとどうかな・・・
Excelにこだわらずフリーソフトを使うというのも一つの手。
「フリーソフト フォルダ監視」とかで検索すると色々見つかるよ。
862 :
850 :2008/06/07(土) 20:03:54
すいません、ありがとうございました! 探してみます
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 はい(スキルは初心者程度です) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 セル コピー +自己購入している書籍 シートAのD列に行数は(開始行は定まっていて)終了行が不定で数値を入力しているのですが その後、繰り返し同じD列の開始定位置から繰り返し入力を行っています。それをそのままマクロ実行でシートBのA列にコピーしたいのですがよい方法はないでしょうか? コピーするだけなら問題ないのですが、シートBのコピー先にはシートAの内容を上書きすることなく続ける形でコピーをしたいのですが・・・ 行が不定なのと上書きしないように・・というのがネックになってます。 よろしければお願いします。 例)1.2.3.4.5.6.と入力して実行→シートBのA列に1,2,3,4,5,6 7.8.9.10 と入力して実行→シートBのA列に1〜6に続けて7.8.9.10
はじめからシートBに入力すれば?
【1 OSの種類 .】 WindowsXPsp2 【2 Excelのバージョン 】 Excel2003 今までは、例えばA29にフォーカスがあり、キーボードの↓キーを押すとA30にフォーカスが移っていたのですが、 ↓キーを押すとフォーカスがA29のままで↓キー1回につき、下に1行ずつページ送りがされるようになってしまいました。 どなたか解決方法をご存じの方おりましたら教えて頂ければ幸いです。
>>866 ScrollLockというキーを押してみれ
>>867 おおお!出来ました、ありがとうございます!
スクロールロックキーの存在を初めて知った・・・w
869 :
863 :2008/06/07(土) 23:01:04
>>864 会社の業務で使用なんですが
シートAに一時的に入力しているのは入力が正しいか確認する為のマクロをすでに組んでいまして・・・
結果的にOKなのがコピー元のD列に表示されるようなつくりなんです。
今実際にやってるのはマクロでなくそのコピー元をドラッグして手動でコピー先に貼り付けてるんですが、日に100回以上やってるとさすがに
なんとかならんかな・・と。
>>865 ひんとだけではだぶん今の俺の能力では無理です><
よければオススメの書籍あれば教えてくだされ。
初心者本だと単一マクロなんで応用にどうも弱いです。
871 :
824 :2008/06/07(土) 23:03:59
>>826 ご回答ありがとうございます
大量のデータがあるので一々手作業でやっていたら時間が
かかるので作業を自動化したいと思っておりました
明日を利用し取り組みます
>>871 ピボットテーブルを使えば、来店時期別とかお客さん別とか自由自在に
購入率を求めることができるよ。
>>869 コピーをマクロでするのは簡単だけど
入力が正しいかのチェックをシートBでやってもいいんじゃないの
>>869 xlUpで検索すると、データの最後が何行目に入ってるか調べる方法が出てくるよ。
最後の行の次が空白だから、そっから次のデータを入れるようなコードを書けばいい。
ずっと
>>865 調べて苦戦してます
>>870 >>873 コピーからの作業はすでにできている既存部分の使用で、質問ではなかったので記載してませんが
コピー先のシートは顧客にデータ報告できる様な様式と更にその番号を加工するマクロを作ってます。
シートBで直接入力すると、ifのケースが発生して今の処理よりおそらく容量的にも効率はあがりますが・・・確実に今よりは大変になるんで・・・
具体的にはチェックではじかれた場合の様式の間詰め処理や顧客には報告できない部分(例えば)入力チェック欄の削除 等。
質問からずれましたが・・
>>875 シートAのD列にデータを入れる時、終了行の下は空白?
人に聞く前にもう少し勉強したほうがいい。 質問できるレベルになってない。
そこまでできるんなら単にコピペする程度のことでなに手間取ってんのって感じ。 シートBの作業セルに最後の行+1のアドレスが入る式をいれて、コピペするとき そこを参照すればいいじゃん。最後の行はCOUNTでわかるだろ。 もちろん最後の行を検索する方法もあるだろうけど。
質問できるレベル・・・プッ
>>877 は質問に答えるレベルになってないwというか日本語の使い方を(ry
881 :
名無しさん@そうだ選挙にいこう :2008/06/08(日) 01:30:14
「関西(完済)人になろう」なんてCMやってるけど、そのうち 「朝鮮(挑戦)人になろう」なんて言い出しやがるんじゃねぇかと 思ってニヤニヤしてるうちに一日が終わった。
882 :
881 :2008/06/08(日) 01:30:36
誤爆です、申し訳ありません。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 はい(少し) 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 指定した日に貼り付け マクロ 変数等 | A | B | C | D | E | F | G | H | I | J | K | L | ──|──|──|──|──|──|──|──|──|──|──|──|──| 1 .| 6/4 | 6/5 | 6/6 | ──|──|──|──|──|──|──|──|──|──|──|──|──| 2 .|山田| | | |山田| | | |山田| | | | ──|──|──|──|──|──|──|──|──|──|──|──|──| 3 .|鈴木| | | |鈴木| | | |鈴木| | | | ──|──|──|──|──|──|──|──|──|──|──|──|──| 4 .|田中| | | |田中| | | |田中| | | | ──|──|──|──|──|──|──|──|──|──|──|──|──| 5 .|山本| | | |山本| | | |山本| | | | ──|──|──|──|──|──|──|──|──|──|──|──|──| 6 .|高橋| | | |高橋| | | |高橋| | | | ──|──|──|──|──|──|──|──|──|──|──|──|──| 上のようなシートに別シートからデータを貼り付けます。 6/4分はB2:D6へ、6/5分はF2:H6へ、6/6分はJ2:L6へ、……といった感じです。 これを毎週月曜日に1週間分まとめてやらなければなりません。 指定した日付に貼り付けるようなワークシート関数やVBAはありませんでしょうか?
>>883 貼り付ける前のデータが、別シートにどういう順番で並んでいるかがわからないと
どうにも答えようがない
あと、6/4は水曜だけど、水曜から始まる表を月曜に作るの?
>>883 表を作る時は行と列を明確にして下さい。
この表の場合、列があいまい。
>>885 1行目は4列ずつ結合してあるとオレは読み取ったが
>>886 一行目が結合してあってもあいまい性は解消されないよ。
また貼り付けの話か そもそもデータの構造が悪い 6/4 山田 なんたら 6/4 鈴木 かんたら 6/5 山田 なんたら 6/5 鈴木 かんたら こうやってピボットテーブルで整形できまり
>>875 顧客には再利用できるデータとして渡したいのかな?
そうでなければ印刷範囲の指定で必要な部分だけ印刷して渡したり、
PDFに変換して渡すのがいいと思うんだが。
データ渡しするにしても、シートを2つに分けずに最初から1つのシートに入力して、
顧客に見せてもいいデータだけを新規ファイルに値貼り付けするようなマクロを組んだ方がはるかに楽だよ。
現状のやり方だと自分の手元に残るデータ=顧客に渡すデータだから、
何かチェックにミスがあった場合でも元のデータを復元できなくて困るんじゃないかなあ。
ちっとも治療しないで、そもそも生活習慣が悪いと 説教垂れてばかりの病院みたいな、、
要領を得ない質問する人って根本的なところから 仕事の進め方が間違ってる場合が多いからなあ。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 条件に合う 順に並べ 元のデータ(またはその属性)から条件に合うものだけを抽出し、別のセルに上から順に隙間なく並べるにはどうしたらよいでしょうか? ただし、オートフィルタ等の手動操作によって並べ替えるのではなく、元データ・抽出データとも常時同じフォーマットで表示したままとします。 (抽出条件指定時に同じフォーマットのまま内容が入れ替わる) 例1)条件:女 元データ 性別 抽出データ 青木 男 岩崎 岩崎 女 上田 上田 女 岡田 遠藤 男 (なし) 岡田 女 (なし) 例2)条件:正規データ 元データ 抽出データ A A #N/A C C E #DIV/0! (なし) E (なし) なお、元データ(およびその属性)と抽出データ表示欄は必ずしも並んでいる必要はありません。 ネット検索してもオートフィルタがらみの記事はいくらでも見つかるのですが、関数で処理しているものは見つからなかったので、よろしくおねがいします。
見つからないのは、関数でするのが現実的じゃないからだよ。 無理やりやるとすれば、例1の場合、作業列その1をつくって性別が女なら1を表示 作業列その2をつくって、作業列その1が1なら連番を表示 抽出シートには1から連番を適当につくっておいて、VLOOKUPで抽出データを参照
>>893 そういうのはフィルタオプションを使えば割と簡単にできるよ。
説明が面倒なんで「Excel フィルタオプション」とかでググってみて下さい。
>>889 例えば、6/4の山田さんは3つの列があるんだけど、それぞれ何?
>>892 同感。
単純なことを無理に難しくやってる人多いね。
>>897 やっぱり現実的じゃない方法を選んだか。こういう手法は元データが増減や抽出データの並べ替えに弱いんだ。
遠回りして結局フィルタがいいという結論に到達するんだろうな。
>>896 いやだから、並べ替える前のデータが出てこないことには話が進まないんだってば
エクセルでグラフを書いたんですけど、コードを添付しろと言われました コードって何のことでしょうか?
>>900 いやだから前とか後とか関係ないんだってば。
処理後のデータであっても処理の意味が明確であれば処理前のデータについても明確にわかる。
そもそも
>>896 は
>>889 >どこがあいまいなんだ?
に対する返事だよ。
もう一度聞くね。
例えば、6/4の山田さんは3つの列があるんだけど、それぞれ何?
バスト・ウエスト・ヒップ
質問に質問で返すアホ
>>902 > 例えば、6/4の山田さんは3つの列があるんだけど、それぞれ何?
元のデータを見ないでも、その3つの列が何かってのが分かったら
>>883 に答えられるっての?
すごーい
馬鹿じゃないの
>>905 例えば処理後の3列がバスト、ウエスト、ヒップだとしたら、
元のデータのバスト、ウエスト、ヒップからデータをコピーしたらいいだろ?
バカはお前じゃないの?
データを正規化するには3列の内容が分からないとって言いたいんじゃないのかな
>>906 それをするにはどうすればいいですかって質問だろw
>>908 ピボットテーブル使えばいいじゃない。
はい解決。次。
>>908 こいつ答えにつまるとすぐに話題をそらすやつだな。
>>909 それだけの解答するのにどんだけレスつかってんだよ バカじゃねーの?
俺もピボットテーブルはよく使うけどピボット厨はやりすぎっつーか社会に出た方がいいよ
だいたいピボットなら
>>888 で解答済みじゃん わけわかんね
>>912 ピボットにしろVBAにしろ、
> 例えば、6/4の山田さんは3つの列があるんだけど、それぞれ何?
これがわからなければ答えようが無い。
それさえわかれば、しかるべきところからしかるべきところにコピーすればいいんだよ。
ピボットでやるのがかっこいいと思うけどな。
だから >しかるべきところからしかるべきところにコピーすればいいんだよ をどうやってやればいいのかって質問なんだってば。日本語読めないのかおまえは
>>915 もういやだ。
バカの相手はしたくない。お前質問者じゃないんだろ。
ひっこめ。
ピボット厨の回答能力のなさは以前から、指摘されてる。 質問者も、回答者もかわいそうだが、あきらめろ。
918 :
917 :2008/06/08(日) 15:49:23
このスレ、折れは、今日、今来たところwww
>>916 元のデータが無くても回答可能なエスパーがバカの相手くらいで弱音を吐くなよ
それ程のエスパーなら列があいまいとか関係なくね? つか「列があいまい」って・・・
このスレの質問の大半はピボットで解決していると思うが…。
ピボ厨の気持ちも分かるんだが・・・ ピボ厨はもう少しコミュニケーション力を付けようぜ
このスレの質問のピボットでの解決率をExcelで求めたいんですが、どうしたらいいですか?
>>916 にバカと言われて自覚のある連中がわいてきた。
自己紹介乙
ビボットだけじゃ仕事になんねーんだよな ビボット君も大人になったらイヤでも解ることだから みんなソットしておいてやりなよ
VBAができるやつはピボットはあまり使わないんじゃない? 同等なことは頭を使えば簡単にできるし。
(1)まずデータを集める。これが一番大変。場合によっては何年もかかる。 (2)次にピボットで集計する。たぶん一瞬で終わる。 (3)最後に分析結果の文章を添えて、報告書として体裁良くまとめる。これもかなりの労力が必要。 全体の仕事から見れば集計なんてほんの一瞬だから、ピボットだろうが手作業でコピペだろうが 能率は大して変わんないっつーの。 2番だけできても何の役にたたねーんだよ。
931 :
名無しさん@そうだ選挙にいこう :2008/06/08(日) 18:28:46
vba厨だが確かにピボットは使う機会少ないと思う
もちろん正規化されていればつかうが、
>>893 や
>>883 の例だと正規化せずに直接データをほおりこむようにするね
特に
>>883 はやりやすそう
>>893 はオートフィルタと並び替えを手動でやると思う
もちろん頻度等にもよるけど
>>927 ピボットで楽々仕事ができる環境じゃない人は不幸だと思う。
ちなみに何がネックでピボット使えないの?
>>928 うーん。何言ってるのかわからない。
>>929 集計なんてほんの一瞬でやりたいよね。わかります。
>>931 VBAでやりたければそれでもいいんだけど、
>>883 の場合は何をやるのか説明できる?
933 :
名無しさん@そうだ選挙にいこう :2008/06/08(日) 18:57:51
別シートがどういうものか不明瞭だがそれさえわかれば簡単 大方シート名かファイル名に日付が入ってるだろうからそれを引っ張ってくる 多分だけど俺ならoffsetを使う ただ当日渡されるってだけでデータ以外は同じファイルだと怖いね 担当者が休んだ場合など、翌日に処理する可能性もあるから
>>933 元データには集計をするための情報が含まれているのはまず間違いない。
それがなければ集計不可能なんだから。
集計結果は日付ごとに3列あるわけなんだがこれをどう解釈するの。
ピボット使わない人はこういう感覚が欠如しているんじゃないか。
元の質問には集計とは一言も書いてないし。 その日に応対するお客さんか最大3人とかそんなんじゃないの? 結果をまとめるんじゃなくて、次の一週間の予定表を作りたいのかもしらんぞ。
データのシートから貼り付けたいんだから
=Sheet1!(A1)とかじゃだめなの?
マクロだったら
WorkSheet(Sheet2).Range("B2")=WorkSheet(Sheet1).Range("B2")
とか。
元データがどう並んでるか解らないからループが使えるかどうか解らないけど
>>883 はそういうことが聞きたいんじゃないの?
>>935 あんまり頭の悪いことはかかないでくれ。
>>938 おう、悪いな。 s が抜けてたり " が抜けててエラーになるのは日常茶飯事だ。
言いたいことはわかってくれ。
940 :
883 :2008/06/08(日) 22:04:14
お騒がせして皆様申し訳ありません。
>>883 の表の名前の横の3列は空白です。
別シートも同じようなつくりになっていますが
空白のところに売上、顧客数、単価が入力されています。
ほれ 項目が明らかになったぞ ちゃんと回答してやれ
元データのシートが全く同じ形式なら =Sheet1!B2 で良くね?
>>940 まったく同じ順番なら丸ごとコピーすればいいと思うんだけど、それができないってことは
並んでる順番が違うんでしょ?
それをはっきりと書いてくれなきゃどうしようもないよ。
とにかく説明はいいから別シートの一部を書いてくれ。
売上は売上のところに 顧客数は顧客数のところに 単価は単価のところに コピーしてやればよい。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2000 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 可 【5 検索キーワード 】 EXCEL 在庫管理 エクセルで在庫管理する方法を教えて下さい。 お客さんの倉庫5ヶ所に欠品を起こさないように商品を納入しないといけません。 対象となる商品点数は13種類です。 管理する期間は過去3ヶ月程度から1週間先の予定くらいまでを考えています。 各倉庫からの出荷情報は顧客のWebサイトから入手することができます。 今後、倉庫数、商品点数ともに変化する可能性があります。 よろしくお願いします。
また荒れるヨカン…
Sheet1に倉庫1、Sheet2に倉庫2・・・と作成 それぞれのSheet毎に期間と商品点数の表を作成するだけ 倉庫数が増えればSheetを増やす 商品点数が増減するなら表の項目を変更する 終了
所詮この程度か。 このスレどこまでレベル低いんだよ。 在庫管理すらできないやつがどんな仕事してるんだろう。 倉庫ごとにシート分けるのもかっこわるい。
神降臨 カミ━━━━(。A。)━━━━!!
ざわざわ......
ピボット使えばできるよ。冗談でもなんでもなく。
953 :
名無しさん@そうだ選挙にいこう :2008/06/09(月) 02:36:52
何? 在庫管理のどこが難しいって?
文字で説明できない奴が在庫管理かじったことがあるのを自慢して去ったのか
誰でもいいから説明してやれよ。最近雑談が多すぎるぞ
無駄だよ。煽ってちっぽけな優越感に浸りたいだけで本当はみんなできないんだから。 どこの会社にもいるよね。「そんなの簡単だよ」「もっといい方法があるのに」って言うくせに いざ頼もうとすると言い訳して逃げるやつ。
>>944 お前、本当にバカだったんだな
いや知ってたけど
いや
>>944 の回答が全てを表してるよ。
それさえわかれば実現手段は何でもいい。
>>956 入庫と出庫のデータがあるなら在庫数量は計算できるぞ。
お前できないのか?
>>957 コピーというのはコピー元とコピー先を指定しなきゃ。
この場合はコピー元とコピー先の項目名がいっしょなんだからどちらか一方が明らかになればいいんだよ。
もう1000までにまともな解答は無理だから残りは雑談にしようぜ。
未解決の質問jは次スレに持ち越しって事で。
>>945 なんかももう少し具体的に業務の流れを書くか、自分で出来るだけの事をした上で質問した方が解決が早いと思うよ。
962 :
名無しさん@そうだ選挙にいこう :2008/06/09(月) 09:30:56
在庫管理なんか簡単だよ。 過去実績から時期毎の適正在庫を出す。 常にそれ近くになるように在庫を監視。 配送日になったら在庫を補充。 関数なんか使わなくても、商品名、現在庫、適正在庫、納品数の欄があれば四則演算でできる。
>>962 商品名を四則演算でどうすればいいのかな?
964 :
名無しさん@そうだ選挙にいこう :2008/06/09(月) 09:38:25
バカは放置
965 :
名無しさん@そうだ選挙にいこう :2008/06/09(月) 10:13:32
【1 OSの種類 .】 WindowsXP sp2 【2 Excelのバージョン 】 Excel2003 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 経過日数 =DATEDIF(T40,A1,"D") A1をA1固定ではなく当日にしたいのですが、この場合はどうすればよいのでしょうか
>>965 =DATEDIF(T40,TODAY(),"D")
>>961 簡単に言うとある日付における在庫数は
繰越数量+繰越日からある日付までの入庫数-繰越日からある日付までの出庫数
で求められる。
今回のケースはこれを商品ごと、納入倉庫ごとに計算するだけ。
こんなの中学生でもできるだろ。
>>965 そんなものにDATEDIF関数使うなよ。
=TODAY()-T40で十分だろ?
970 :
名無しさん@そうだ選挙にいこう :2008/06/09(月) 11:01:50
ありがとうございます。もう1つ。 毎月の平日数と休日数を自動で算出し、更に該当の売上も自動算出したいのですが・・・ C D E F G H 37 平日数 21 平日売上 100 平日平均 2000 38 休日数 9 休日売上 1000 休日平均 20000 現在、日数(C37とC38)は都度数え手打ち、売上(F37とF38)は該当セル(D4〜D34)を毎回範囲指定して算出しています
971 :
名無しさん@そうだ選挙にいこう :2008/06/09(月) 11:02:57
誤記 × C37とC38 ○ D37とD38 失礼しました
972 :
名無しさん@そうだ選挙にいこう :2008/06/09(月) 11:07:12
凄い奴が現れたなw
973 :
名無しさん@そうだ選挙にいこう :2008/06/09(月) 11:16:27
セルが入力された日時を記録したいと思っています。 具体的にはA1に文字が入力される→B1にその日時が記録される→A2に入力→B2に…としたいのです。 関数はB1セルに「=IF(IsBrank(A1)=FALSE,NOW(),)」としました。 が、これですとA列のどこかに入力する度にB列全ての日時が変わってしまいます。 行別に管理する方法はありますでしょうか。 よろしくお願いいたします。
>973 つマクロ
>>973 そういう処理はVBAを使わないと無理かな。
VBAだったら、worksheetのchangeイベントで、
Private Sub Worksheet_Change(ByVal Target As Range)
If (Target.Column = 1) Then
Application.EnableEvents = False
Target.Offset(0, 1).Value = Now()
Application.EnableEvents = True
End If
End Sub
基本こんなかな
>>970 売上データの1日ごとに、その日が平日か休日かを入力する列を設けておく。
平日数と休日数はCOUNTIFで、平日売上と休日売上はSUMIFで計算する。
>>974-975 なるほど。関数だと無理だったんですね。
マクロもVBAも不勉強でまだ使った事がないのですが、
教えていただいた通りにやってみます。
ありがとうございました。
>>945 ”欠品を起こさない”という条件が、
具体的に日本語で書ければ、自ずから問題は
解決すると思うが?
980 :
945 :2008/06/09(月) 13:57:40
みなさまアドバイスありがとうございます。
>>979 商品ごと、倉庫ごとに基準在庫が決まっており、その数を割ったら商品を補充します。
ただ、人間の判断によって補充のタイミングや量は調整することがあります。
判断の材料として、在庫数量の時系列での変化が見えるようにしたいです。
商品は固定しておいて、各倉庫別に在庫の推移を見たり、倉庫は固定で商品全部の在庫を見たり、したいです。
>>980 今いえることは、入力シートと、
表示シートを分けた方がいいな。
位かな。
【1 OSの種類 .】 WindowsXP 【2 Excelのバージョン 】 Excel2002 【3 VBAが使えるか .】 いいえ 【4 VBAでの回答の可否】 否 【5 検索キーワード 】 エクセル 文字 入力 ^ 質問ですが、セルに文字を入力しようとするとすでに ^ が入っているんですが、 どうやったらなくせるのでしょうか。 ある日から突然そうなったんですが直し方がわかりません。 よろしくお願いします。
VBAでcsvファイルを読み込み、一部を書き換えて 保存するにはどうすればよのでしょうか。 180,65,N 179,62,N 174,57,A のようなデータがあるとした場合、二行目の 最後の要素”N”をAに書き変えたいのです。 できれば、全体を吐き出し直す以外の方法で お願いできないでしょうか… (これ以上重くするとブラックホールが発生します)
>>981 ありがとうございます。
入力シートと表示シートは分けようと思います。
何かいい方法ありませんでしょうか。
日付を固定して商品ごと倉庫ごとの在庫数量一覧も表示させたいです。
ほらVBA厨 呼ばれてるぞ
お待たせ!!VBA厨房だよ!!
でもピボットテーブルが一番向いてるんじゃねーのかそれ
VBAでできる事と言ったらworksheet_hangeでピボットを更新することくらいだよそれ
>>984 はピボット作れるのかい?作れないのかい?
おっと、worksheet_hanageは打ち間違い worksheet_chingeだな。キムタクに怒られるわ。こわいこわい
>>984 自分でここまではやったってのを何一つ示せないレベルだと
仕事で満足に使えるレベルのものを作るのは不可能だと思うよ。
その感じだと市販やフリーソフトの在庫管理ソフトを探す方が早道だと思う。
>>989 お前がVBAで作るのが無理ってことだろ?
偉そうに説教するとかっこ悪いぞ。
在庫管理にVBAなんて必要無いだろ
ったく えらそうな口ばかりで役立たずばっかしw
君たちのレベルだと在庫管理のような難しいことするのは不可能だよ。 在庫管理はExcelじゃ無理だよ。フリーソフト使いなよ。 ↑ 在庫管理程度のことができないなんてこいつら一体エクセルで何やってるんだ?
多分エクセルなんてほとんど使った事なくて いきなり上司からパソコンで在庫管理やれとか言われたんでしょ
簡単と言ってる奴が何一つ具体的な解答をしていない件
>>994 そうかもしれないがこの質問者の場合、やりたいことは非常にはっきりしてるぞ。
この程度のことはExcelで簡単にできるべきだと思わないか?
>>996 そりゃそうだけど、いくら簡単でも本人にやる気が無いと意味無いしなあ・・・
>>998 勝手に決め付けるなよ。
お前ができないんだろ。
意味も分からず誰かが完全に作ってくれたExcelのファイルをただ使うだけなら フリーや市販ソフトでも同じ事。エクセルでやる意味が無い。
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。