Excel総合相談所 82 at BSOFT
[2ch|▼Menu]
1:名無しさん@そうだ選挙にいこう
09/05/09 08:24:22

Excelに関する質問は、ここで!

▼━ 質問のしかた ━━━━━━━━━━
★1 質問するときは環境や条件はきちんと書いてね。情報後出しはダメ。
★2 要望は具体例や図を使って明確かつ具体的に。
★3 質問前に>>2-20あたりの注意書きや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やヘルプで検索してみてください。
  URLリンク(www.google.co.jp)

前スレ
Excel総合相談所 81
スレリンク(bsoft板)


2:名無しさん@そうだ選挙にいこう
09/05/09 08:25:23
▼━質問時の注意・決まり事━━━━━━━━━━
・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 書籍や解説サイトの紹介以来はスレ以外。ここは技術的な質問のみで。


3:名無しさん@そうだ選挙にいこう
09/05/09 08:26:41

★ルールを無視すると…
 >>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分野の話ではないので、ここでは聞かないでください。


4:名無しさん@そうだ選挙にいこう
09/05/09 08:27:43

★ 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セルを分割 (分割したいセル以外を結合)



5:名無しさん@そうだ選挙にいこう
09/05/09 08:28:37

★ Excelで出来ないこと、仕様上の制限 (括弧内は代用法)

 ▼数式・関数
  ・ 表示形式以外の書式の取得設定、書式情報を条件とする数式 (ユーザー定義関数)
  ・ 関数式でセルの選択状態を取得する (VBA)
  ・ セルの値でパスを補完して、開いてないブックのセルを参照する (VBA)
  ・ 入力したセルに結果を返す (VBA)
  ・ 範囲を引数にしての文字列連結 (ユーザー定義関数)
  ・ 値の書き換え、値の保持 (VBA)
  ・ 複数の結果を抽出、不定な数の結果を返す (VBA、結果の最大数が解っていれば最大数以上の式を論理式で組む)
  ・ 空白のセルの部分を上詰め、左詰めなどで表示する (作業セルを使って別セルに詰めて表示なら可能、それ以外はVBA)
  ・ VLOOKUP,HLOOKUP,MATCH等の関数で、検索語を全半角両方にマッチさせる (ユーザー定義関数)

 ▼VBA
  ・ ExecuteExcel4Macroの参照で空セルと0値を区別する
  ・ セルの値や変数値で直接変数名を指定する (配列、コレクション)
  ・ VBのコントロール配列と同じような操作をしたい
   (イベント以外ならコントロール名を「同名+連番」にしてControls(名前 & インデックス)で処理、イベントはクラスでWithEvents)

 ▼ユーザーフォーム
  ・ フォーム上から変更したプロパティ値の保持 (シートや外部ファイルに書き出して、次回読み込む)

 ▼グラフ
  ・ 棒グラフでひとつだけ突出したデータがあった場合に波線を入れて位置を合わせる
   (オートシェイプなどで見た目だけそうなるように弄る、別アプリでグラフを作り、オブジェクトとして挿入)
  ┌┐
  〜〜
  ||


6:名無しさん@そうだ選挙にいこう
09/05/09 08:29:30

上記 「Excelで出来ないこと、仕様上の制限」 は、一般的に出来ないとされていること、出来ないと思われるものです。
間違いがある可能性もあるので、上記に挙がってるもので「コレはこうすれば出来るよ」というものがあったらご指摘ください。
Excel2007についても未確認な項目が多いので変更点が有ればご指摘下さい。

また、ここに書かれてないことでも、Excelで出来ないことはたくさんあります。
ここに書かれてないからといって必ず出来るはずだなんて思わないように。

>▼環境・書式
> ・ セルのサイズ(幅、高さ)を、長さの単位(ミリメートルなど)で指定する
補足
2007ではページレイアウトビューの表示時に限り、幅・高さともcm単位で表示され、
指定も同じくcm単位でできる。
ただし大元がインチ系なのでなかなかピタリの値は出ない。1cm→0.98cmのように
近い値に勝手に丸められる。


7:名無しさん@そうだ選挙にいこう
09/05/09 17:44:30
1乙
前スレ1000ファインプレイ乙

8:名無しさん@そうだ選挙にいこう
09/05/09 18:13:14
Office2003を使用ています
vlookup関数で”シチズンホールディングス”が返ってきたとすると
頭から5文字の表示”シチズンホ”までを表示したいと思っております
xxxxx(vlookup(,,,), xxxx)みたいなかんじで何かいい関数ないでしょうか?


9:名無しさん@そうだ選挙にいこう
09/05/09 18:19:27
>>8
LEFT

10:名無しさん@そうだ選挙にいこう
09/05/09 18:37:45
XP、Excel2000使用です。
100%積み上げ横棒グラフにて縦軸1月と2月とし、それぞれの月で複数項目の増減がどれくらいかを
見られるように作成しました。
ですが、縦軸はグラフ上下の端に1月2月と入っていますが、横棒グラフが上端と上下端の中間にきており
2月のグラフがずれていて見づらいのです。これを下端にもって行きたいのですが、
どのようにすればいいのでしょうか。
よろしくお願いします。

11:名無しさん@そうだ選挙にいこう
09/05/09 19:42:28
たとえばA1のセルに
「あああ、いいい、ううう、えええ」の場合カウント4
「ははは」の場合カウント1
空白の場合カウント0
みたいにB1に出したいのですが
Findを使ったりいろいろ試しているのですが
どうしてもうまくいきません
何か良い方法とかありますでしょうか?

12:名無しさん@そうだ選挙にいこう
09/05/09 19:53:38
>>11
文字は「、」で区切られてるとして「、」の数を数えてみた。
=IF(ISBLANK(A1)=TRUE,0,LEN(A1)-LEN(SUBSTITUTE(A1,"、",""))+1)
空白なら0、そうでなければ「、」の数+1

13:名無しさん@そうだ選挙にいこう
09/05/09 21:13:51
>>12
前半の「=TRUE」は余分だな

14:名無しさん@そうだ選挙にいこう
09/05/09 21:24:36
>>13
そうだった。ifの真だから
=IF(ISBLANK(A1),0,LEN(A1)-LEN(SUBSTITUTE(A1,"、",""))+1)
でOKだね。

15:名無しさん@そうだ選挙にいこう
09/05/09 21:30:30
意味のない短縮
=(A1>"")*(LEN(A1)-LEN(SUBSTITUTE(A1,"、",))+1)

16:名無しさん@そうだ選挙にいこう
09/05/09 21:30:37
>>1


17:名無しさん@そうだ選挙にいこう
09/05/09 21:35:18
>>15
それならこっちの方がよくない?
=(A1>"")+(LEN(A1)-LEN(SUBSTITUTE(A1,"、",)))

18:名無しさん@そうだ選挙にいこう
09/05/09 21:37:20
URLリンク(kita.kitaa.net)

19:名無しさん@そうだ選挙にいこう
09/05/09 21:39:01
>>17
それなら後半の式をくくるカッコも不要だな
=(A1>"")+LEN(A1)-LEN(SUBSTITUTE(A1,"、",))

20:名無しさん@そうだ選挙にいこう
09/05/09 21:40:58
>>19
スッキリしていいね。

21:名無しさん@そうだ選挙にいこう
09/05/09 21:43:39
ISBLANKで判定しないとA列のデータが数値だったときにおかしくなるぞ
「1、2」ならちゃんと2になるけど「1」だと0になってしまう。

22:名無しさん@そうだ選挙にいこう
09/05/09 21:44:39
>>21
じゃあこれなら文句ないだろ
=(A1<>"")+LEN(A1)-LEN(SUBSTITUTE(A1,"、",))

23:名無しさん@そうだ選挙にいこう
09/05/09 21:46:20
なるほど

24:名無しさん@そうだ選挙にいこう
09/05/10 00:31:13
>>10
今どういう状況になってて、どうしたいのかがいまひとつ理解できない。
もし良かったら、ブックをうpかグラフの画像うpかどちらかしてみてくれないか?

25:名無しさん@そうだ選挙にいこう
09/05/10 17:33:03
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 まったくの初心者
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 リスト 削除

ユーザーフォームを設置しています。
このユーザーフォーム上の削除ボタンをクリックすることによって元のデータを削除したいんです。

ユーザーフォームの元の情報はSheet3のB2〜G2、B3〜G3、B4〜G4などに行ごとにならんでおり、このSheet3のBなんとかからGなんとかの情報を削除するようにしたいのです。
ちなみにSheet3のA列には番号が振ってあり、この番号自体は削除したくありません。
BからGまでの情報を行ごとに削除したら、上に詰めるようにしたいです。

ちなみにユーザーフォームへの出力は少々ややこしく、Sheet1上にリストボックスをつくりSheet3から転載してリスト内容を表示、
Sheet1のC19に選択したリスト番号(A列の番号)を出力、VLOOKUP関数でSheet1のAA19〜AE19に選択した情報を表示するようにしてます。(なおAA19にはSheet3A列の番号)
さらにユーザーフォームを開いた際にSheet1のAA19〜AG19までのデータをSheet2のA3〜G3にコピーして、そこからユーザーフォームの内容を表示するようにしています。
ユーザーフォームの内容を書き換えて編集ボタンを押す際にSheet2を編集した情報を、たとえばSheet2のA3の値が5であったとすると、Sheet3のB5〜G5の値を上書きするようにしています。

いったんSheet2のB3〜G3を空白にしてSheet3のBなんとか〜Gなんとかを空白で上書きして上に詰めたほうがいいのか、直接Sheet3の指定行を削除して上に詰めたほうがいいのかはわかりませんが、可能な方法でやりたいと思います。
ただ、Sheet2のA列には情報の番号があるんですが、ユーザーフォームには情報の番号を出力していませんので前者のほうが簡単かとは思います。

少々わかりにくかったかもしれませんが、何卒よろしくお願いいたします。

26:名無しさん@そうだ選挙にいこう
09/05/10 18:16:55
>>25
数が合わないよ。AEじゃなくてAFじゃないの?

27:名無しさん@そうだ選挙にいこう
09/05/10 18:20:37
>>25
たとえばVBAで3行目のデータを削除してそれ以降を上に詰めるってのはこれ1行だけでできる
Range("B3:G3").Delete Shift:=xlUp

28:名無しさん@そうだ選挙にいこう
09/05/10 18:52:39
すいません、返事遅れました。

>>26
ごめんなさいAGでした。申し訳ありません。
なぜかというと、AA19は、Sheet3のA列の番号がはいっているんです。
Sheet3には正確に言うとAからGまではいっているんですが、削除するのがBからGということです。

>>27
ありがとうございます。
3行目と行数が決まっているわけではなく、リストから選択した行数を削除したいんですね。
その場合はどうすればよろしいでしょうか?

>>

29:25
09/05/10 19:10:12
まえにこちらで教えていただいて、Sheet2の内容をSheet3へ上書きするには下記のようにしています。
要するにこれを空欄で上書きできればそれが一番いいのですが・・・
ただしA列以外を空欄で上書きという風にできれば。

Private Sub Command2_Click()
g = Sheets("Sheet3").Range("A65536").End(xlUp).Row
a = Sheets("Sheet2").Range("a3").Value
Sheets("Sheet3").Select

For i = 1 To g
If Cells(i, 1).Value = a Then
Range("b" & i).Value = Sheets("Sheet2").Range("b3").Value
Range("c" & i).Value = Sheets("Sheet2").Range("c3").Value
Range("d" & i).Value = Sheets("Sheet2").Range("d3").Value
Range("e" & i).Value = Sheets("Sheet2").Range("e3").Value
Range("f" & i).Value = Sheets("Sheet2").Range("f3").Value
Range("g" & i).Value = Sheets("Sheet2").Range("g3").Value
End
End If
Next
MsgBox "管理番号なし"
End Sub

すいません。どなたか助けてください。ぜひよろしくお願いします。

30:25
09/05/10 19:18:59

こういうのを後出しっていうんですね…
申し訳ありません。。。
整理できてませんでした。

31:名無しさん@そうだ選挙にいこう
09/05/10 20:24:12
>>28
削除したい行の番号が変数DelRに入ってるとして
Range("B" & DelR & ":G" & DelR).Delete Shift:=xlUp

いちいち聞いてたんじゃなかなか進まないでしょ
どこを修正したらいいのかよく見て、これぐらい自分で応用できるようになろうよ

32:25
09/05/10 20:38:22
>>31
ありがとうございました!!できました!

DelR = Range("Sheet2!A3").Value
Sheets("Sheet3").Range("B" & DelR & ":G" & DelR).Delete Shift:=xlUp


ですね!!
たすかりました。
変数の応用、できるようになりたいです!
がんばります。


33:名無しさん@そうだ選挙にいこう
09/05/10 21:23:30
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】Excel イコール無し 四則演算

あるブックの他の人が作ったシートのデータ入力欄で キーボード入力する際に
1+2+3[Enter]
といった具合に入力すると、自動で「=」が付加されて、セルの数式の部分には
=1+2+3  
セル自体には 6 と表示されるのですが、
新しく作ったシートで同じように入力しても、セルの数式の部分とセル自体には
1+2+3 としか表示されません。
自動で=を付加させて、セル自体には計算結果を表示させたいのですが、どうすればいいのでしょうか。

34:名無しさん@そうだ選挙にいこう
09/05/10 21:42:20
>>33
他の人が作ったシートにはマクロが設定されてるんじゃないのかな。
= を使いたくないなら + を使うか
その人が作ったシートをコピーして使うとか。

35:名無しさん@そうだ選挙にいこう
09/05/10 23:29:57
>33
とりあえずなら、
そのブックに新しいシート追加して、それ以外のシート削除して、
名前をつけて保存、でテンプレートとして保存するといいよ。
そっから先は↓読んで
URLリンク(office.microsoft.com)

36:名無しさん@そうだ選挙にいこう
09/05/11 00:12:12
>>33
セルの設定を"="##### でオケ

37:名無しさん@そうだ選挙にいこう
09/05/11 00:19:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 否
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 ユーザーフォーム 空欄 0

ユーザーフォームで参照セルが空欄の場合0が表示されてしまいます。
これを表示しないようにしたいのですが。
よろしくお願いします。

38:名無しさん@そうだ選挙にいこう
09/05/11 00:30:22
>>37 " "

39:37
09/05/11 01:06:00
>>38
ありがとうございます。

すみません。大変恥ずかしいのですが、どうしてもわかりません。
" "を参照元の書式設定してみましたがだめでした。
それとテキストボックスのコントロールソースも" "で囲おうとしましたが入力できませんでした。
他に思いつきません…
どうか教えてください。お願いします。

40:名無しさん@そうだ選挙にいこう
09/05/11 04:23:44
>>37
ユーザーフォームの何に何を表示させてるの?
テキストボックス?

41:名無しさん@そうだ選挙にいこう
09/05/11 04:36:39
>>37
その参照してるセルにはどんな数式が入ってる?

42:名無しさん@そうだ選挙にいこう
09/05/11 05:24:31
>>35
>>33で「新しく作ったシートでは表示されない」となってるから
Worksheet_Changeに何か入ってそう。
もしそうならシート追加だとWorksheet_Change部分はコピーされないから
シートコピーがいいと思う。

43:名無しさん@そうだ選挙にいこう
09/05/11 06:39:01
>>39
空白セルにスペースを入れろと言うことだろ。

44:名無しさん@そうだ選挙にいこう
09/05/11 06:48:51
再現しねえ。
普通に
TextBox1.ControlSource = "A1"
ってやっただけなら、セルが空白ならテキストボックスもそのまま空白になんだけど。

45:37
09/05/11 10:43:15
>>40>>41
ユーザーフォームのテキストボックスに、Sheet2のA1からX1の値を表示させています。
セルには数式は入っていません。しかし、マクロでSheet1のA1からF1の値を表示させています。

Sub ユーザーフォーム2起動()
Range("Sheet2!A1:Sheet2!F1").Value = Range("Sheet1!A1:Sheet1!F1").Value
UserForm2.Show
End Sub

ただ、Sheet1のA1には
=IF(Sheet1!$C$19="","",VLOOKUP(TOP!$C$19,Sheet3!$A$1:Sheet3!$F$65536,1,0))
という数式が入っています。

>>43
空白セルにスペースをいれてみましたが、空白が入りません…
というのがユーザーウォームを立ち上げた瞬間にSheet1のセルA1からF1の値を反映するようにしています。


>>44
ControlSource に Sheet2!A1 と入れています。
"Sheet2!A1"といれようかと試みましたがだめでした。
「ControlSourceプロパティーを設定できません。プロパティーの値が無効です。」
とエラーになります。



46:37=45
09/05/11 10:46:26
すいません。

ユーザーフォームのテキストボックスに、Sheet2のA1からF1の値を表示させています。

の間違いです。。

47:37=45
09/05/11 10:50:50
これも間違いです。何度もすいません。

ただ、Sheet1のA1には

=IF(Sheet1!$C$19="","",VLOOKUP(Sheet1!$C$19,Sheet3!$A$1:Sheet3!$F$65536,1,0))

という数式が入っています。

でした。

48:名無しさん@そうだ選挙にいこう
09/05/11 13:10:59
何を質問してるのか俺にはさっぱり分らんが、Sheet1!とかSheet2!とかは1回でいいよ?
律儀に2回も書くことない。

49:名無しさん@そうだ選挙にいこう
09/05/11 13:16:31
ファイルアップロードして何をしたいか書いたほうが早いかもねぇ

50:名無しさん@そうだ選挙にいこう
09/05/11 13:30:08
テキストボックスじゃないんじゃないの?
どうやってA1:X1の値を入れてるんだ?
出来ないことはないけどね。

51:名無しさん@そうだ選挙にいこう
09/05/11 18:34:55
【1 OSの種類         .】 WindowsXP SP3
【2 Excelのバージョン   】 Excel2003 SP3
【3 VBAが使えるか    .】 使えません
【4 VBAでの回答の可否】 可(VBAは全く分かりませんが、コードを書いていただければ内容を調べて理解に努めます)
【5 検索キーワード     】 Excel VBA セル 上書き 条件 等を色々と組み合わせて。

F列に有る年月情報を、G列にある年月の方が大きい場合、G列の年月で上書きし、G列の数値をクリアする(削除では無くクリア)。
G列のセルが空白の時はスキップ。

という作動をシート全体にさせたいと思います。
単純に言うとF列の年月情報をG列の年月情報が新しい場合、それで更新したい。
という感じです。よろしくお願いします。

52:名無しさん@そうだ選挙にいこう
09/05/11 18:40:50
クリアって何?

53:37
09/05/11 18:42:39
>>48>>49>>50
ユーザーフォームの中のテキストボックスの参照もとの値が空白の場合にテキストボックスに0が表示されるのをされないようにしたいということです。
テキストボックスにはControlsours に参照セルを入れて引っ張ってきてます。

関係があるシートを下にアップしました。よろしくお願いします。
URLリンク(up.87op.com)

LDkey=0120

54:名無しさん@そうだ選挙にいこう
09/05/11 18:53:45
>>53
30もユーザーフォームがあるじゃねーかよ。
どのユーザーフォームのTextBoxなんだ?

55:37
09/05/11 19:00:37
すいません。
UserForm17です。


56:名無しさん@そうだ選挙にいこう
09/05/11 19:27:18
そんな大がかりなブックみても分らんよ。
現象が再現できる最低限の小さなブックをアップしろ。

57:名無しさん@そうだ選挙にいこう
09/05/11 19:29:04
>>53
シートの値が0になってっりゃそこを参照してるTextBoxも0になるのは当然だと思うが?

58:名無しさん@そうだ選挙にいこう
09/05/11 19:31:13
フォーム起動ボタンを押すと、0が補完されるし。

59:名無しさん@そうだ選挙にいこう
09/05/11 19:47:07
しかしまぁコードみるかぎりかなり初心者だと思うが、よくこんな大がかりなブック作るよな。
しかもクラスモジュールまで使ってる形跡もあるし。

60:37
09/05/11 20:08:29
>>56
いま、準備してますが、現象が出てこないんです。

何が原因でこうなったのか…

TOPのVLOOKUPが原因なのかVBが原因なのか…
普通にしてたら0は出てきません。

もう少しがんばって現象を出して見ます。

61:37
09/05/11 20:15:10
>>57>>58
ひょっとしてフォーム起動が原因なんですね!
>>59
お察しのとおりです。

62:名無しさん@そうだ選挙にいこう
09/05/11 20:20:47
>>60
TOPのVLOOKUPの式が#REF!になってるのは何で?

63:名無しさん@そうだ選挙にいこう
09/05/11 20:27:02
>>51
Sub test()
Dim i As Long
Dim r As Long
'6列目(F列)の最終行を調べる
r = Cells(Rows.Count, 6).End(xlUp).Row
'↓1行目が項目行と考えて2行目からにしたが適宜変更すること
For i = 2 To r
If Cells(i, 7).Value <> "" And Cells(i, 7).Value >= Cells(i, 6) Then
Cells(i, 6).Value = Cells(i, 7).Value
Cells(i, 7).ClearContents
End If
Next i
End Sub

64:名無しさん@そうだ選挙にいこう
09/05/11 20:27:30
すごいなブックをみた
まさか会社からかっぱらってないよね

65:名無しさん@そうだ選挙にいこう
09/05/11 20:28:50
2000使用です
先ほどの起動から、突然矢印操作がおかしくなってしまいました
普通ならセル移動なんですが、表全体がスクロールするようになってしまいました
これはいったいどこに不具合が出たんでしょうか
起動したらこうなってました、設定変更は一切してません
小遣い表に使ってる程度なので、設定変更もせいぜい色や幅を変えるぐらいしかしませんし
非常に困っています、どうやったら直せますか
再起動してみましたが直りませんでした

66:37
09/05/11 20:31:13
>>62
本当はもうひとつリストがあって、その情報を別のユーザーフォームに表示させようとおもっていたんですが、さすがに面倒になってやめました。
その名残で残ってます。紛らわしくてすみません。

たぶん、UserForm17を立ち上げる際にTOPから見積一時シートに転記するときに0が入ってしまうと思うんですが、これを入らないようにするにはどうしたらいいでしょうか?

67:名無しさん@そうだ選挙にいこう
09/05/11 20:31:22
>>65
キーボードの右上にScroll Lockというキーがあるだろうから押してみて

68:51
09/05/11 20:38:28
>>52さん
セルのコンテキストメニューで出てくる削除ではなく、数式と値のクリアということです。

69:名無しさん@そうだ選挙にいこう
09/05/11 20:42:16
あっ・・・キーボードのキーLockランプが光ってる・・・なぜ?
>>67
ありがとおおおおおおおおおおおお!
この機能なのか_| ̄|○
使う必要の無いキーが知らないうちに押されてると全く違う動きになって悩むことしばしば
ほんとにありがとう

70:名無しさん@そうだ選挙にいこう
09/05/11 20:42:37
>>66
プロパティウインドウ開いてプロパティのTextに0が入ってるから消す。

71:37
09/05/11 20:52:06
>>70
ありがとうございます。
しかし、いったん0をけしてもUserForm17を立ち上げるときにまた0が入ってしまいます…


72:51
09/05/11 20:59:59
>>63
ありがとうございます
内容見ながら把握して実験してみます。

※現在アク禁中に付き、他スレにて代理書き込みをお願いしており、
※返事が前後してしまいました。

73:名無しさん@そうだ選挙にいこう
09/05/11 21:11:02
>>72
知ってるw

74:名無しさん@そうだ選挙にいこう
09/05/11 21:14:14
>>66
TOPシートのAB15が空白のように見えるとき実際の値は0になってる。
表示形式が[=0]"";G/標準になってるので空白に見えるだけ。

VLOOKUPの式を見直すか、見積一時シートへ代入するときValueプロパティじゃなくTextプロパティを代入すればいい。
ただしValueと違っていっぺんには代入出来ないからループを回すことになる。
式を見直す場合はAB15を例にとると
=IF(TOP!$C$19="","",IF(VLOOKUP(TOP!$C$19,車両見積一覧!$A$1:車両見積一覧!$BL$5666,2,0)="","",VLOOKUP(TOP!$C$19,車両見積一覧!$A$1:車両見積一覧!$BL$5666,2,0)))
となる。
数値が数字(文字列)になってもかまわなければ
=IF(TOP!$C$19="","",VLOOKUP(TOP!$C$19,車両見積一覧!$A$1:車両見積一覧!$BL$5666,2,0)&"")
と""を後ろにくっつければいい。


75:名無しさん@そうだ選挙にいこう
09/05/11 21:26:15
=IF(TOP!$C$19="","",VLOOKUP(TOP!$C$19,車両見積一覧!$A$1:$BL$5666,2,0)&"")だったな。
前にも書いたようにシートの指定は一回でいい。

ただ車両見積一覧の番号が1からの連番になってるのでVLOOKUPを使うのは愚の骨頂だ。
INDEX関数だけでいい。
VLOOKUP使いは馬鹿が多いから気をつけろ。


76:37
09/05/11 21:36:24
ありがとうございます!
できました!
ループを回すやり方がよくわからなかったので、VLOOKUPを見直しました。
=IF(TOP!$C$19="","",IF(VLOOKUP(TOP!$C$19,車両見積一覧!$A$1:車両見積一覧!$BL$5666,2,0)="","",VLOOKUP(TOP!$C$19,車両見積一覧!$A$1:車両見積一覧!$BL$5666,2,0)))
のほうでやってみたら0が消えました。

かなり時間食ったので本当にうれしいです。ありがとうございました!

そのほかの皆さんもお騒がせしました。

77:37
09/05/11 21:44:41
>>75
シートの指定は
=IF(TOP!$C$19="","",IF(VLOOKUP(TOP!$C$19,車両見積一覧!$A$1:$BL$5666,2,0)="","",VLOOKUP(TOP!$C$19,車両見積一覧!$A$1:$BL$5666,2,0)))
ってことですね?

INDEX関数ですか?
勉強のためにやってみます!
ありがとうございます。



78:名無しさん@そうだ選挙にいこう
09/05/11 21:49:58
【1 OSの種類         .】 WindowsVISTA
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 EXCEL セルの書式 数式

相談させてください
H3の値がQ3より大きい、かつ、H3が未入力ではない 場合
H3のセルの背景を赤で塗りつぶす
には、どのように設定したらいいでしょうか?

また?3列で設定後、同じ設定を4列〜30列まで設定したいのですが、
セルの中に数式を入れる場合と違い、セルの書式の場合は、手動で一つ一つ設定していくしかないでしょうか?

79:名無しさん@そうだ選挙にいこう
09/05/11 21:58:42
>>77
ヒントだがB3:B5666の100番目の値は =INDEX(B3:B5666,100)

80:名無しさん@そうだ選挙にいこう
09/05/11 22:03:09
>>78
H3を選択して書式→条件付書式→数式が→=AND(H3<>"",H3>Q3)→書式で赤を選択

条件付書式もコピーできる。書式のコピーすればいい。

81:名無しさん@そうだ選挙にいこう
09/05/11 22:04:35
>>78
セルH3を選択し、ツールバーの書式→条件付書式

「セルの値が」をクリックし、「数式が」に変更
「=and(h3>q3,h3<>"")」と入力   ・・・普通にセルを選択して入力した場合、絶対参照になってしまうので注意
「書式」をクリックし、「パターン」タブを選んだあと、色を設定し「OK」

そのままH3をコピーし、H4〜H30まで「形式を選択して貼付け」の「書式」で貼り付ければOK。



82:名無しさん@そうだ選挙にいこう
09/05/11 22:08:04
>>79に続いてもう一つヒント。
$B$3:$BL$5666の上から100番目で左から10番目は
=INDEX($B$3:$BL$5666,100,10)
$B$3:$BL$5666は名前定義した方が楽だけどな。


83:名無しさん@そうだ選挙にいこう
09/05/11 22:13:11
>>78
H3が未入力かどうかは見なくていいんじゃないの?
H3が未入力なら当然Q3の値より小さいことになる。

84:名無しさん@そうだ選挙にいこう
09/05/11 22:15:54
>>83
Q3がマイナスだったら?

85:83
09/05/11 22:16:04
すまん、Q3が負の数値のケースを失念した。

86:83
09/05/11 22:17:08
お、上は>>84は見ずに書きこ。

87:名無しさん@そうだ選挙にいこう
09/05/11 22:18:19
空白は0か

88:83
09/05/11 22:21:39
>>87
そういうことだな。
条件付き書式に「空白セルは無視する」とかあったような気がしたが探してもないな。

89:名無しさん@そうだ選挙にいこう
09/05/11 22:24:22
>>88
「空白を無視する」は入力規則のリストのときに使うね。
2007はわからんが。

90:名無しさん@そうだ選挙にいこう
09/05/12 10:45:12
助言願います。

Excel2003

ユーザーフォーム内で作成したテキストボックス内の文字列位置の
上下センター付けはどのように設定すれば良いのでしょうか?

91:名無しさん@そうだ選挙にいこう
09/05/12 13:50:56
>>90
(コントロールの高さ - フォントの高さ) / 2
を、上下のマージンとして設定すればいいんじゃね?
Win32APIで。

あとはそこまでしてでもセンタリングしたいか
プロパティとかで手軽に設定出来ないならキッパリ諦めるかはお好きなように。

92:37
09/05/12 22:41:44
>>82
ありがとうございます。
INDEX関数難しいです…
ヒントの意味すらよくわかりません 泣
VLOOKUPはB3からBL5666の中を検索して同じ番号の行の○列目を表示するって意味ですよね?
INDEXの場合はB3からBL5666の中を検索して同じ番号の行の配列を表示するって意味ですよね?

う〜〜ん。
INDEX関数検索してみましたが…
=INDEX(TOP!$C$19,車両見積一覧!$A$3:$BL$5666,3,1)
といれたらREF!になってしまいました。

93:名無しさん@そうだ選挙にいこう
09/05/12 23:56:19
質問させてください。

【1 OSの種類】 WindowsXP
【2 Excelのバージョン】 Excel2000
【3 VBAが使えるか】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード】 EXCEL セルの一部 リンク

A1に、「2009年10月1日〜10月31日」
B1に、「2009年11月1日〜11月30日」

A1の一部「2009」を、「2010」に変えると
B1の「2009」も「2010」に変わるよう連動させたいのですが・・

セルの一部をリンクすることは可能でしょうか。

94:名無しさん@そうだ選挙にいこう
09/05/13 00:03:08
>>93
直接リンクさせるのは無理。
どこかに年を入れるセルを用意して、A1とB1を両方ともそこへリンクさせるしかない。
さもなくばVBA

95:名無しさん@そうだ選挙にいこう
09/05/13 00:27:52
>>93
無理矢理だけど。
=LEFT(A1,4)&("年11月1日〜11月30日")
自分ならひとつのセルにはひとつの年月日だけ入れて書式設定で表示する。

96:名無しさん@そうだ選挙にいこう
09/05/13 00:41:03
ごめん。質問の意味勘違いしてた。
2009年11月1日〜11月30日は固定だとしたらリンクは無理だね。
>>94の言うとおり。

97:名無しさん@そうだ選挙にいこう
09/05/13 01:12:28
>>95
更に無理やりな式。
=TEXT(DATE(LEFT(A1,4),MID(A1,6,FIND("月",A1)-6)+1,1),"yyyy年m月d日〜")&TEXT(DATE(LEFT(A1,4),MID(A1,6,FIND("月",A1)-6)+2,0),"yyyy年m月d日")

98:名無しさん@そうだ選挙にいこう
09/05/13 02:11:03
>>92
VLOOKUPで検索するのは左端の列。
見つかった同じ行の○列目を表示する。
しかし検索する左端はの列は1からの連番になってるから検索する必要はないんんだよ。
たとえば5を検索しても5番目にあるって決まってるからね。
15を検索したら15番目だ。

これでも分らなければ、君はVLOOKUPの式をINDEXとMATCHの式に置き換える勉強をした方がいい。
そうしたら分るようになるかも知らん。

99:名無しさん@そうだ選挙にいこう
09/05/13 06:47:43
>>94
いい事言うなあお前。
みんなが頭じゃわかっててもなかなか実践できない事を口に出して言えるなんざ大変な自信だよ。
それで出来てなかったらあのインチキ占いのバアさんと一緒だぞお前。
そんなに当たり前の事を言いたかったら尼さんにでもなってから説教したらどうだ。

100:名無しさん@そうだ選挙にいこう
09/05/13 08:34:57
どこを誤爆?

101:名無しさん@そうだ選挙にいこう
09/05/13 13:37:34
元のファイル見てないんであれだけど
慣れないVBAや関数使って苦労するぐらいなら運用と手計算でカバーした方が確実なんじゃないかね。
ここで何度も何度も質問を繰り返すレベルだとそのうち致命的なうっかりミスしそうで怖いんだが。

102:名無しさん@そうだ選挙にいこう
09/05/13 18:01:17
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel2007(多分)
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 EXCEL 文字化け ハングル
excelで自動計算する表を作りました。単位 kg/?の?のところがハングルに文字化けします。
グーグルで調べてニューグリムフォントを削除したら、ハングルは表示されなくなったのですが、
今度はkg/rと表示されてしまいます。きちっとkg/?と表示させるには、どうしたらよいでしょうか?

103:名無しさん@そうだ選挙にいこう
09/05/13 18:02:41
?のところは、全角立方メートルです。

104:名無しさん@そうだ選挙にいこう
09/05/13 18:06:15
>>102
文字化けしてるぞ。何の単位だ?
ここに書き込めないということは、ユニコードにしかない記号だと思うが
とりあえずMS UIゴシックにしてみ。

105:名無しさん@そうだ選挙にいこう
09/05/13 18:11:42
全角 立方メートル m3ってシフトjisにもあると思うのですけど。

106:名無しさん@そうだ選挙にいこう
09/05/13 18:12:21
>>102
挿入→記号と特殊文字→CJK互換文字

107:名無しさん@そうだ選挙にいこう
09/05/13 18:13:25
>>105
平方メートルはあるけど立法メートルはJISコードには含まれてない

108:名無しさん@そうだ選挙にいこう
09/05/13 18:38:49
?

109:名無しさん@そうだ選挙にいこう
09/05/13 18:53:59
この板はユニコード使えんよ

110:名無しさん@そうだ選挙にいこう
09/05/13 19:14:31
m3って書いて3を上付きにすればいいじゃない
機種依存文字を使うのはあんま良くないし(実際文字化けもしてるわけだし)

まあExcelで上付き文字使うのちょっとめんどいけどさ、何かコピペとかするたびに元戻っちゃうしね
でも文字化けするよりはいいと思う

111:名無しさん@そうだ選挙にいこう
09/05/13 20:48:18
>>109



112:名無しさん@そうだ選挙にいこう
09/05/13 21:09:51
cm?

113:名無しさん@そうだ選挙にいこう
09/05/13 21:27:20
>>112

cm³

114:名無しさん@そうだ選挙にいこう
09/05/13 21:39:46
m³ m³ m³

115:名無しさん@そうだ選挙にいこう
09/05/13 21:41:31
よくわからんが、IE8だと書けるのか?
テスト→?

116:名無しさん@そうだ選挙にいこう
09/05/13 21:42:35
orz

117:名無しさん@そうだ選挙にいこう
09/05/13 21:43:53
ocz ←キンタマにボールが当たったキャッチャー

118:名無しさん@そうだ選挙にいこう
09/05/13 22:27:59
ユニコード不可の板でも、ごく一部の記号だけは判定の関係で書けてしまう。
上付き文字はユニコードには0〜9まで全部あるけど、書き込めるのは 1 2 3 a の4つだけ。
一文字で「m3」みたいな記号は無理。

119:名無しさん@そうだ選挙にいこう
09/05/13 22:28:46
¹ ² ³ ª

120:名無しさん@そうだ選挙にいこう
09/05/13 22:54:19
?

121:93
09/05/13 23:42:35
レス遅くなり申し訳ありません。

>>94
「どこかに年を入れるセルを用意して、A1とB1を両方ともそこへリンクさせるしかない。」
ぁ!それです!!それで構いません。
そのセルからのリンク方法ってどうしたらいいんでしょうか。
そのやり方もググってみたもののヒットせず・・。


122:名無しさん@そうだ選挙にいこう
09/05/14 00:09:02
>>121
年を入れるセルをC1としたら(C1に例えば2009と入れておいて)

A1に =C1&"年10月1日〜10月31日
B1に =C1&"年11月1日〜11月30日

とかでいいわけ?

123:122
09/05/14 00:10:35
おっとごめん

A1に =C1&"年10月1日〜10月31日"
B1に =C1&"年11月1日〜11月30日"

後ろの"が消えてたわ

124:名無しさん@そうだ選挙にいこう
09/05/14 00:12:56
>>121
単純に別のセルに「2009」と入力するだけじゃね?
C1とか。
そのままC1に12月が入るのなら、例えばSheet2のA1にするとか。
(sheet2にした場合)
A1を「=Sheet2!$A$1&"年10月1日〜10月31日"」
B1を「=Sheet2!$A$1&"年11月1日〜11月30日"」
でどう?
ついでに言えば、D1に1月が入るのなら、
「=Sheet2!$A$1+1&"年1月1日〜1月31日"」
と、「A1+1」にしておけば、そのまま2010年1月になるし、
SHEET2を2010年にした場合は2011になる。

125:名無しさん@そうだ選挙にいこう
09/05/14 00:28:07
>>121
2009じゃなくて2009/10/1とか年月日ならリンク先の日付も変更しなくてすむよ。
A1に2009/10/1と入れる。
B1に
=TEXT(DATE(YEAR($A$1),MONTH($A$1)+COLUMN()-2,1),"yyyy年m月d日〜")&TEXT(DATE(YEAR($A$1),MONTH($A$1)+COLUMN()-1,0),"yyyy年m月d日")
と入れる。右にコピーしてもよし。

横じゃなくて縦の場合
A2に
=TEXT(DATE(YEAR($A$1),MONTH($A$1)+ROW()-2,1),"yyyy年m月d日〜")&TEXT(DATE(YEAR($A$1),MONTH($A$1)+ROW()-1,0),"yyyy年m月d日")

126:名無しさん@そうだ選挙にいこう
09/05/14 11:09:17
ちょっと質問なんですが
OSはXPでExcel2002を使ってます
複数のシート(8枚くらい)全部のA1:BT1000に
びっしり計算式が入れてあるのですが
全部のセルの左上肩に緑の三角が出てて
「エラーですよ・∀・」って教えてくれているんですが
これを全部「エラーを無視する」にして三角を消すと
計算速度が上がったりとか
メモリ的に軽くなったりとか
そういうメリットはありますか?
それとも見た目だけでこの三角はなんにも労力を使っていませんか?

127:名無しさん@そうだ選挙にいこう
09/05/14 11:30:21
緑の三角って2002以降で、文字型セルに数値が入ってる時に出てくるあれ?

128:名無しさん@そうだ選挙にいこう
09/05/14 12:03:39
>>126
体感できるかどうかはわからんが、理論上は動作が少し重くなる

129:名無しさん@そうだ選挙にいこう
09/05/14 14:46:33
文字でも図形でも、画面に何か表示するにはそれなりの処理が必要なんだが
実用上問題ないってんならわかるけど、労力ゼロってのはありえない

130:名無しさん@そうだ選挙にいこう
09/05/14 15:09:00
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

Sub Test()
If vbNo = MsgBox("ページを追加しますか?", vbYesNo) Then
Exit Sub
Else
Dim i As Integer

i = 98
Do
If Not Cells(i, 5).MergeCells Then
Range("A1:Y58").Copy
Cells(i - 39, 1).PasteSpecial Paste:=xlPasteFormats
Exit Do
End If
i = i + 58
Loop
End If
i = i + 18
ActiveSheet.PageSetup.PrintArea = "$A$1:$Y$i" ' ここの部分でエラー

End Sub

上の文で印刷範囲の変更の部分でエラーが出てしまい
自力では解決できませんでした
お力添えお願いいたします


131:名無しさん@そうだ選挙にいこう
09/05/14 15:45:55
EXCEL一家の楽しい会話
質問無いけど重宝してます
皆さん
多謝

132:名無しさん@そうだ選挙にいこう
09/05/14 17:01:06
>>130
"$A$1:$Y$i"

133:名無しさん@そうだ選挙にいこう
09/05/14 17:04:21
"$A$1:$Y$" & i

134:130
09/05/14 17:18:11
助けていただきありがとうございました

135:名無しさん@そうだ選挙にいこう
09/05/14 20:29:54
すみません。
2003を使ってますが、物の数だけカウントして
何が一番多いか、二番目は何かを調べたいのですが、
分かる方いますか?

例えば
お皿
はし
はし
コップ


と千行以上あり、毎日追加されています。
上の方に上位五までを自動ででるように
したいのですが。。


136:名無しさん@そうだ選挙にいこう
09/05/14 20:33:03
上の方にと言うのは
表示用のセルを作るという事です。



よろしくお願いします。

フィルターは使わず関数だけで解決できればと思います。


137:名無しさん@そうだ選挙にいこう
09/05/14 21:03:01
>>135
作業列にCOUNTIF関数で個数表示して
表示用セルにLARGE関数で上位5を表示させるとか。

138:名無しさん@そうだ選挙にいこう
09/05/14 21:08:26
なんでも関数でやろうと考えない方がいい。
とくにCOUNTIFなんか使うのはやめた方がいい。
ピボットテーブルで個数を数えて個数で降順にソートして、別のセルにピボットテーブルの上位5個にリンクを張るだけだな。
データが変わっても、更新すりゃちゃんとピボットテーブルは多い順に並ぶ。
5番目のデータが複数ある時を考慮するなら、リンクする式にLARGE関数を使ってちょい工夫するだけ。

139:名無しさん@そうだ選挙にいこう
09/05/14 21:10:01
上は>>137は読まないで書いたからね。
ごめんな。

140:138
09/05/14 21:16:20
>>138で最後に書いたLARGE関数だが、これは要らんな。
6行目以下の式はピボットテーブルの5番目のデータと比較すりゃいいだけだ。

141:名無しさん@そうだ選挙にいこう
09/05/15 00:18:15
特定する行の値に対して値を返したいのですがどうすればいいでしょうか?

例えばA1に1と入力されればB1に「あ」、A1が2の場合はB1に「い」と自動で入力されるような感じです。
どなたかご教授ください…。

142:141
09/05/15 00:37:51
たびたびすいません。
IF関数使おうとしたのですが返す値が一つなので困っています。

143:名無しさん@そうだ選挙にいこう
09/05/15 00:38:32
リストを作れば簡単だろ?
C1以下に





とリストがあれば
=INDEX(C:C,1)とすりゃ"あ"が返る。
間違っても番号を振ってVLOOKUPなんか使うなよ。


144:名無しさん@そうだ選挙にいこう
09/05/15 00:43:46
数がすくなけりゃCHOOSE関数でもいいか。
=CHOOSE(3,"あ","い","う","え")なら"う”だ。

145:名無しさん@そうだ選挙にいこう
09/05/15 01:00:40
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可

同一ブックでのコピペなんですが、その1はOKなのに、その2は
どこがダメなのでしょうか?

'その1
Worksheets("DATA").Select
Range("A1", Range("C65536").End(xlUp)).Copy
Worksheets("集計").Select
Range("A2").Select
ActiveSheet.Paste

'その2
Worksheets("DATA").Range("A1", Range("C65536").End(xlUp)).Copy _
 Destination:=Worksheets("集計").Range("A2")

146:名無しさん@そうだ選挙にいこう
09/05/15 01:05:10
なんで馬鹿って上から目線なんだろうな馬鹿な回答もどき書き散らしてんのに

147:名無しさん@そうだ選挙にいこう
09/05/15 01:05:36
わかりやすく書けよ・・

B1に=CHOOSE(A1,"あ","い","う","え","お")と入れ、以下必要なセルまでコピー

A1に1と入れれば、”あ”が返るし、2は”い”になるってことだ。


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

5045日前に更新/228 KB
担当:undef