Excel総合相談所 89at BSOFT
Excel総合相談所 89 - 暇つぶし2ch150:147
10/01/10 16:41:59
>>149
ありがとうございます。
> ・行数が少ないなら、列2を選んで挿入後、[↓][↓][F4][↓][↓][F4]・・・
→1000行あります。
> ・連番性があるならオートフィル
→ありません。
> ・どっかにソースとなる列があるならOFFSET/INT(ROW()/2)の組合せ
→ソースとなる列というのは、どういったことでしょうか?

単に空白行を一斉に挿入したいだけなのですが
かなり難解なことになりますか?

151:複乳 ◆MeiY43UMr.
10/01/10 16:56:12
自動化というのが入力してenter押すたびに空白一つあけるというならワカラン
入力されている列(ソース)がA列なら=IF(MOD(ROW(),2)=1,INDIRECT("r"&ROW()/2+0.5&"c1",0),"")
で下にオートフィル

152:名無しさん@そうだ選挙にいこう
10/01/10 17:27:30
>>147
単純に空白行を追加なら
VBAだと下記のコードを使えば出来る

For i = 7 To 2 Step -1
Rows(i).Insert Shift:=xlDown
Next i

153:144
10/01/10 17:40:40
>>146
サンクス!

154:名無しさん@そうだ選挙にいこう
10/01/10 18:25:22
エクセル2007。wniXP。文字抽出について。
質問です。よろしくお願いします。

A B C D E
1 **A A *2D* 2D
2 *B* B 3E** 3E
3 *E* E *1A* 1A

・   
B1=MID(A1,MIN(FIND({"A","B","C","D","E"},A1&"ABCDE")),1)

現在このような形(A,B列)で Aの文字列から Bにアルファベット(ABCDE)をぬきだしているのですが、
 
 1A,1B,1C,1D,1E, 2A,2B,2C,2D,2E, 3A,3B,3C,3D,3E, という文字を使用して(DE列のように)抜き出しをしたいのですが
うまくいきません。E1から順にD、E、Aとはでるのですが肝心な数字が抜き出せません。
どのようにしたらうまく抜き出すことができますか?
すみませんが教えてください。お願いします。



155:名無しさん@そうだ選挙にいこう
10/01/10 18:31:20
>>154 です。
ずれまくりですみません。

A列が上から順に **A,,*B*,,*E*
B列が上から順に A,,B,,E ,,,,,,,,,,,C列は空白です。
D列が上から順に *2D*,,3E**,,*1A*
E列が上から順に 2D,,3E,,1A

です。よろしくお願いします。
   

156:名無しさん@そうだ選挙にいこう
10/01/10 18:39:29
>>136
>>58の値全体を選択→データ→並べ替え→最優先されるキー”列B”選択
→”昇順”のラジオボタン選択→OKボタンクリック


157:名無しさん@そうだ選挙にいこう
10/01/10 19:38:18
>>154-155
B1の式をちょちょっとアレンジすればおK。↓

=MID(D1,MIN(FIND({"A","B","C","D","E"},D1&"ABCDE"))-1,2)

158:147
10/01/10 19:47:56
>>151
ありがとうございます。
=IF(MOD(ROW(),2)=1,INDIRECT("r"&ROW()/2+0.5&"c1",0),"")
の使い方が分かりません。
どこに入力すればよいのでしょうか?

>>152
ありがとうございます。
Pythonなら使ったことがあるのですが、VBAは無いので、
どこから何を起動してどう実行するのかすら分かりません。
どこにそのコマンドを入力すればよろしいでしょうか?

159:複乳 ◆MeiY43UMr.
10/01/10 21:01:14
>>158
B1に入れて下にオートフィル

160:158
10/01/10 21:06:34
>>159
ありがとうございます!
その方法でできました。
助かりました。

161:名無しさん@そうだ選挙にいこう
10/01/10 21:32:48
【1 OSの種類         .】 Windows XP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 練習中
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 値貼り付け

マクロを使って、セルM11の値をセルA10に貼り付けるようにしたいです。
(セルM11は他シートの入力状況によって変わる)
セルA10は、A10~E10を結合したものになってます。

普通にマクロの記録で作ろうと試みましたが
コピー先のセルが結合されたものなので、うまくいきません。
助言お願いします。

162:複乳 ◆MeiY43UMr.
10/01/10 21:37:50
>>161
Range("A10") = Range("M11")
結合されてると値の貼り付けできないのか。知らなかった
一度結合解除して値の貼り付け、再結合というのはどうだろう


163:名無しさん@そうだ選挙にいこう
10/01/10 21:39:03
>>133
ありがとうございます
明日買ってきます

164:名無しさん@そうだ選挙にいこう
10/01/10 21:55:29
>161
Range("A10").Value = Range("M11").Value
で試してみましたか? 転記元、転記先のセル結合に左右されないはずですが?
セル位置の指定は結合されたセルをクリックしたときに名前ボックスに表示されたものを指定してください。

165:名無しさん@そうだ選挙にいこう
10/01/10 22:02:57
>>161
Sub hoge()

Range("A10").Value = Range("M11")

End Sub


166:名無しさん@そうだ選挙にいこう
10/01/10 23:27:29
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 集計

シート名が"01"から"12"までのシートと"集計"という名のシートがあるとします。

"01"から"12"のA列に商品名を入力し、その隣(B列)に金額を入力しています。
入力数(行)は最大でも10個(行)です。ただし、入力数は各シートバラバラです。

"集計"シートに"01"から"12"に入力したデータをきれいに並べたいのです。コピペ
を使用するのではなく、自動的に並べられている形にしたいのですが、教えて下さい。

例えば、

商品名A1 \10
商品名A2 \20
商品名A3 \30
商品名A4 \40 ← ここまでは"01"シートに入力されているデータ
商品名B1 \15
商品名B2 \25
商品名B3 \35 ← ここまでは"02"シートに入力されているデータ
商品名C1 \20 ← "03"シートに入力されているデータ
商品名D1 \30
商品名D2 \50 ← ここまでは"04"シートに入力されているデータ
・・・

という集計表を作成したいのです。(無駄な余計な行は省かれている状態です)

よろしくお願い致します。


167:名無しさん@そうだ選挙にいこう
10/01/10 23:39:01
>>166
ワークシート関数だけだと「不要な行を詰める」って作業は非常にめんどくさい。
素直にVBA使え。

168:名無しさん@そうだ選挙にいこう
10/01/11 00:24:25
>>166
12シート程度なら手作業で並べたらいい。
今後はそんなシート作らないことだな。
最初から1シートにするのが常識。


169:複乳 ◆MeiY43UMr.
10/01/11 01:48:13
>>166
Sub ポケットビスケッツは名曲揃い()
Dim unko As Variant
unko = Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12")
nyu = 1

For i = 0 To 11
fuku = Sheets(unko(i)).Range("A1000").End(xlUp).Row
Sheets(unko(i)).Select
Range(Cells(1, 1), Cells(fuku, 2)).Copy
Sheets("集計").Select
Cells(nyu, 1).Select
ActiveSheet.Paste
nyu = nyu + Sheets(unko(i)).Range("A1000").End(xlUp).Row
Next
End Sub
>>168
(キリッ

170:名無しさん@そうだ選挙にいこう
10/01/11 02:07:31
>>169
こんなマクロ組んで「これでいつでも12シートを1シートにまとめられるぜ。」
などとやっても本当の解決ではないんだがな。
データを月別に12シートに分けるようなバカ癖を治してやらないと。


171:複乳 ◆MeiY43UMr.
10/01/11 02:24:33
一体この人は誰と戦っているんだ

172:名無しさん@そうだ選挙にいこう
10/01/11 02:33:47
>>171
お前の回答はいつもこの調子だからな。
無知な質問者の希望通りのバカ正直な回答ばかり。
つまらん。


173:名無しさん@そうだ選挙にいこう
10/01/11 02:42:57
俺は複乳と戦うぜ
てめえのコードは無駄が多いんだよっ

Sub Macro111()
  Sheets("集計").Select
  Cells.Clear
  [A1].Select

  For i = 1 To 12
    Sheets(Format(i, "00")).Select
    Range([A1], [A1].End(xlDown).Offset(0, 1)).Copy
    Sheets("集計").Select
    ActiveSheet.Paste
    Selection.End(xlDown).Offset(1, 0).Select
  Next
End Sub

174:名無しさん@そうだ選挙にいこう
10/01/11 02:45:46
>>173
あほか。
私は複乳のコードにケチをつけているのではない。
「12シートを1シートにまとめるマクロ」を使って12シートを放置する発想が悪いのだ。
お前も複乳と同レベルだってこと。


175:名無しさん@そうだ選挙にいこう
10/01/11 02:52:07
無駄というか間違ってる。

176:複乳 ◆MeiY43UMr.
10/01/11 03:00:48
>>172
正規化なんてデータさわってたら誰でも覚えるだろうし
覚えない奴は見込みも内からVBAの力技でやるほうが早いと思うがねぇ
勉強させたいならどこかサイトのリンクでもはってあげれば?
向上心のある人なら見るんじゃないかなぁ

177:名無しさん@そうだ選挙にいこう
10/01/11 03:07:50
>>176
今回のケースは正規化と関係ないよ。
お前が力技しか知らないんだろ?


178:名無しさん@そうだ選挙にいこう
10/01/11 03:15:59
>>176
VBAで力技で解決するんだったらそもそも最初っからExcelなんか使わなくていい。


179:名無しさん@そうだ選挙にいこう
10/01/11 03:40:49
共有がなければExcelで十分だよ

180:名無しさん@そうだ選挙にいこう
10/01/11 09:35:36
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 絶対参照、複合参照、ショートカット


複合参照($A$1)のショートカットを調べると、F4キーを押すと書いてあったのですが、
甘く変わってくれません。

ショートカットの設定を何かしなければいけないのでしょうか。



181:名無しさん@そうだ選挙にいこう
10/01/11 10:03:11
>>180
数式バーの中で、変更した箇所をクリックしてF4押してみて。

182:名無しさん@そうだ選挙にいこう
10/01/11 10:05:19
>>180
>甘く変わってくれません。


例えば=A1と入力してF4押してみ?

183:名無しさん@そうだ選挙にいこう
10/01/11 10:31:07
>>181-182
ありがとうございます。
出来ました。

既に式が入力されていてそれを修正していくためには、一つずつ変えていくしかないんですね。

184:名無しさん@そうだ選挙にいこう
10/01/11 10:39:59
>>183
置換したらどうよ?


185:名無しさん@そうだ選挙にいこう
10/01/11 10:43:36
>>183
ってか、絶対参照ってのは式をコピーしても参照位置が変わらないようにする為なんだから
一つ変更した後に式をコピーしたらどうよ?

186:166
10/01/11 12:56:56
>>167-173
回答ありがとう御座いました。
参考にさせていただきます。

ちなみにデータを月別に12シートに分けているのではなく、実際は日別に31のシートがあり
そのシートの中の一部の項目のデータを集計したかったのです。

また、煮詰まったらよろしくお願いします。

187:名無しさん@そうだ選挙にいこう
10/01/11 13:39:18
>>186
いっそのこと1日1シートにしろ。
ポケビのマクロがあるから大丈夫だ。

188:名無しさん@そうだ選挙にいこう
10/01/11 14:08:47
>unko = Array("01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12")

ホントに雲子だなw

189:名無しさん@そうだ選挙にいこう
10/01/11 14:18:50
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】エクセル 無作為 抽出


A1からA20まで5,8,11,258,26,28…など規則性のない数字が並んでいて、
そこから無作為に6つ数字を選びたい(選んだ数字をB1からB6に表示させたい)
んですが、どのような式を作ればよいでしょうか?重複しないでF9などのキーを
押すたびにちがう6つの数字が選べるようにしたいのですが。よろしくおねがいします。

190:名無しさん@そうだ選挙にいこう
10/01/11 14:44:12
隣の列にRNAD()ワークシート関数で[F9]して並べ替えが一番単純かなあ
それでINDEXかなんかで上から6個表示させるとか

191:名無しさん@そうだ選挙にいこう
10/01/11 14:59:34
すみません、1つ教えて下さい。
Excel2007ではExcel2003の様な、オートフィルターをかけて、
2003ではやれた、その列の文字列を含むの様にしてフィルタリングが可能なのでしょうか...?

192:名無しさん@そうだ選挙にいこう
10/01/11 14:59:42
>>190
そうですね。ありがとうございます。

個人的に使うものなので見てくれなどどうでもいいので、
教えていただいた方法が簡単にできますね。
頭が回りませんでした。どうもありがとうございます。


193:名無しさん@そうだ選挙にいこう
10/01/12 01:26:27
Excelで日付でオートフィルを掛ける場合、ある時刻のセルだけフィルターするにはどういう設定が必要でしょうか?
何日(時刻付き)のセルがあって、そこから同じ時刻だけフィルターする仕組みです。

194:名無しさん@そうだ選挙にいこう
10/01/12 03:57:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】(0,0) 原点 共通 excel 使い方

x軸、y軸ともに0から始まる場合、見栄えを良くするために
原点座標の0を一つにしたいのですが、やり方を教えてもらえませんか?
よろしくお願いいたします。


195:名無しさん@そうだ選挙にいこう
10/01/12 05:23:11
>>193
日付入力(=NOW()での時刻付き日付と同じ表示で)後、まずセルの書式設定
→ユーザー設定→d"日" h:mmとする。
で、ふつうにオートフィル”連続データ”でかければ時刻は同じで日付だけ
一日ずつ増えていきます。

>>194
オートシェイプの線無し四角を使ってどちらかのゼロを隠してしまえばいいかと。

196:名無しさん@そうだ選挙にいこう
10/01/12 08:28:24

【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 OLEObject ComboBox 代入 参照 変換

ワークシート上に配置されたComboBox1~ComboBox9を
Sheet1.OLEObjects("ComboBox" & i)
を使って取得し、ComboBox型の変数に参照代入する方法を教えてください。

  Dim cbo as OLEObject
  Set cbo = Sheet1.OLEObjects("ComboBox1")

であれば問題なく取得できますが

  Dim cbo as ComboBox
  Set cbo = Sheet1.OLEObjects("ComboBox1")

とすると、型が違うとエラーが出ます。しかし

  Dim cbo as ComboBox
  Set cbo = Sheet1.ComboBox1

では正常に取得できる為、ComboBox1の型がas ComboBoxであることは間違い有りません。
実際の宣言ではWithEventsで宣言する為、as OLEObjectやas Variantで誤魔化すことは出来ません。

宜しくお願いします。


197:名無しさん@そうだ選挙にいこう
10/01/12 09:54:02
>>196
普通にSheet1.OLEObjects("ComboBox1").Objectでいいんじゃね?

198:名無しさん@そうだ選挙にいこう
10/01/12 09:55:12
でもシート上にMSFormsのコントロール使うのやめておいたほうがいいぜ
2007以降はほとんど見捨てられてるから

199: ◆tHwkIlYXTE
10/01/12 11:03:28
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 わかりません
【4 VBAでの回答の可否】 わかりません
【5 検索キーワード     】??
初めまして。3・4・5は意味からしてわからない初心者です。
説明も読みましたが、さっぱり理解できません・・・
エクセルでできるか・できないかの質問です。(もしできなければ出来るソフトを教えていただけると助かります。)
24Hの表を作成し、稼動した時間に線を引っ張るだけで、合計欄に一日の稼動合計時間が出るような表を作成したいのですが、エクセルでできますか?
説明がヘタだったらスミマセン・・・

200:名無しさん@そうだ選挙にいこう
10/01/12 11:06:03
>199

出来る。

201: ◆tHwkIlYXTE
10/01/12 11:11:30
>>200
回答ありがとうございます。
できるんですね。ちなみにどうやったらできますか?
3・4・5の意味もわからない私に作成できますかね?

202:名無しさん@そうだ選挙にいこう
10/01/12 11:17:20
>>201
3,4の意味が分からないなら作れないと思うよ。
VBA使わないと無理。

203: ◆tHwkIlYXTE
10/01/12 11:25:00
>>202
そうなんですね・・・・
エクセルの本とかに載ってますか?購入しようと思ったのですが、どれを購入したらいいかサッパリわかりません。
お勧めはありますか?

204:名無しさん@そうだ選挙にいこう
10/01/12 11:41:41
>203

>2・B参照
君の知識レベルならどれを買っても一緒だろ。

205:名無しさん@そうだ選挙にいこう
10/01/12 14:19:27
まずどうやって線を引くつもりなのか

206:複乳
10/01/12 16:19:21
>>199
単位時間は何分かね

207:名無しさん@そうだ選挙にいこう
10/01/12 16:30:26
あと1か月。就職までにWord, Excelのスキルアップに必要な時間です。
スレ読みも勉強になると思って、Excelの総合スレはここにみつけたけど、
なぜ一番ポピュラーでありそうなWord総合スレがないの?

208:名無しさん@そうだ選挙にいこう
10/01/12 17:06:14
需要がないからに決まってんだろ

209:207
10/01/12 17:07:32
Why not?
習得したい事柄はたくさんあるんだけど

210:名無しさん@そうだ選挙にいこう
10/01/12 17:17:26
じゃあその習得したいことをぐぐればいいだろう。
ゆとり全開だな

211:複乳
10/01/12 18:07:38
Wordとかインデント、テキストボックス辺り覚えておけば文書はできるからな
後は雛形を使いまわせばなんとでもなる
見た目を重視するならパワーポイントじゃないか
と思って検索したらやっぱりあった

212:名無しさん@そうだ選挙にいこう
10/01/12 18:37:24
>>211
どこですか?

213:複乳 ◆MeiY43UMr.
10/01/12 19:32:18
スレッド一覧開いてpowで検索したら見つかる


214:名無しさん@そうだ選挙にいこう
10/01/12 19:43:09
>>213
Powerpointしか見つかりませんよ?

215:複乳 ◆MeiY43UMr.
10/01/12 20:59:16
パワーポイントスレな
ワードは無いよ。別にいらんでしょ

216:複乳 ◆MeiY43UMr.
10/01/12 21:00:04
★Word/Excel (MS-OFFICE) 初心者スレッド Part37★
スレリンク(pcqa板)
そういやこんなスレがあったな

217:207
10/01/12 21:02:08
複乳さんはやさしいですね

218: ◆tHwkIlYXTE
10/01/12 21:11:48
>>206
30分単位です。
何種類か基本・初めて系の本見ましたが、載ってなかったんです(泣)

219:名無しさん@そうだ選挙にいこう
10/01/12 21:18:08
>>214
あんなお節介で、頼んでもいないことを平気で実行する変態ソフトは、
だれも使わないから、スレが無いんじゃない?
ちなみにオレは一度も使ったことがない。

220:複乳 ◆MeiY43UMr.
10/01/12 21:29:35
>>218
そんな気色悪いこと普通しないからなぁ
まぁB1に0、C1に0.5、D1に1と右に0.5刻
A2に=COUNTIF(B2:AX2,"-")/2
後は二列目に-を入力するとか、条件付き書式でパターン設定とか
>>219
あのお節介機能全部を止めてくれたら少しは使うんだけどねぇ

221:214
10/01/12 21:41:44
>>219-220
おせっかい機能は切ればいいじゃん
そのやりかただけは知ってるよ

ツール→オートコレクトのオプションで、
オートコレクトのタブにあるチェックボックスを全部はずして
入力オートフォーマットのタブにあるチェックボックスも全部はずす

これだけですごいスッキリさ

222:名無しさん@そうだ選挙にいこう
10/01/12 21:43:19
With Worksheets(DATA)
  .Range("A3") = ""
  .Range("A3").Interior.ColorIndex = 36
  .Range("A3").NumberFormatLocal = "0_ "
End With

 ↑これを更に短縮して、↓にしたらダメですた。これ以上はムリなの?

With Worksheets(DATA).Range("A3")
  . = ""
  .Interior.ColorIndex = 36
  .NumberFormatLocal = "0_ "
End With

223:複乳 ◆MeiY43UMr.
10/01/12 22:05:25
>>221
すごいな、ありがとう
でもword手元に無いし仕事場でも使ってないな・・
>>222
With Worksheets(DATA).Range("A3")
.Value = ""
ピリオドごと略した場合はvalue。ピリオドだけ残すということは出来ない
理由は知らん

224:名無しさん@そうだ選挙にいこう
10/01/12 22:15:52
横から失礼します
せっかく書いたので投稿します

 Range("A3") = ""

 Range("A3").Value = ""
を省略した形なのね
(Valueがデフォルトプロパティなので省略できるだけ)

デフォルトプロパティは
なるべく省略しないほうが良いと思う

225:505
10/01/12 22:47:19
>199,201,218
ちょっと作ってみました。前提条件は
・セルの塗りつぶしを行うことで稼動したことを示す(塗りつぶしの色は問わない)
・VBAマクロ中の B:AW(48列) は24時間を30分で区切ったもの
・同じく、Array(4, 6, 8, 10, 12)は集計対象行を列挙したもの・当方はWinXP(sp3)のExcel2003
Option Explicit
Dim tate As Variant, yoko As Integer, gyo As Variant, cnt As Integer, 列範囲 As String, 始 As Integer, 終 As Integer
Sub 稼動時間集計()
 列範囲 = "B:AW
 gyo = Array(4, 6, 8, 10, 12) : 始 = Range(列範囲).Column : 終 = Range(列範囲).Columns(Range(列範囲).Columns.Count).Column
 For Each tate In gyo
  cnt = 0
  For yoko = 始 To 終
   If Cells(tate, yoko).Interior.ColorIndex <> -4142 Then REM -4142は塗りつぶしなし
    cnt = cnt + 1
   End If
   Next yoko
   Cells(tate, 1).Value = cnt / 2 REM 2で割ってA列に時間数を出力
 Next tate
End Sub

シートの設定
B:AW列はセル幅を狭くして一画面に収まるようにする(WXGAの画面ならセル幅は2.25とか)
B2:C2、D2:E2、・・・AV2:AW2まで1時間単位でセル結合し、0から23の数字を入力

使い方:一人目の稼動時間設定ならば4行目で(線をひっぱるようなイメージで)セルを選択して塗りつぶしを行う。飛び飛びなら[Ctrl]を押しながら選択することもできる。
セルの塗りつぶしが終わったら、[Alt]を押しながら[F8]を押すと、マクロ一覧が表示されるので
「稼動時間集計」を選択して[実行]をクリック。→A4、A6、A8、A10、A12セルに時間数が表示される。

226:225
10/01/12 22:49:59
>225のメール欄 505 は意味ありません。
それから、白で塗りつぶしはしないでください。”塗りつぶしなし”とは違います。

227:222
10/01/12 23:13:33
>>223-224
ありがと、勉強になりますた(ぺこっ

228:名無しさん@そうだ選挙にいこう
10/01/13 09:52:05
ピボットテーブルで漢字をフリガナ順に並べるにはどうすれば良いでしょうか
phonetic関数で調べたところ、フリガナ情報は消えているようです


229: ◆tHwkIlYXTE
10/01/13 09:53:49
>>220
本を購入したりはしないんですね・・・
さすがです。でもホントに初心者なんだもん!!(泣)

>>225
ありがとうございます。なんとか友達に聞いてやってみます。

230:名無しさん@そうだ選挙にいこう
10/01/13 10:48:09
ググッてみてもいまいちだったので質問です。
日付入力にて 220113 と入力した結果を 「平成22年1月13日(水曜日)」と表示させたいのですが
ユーザー定義に 「ggge"年"m"月"d"日("aaaa")"」等を入れても
 「平成514年8月24日(木曜日)」となってしまいます。
何が足りないのでしょうか。


【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel2003 sp3
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否 
【5 検索キーワード     】 excel 曜日 日付 シリアルとは

231:名無しさん@そうだ選挙にいこう
10/01/13 10:53:22
>>230
H22.01.13かH22/01/13と入力する
どうしても220113で日付を表示させたいなら
=TEXT(DATE(LEFT(A1,2)+1988,MID(A1,3,2)*1,RIGHT(A1,2)*1),"ggge年m月d日(aaa)")

232:名無しさん@そうだ選挙にいこう
10/01/13 11:03:50
>>231
早急なレスありがとうございます。本当にありがたいです。
とりあえずの謎が解けました。
3行目の内容は細かく理解できませんが、十分なヒントを貰っているので自分で調べてみます。

233:名無しさん@そうだ選挙にいこう
10/01/13 11:57:11
助けてください><

A.xls のAシートを新しいブックにコピーを作成 ◆

B.xlsを開く のBシートを前述の新しいブックに移動

新しいブックを保存

というようなマクロを作っています。

ここで、◆の動作を繰り返すと、新しくできるブック名が、Book1、Book2....と変わっていく為、
A.xlsをその都度開いたり閉じたりして対応しています><

A.xlsを開っぱなしで、上記マクロを繰返にはどのように対応すればいいですか><

Sheets("A").Copy
Workbooks.Open Filename:="B.xlsのパス"
Sheets("B").Move After:=Workbooks("Book1").Sheets(1)

保存処理。

ちなみに女じゃありません><

234:名無しさん@そうだ選挙にいこう
10/01/13 12:20:50
>>228
フリガナを別の列に入力してピボットに加える

235:名無しさん@そうだ選挙にいこう
10/01/13 13:16:48
>>233
A.xls とB.xlsのシートを新規Bookにコピーするのか?
それともB.xlsのシートを新規のBookにコピーするってことか?
そこら辺がよくわからん

どっちにしてもBookを変数に入れればOKだろ

236:名無しさん@そうだ選挙にいこう
10/01/13 13:31:12
>>235
ありがとう。
◆の処理で出来た新規BookにBのシートを移動させるんです。

Sheets("B").Move After:=Workbooks("Book1").Sheets(1)

のWorkbooks("Book1")を変数で処理すればいいんでしょうが、
◆の処理を繰返すとできるBook1,Book2....に対応はどうすればいいんですか><

あ、◆で出来るBook名を取得すれば対応できるのか><

Sheets("A").Copy

NewBookName=ActiveWorkbook.Name

Workbooks.Open Filename:="B.xlsのパス"
Sheets("B").Move After:=Workbooks(NewBookName).Sheets(1)


たぶんこれで解決しました><ありがとうございました><

237:名無しさん@そうだ選挙にいこう
10/01/13 22:01:39
><   ←これ何?

238:名無しさん@そうだ選挙にいこう
10/01/13 22:11:22
【1 OSの種類         .】 WindowsXP Pro
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ

こういう変数の使い方はおkですか?

Sub 長澤まさみ()
 Call 新垣結衣
 Call 綾瀬はるか
End Sub

'------------------------
Sub 新垣結衣()
 Dim RNG As Range
 Set RNG = Range("A1:B3")
End Sub

Sub 綾瀬はるか()
 Dim RNG As String
 RNG = "A1:B3"
End Sub

239:名無しさん@そうだ選挙にいこう
10/01/13 22:13:28
>>237
手だと思う

240:名無しさん@そうだ選挙にいこう
10/01/13 22:15:20
VBAを勉強したいけど、皆さんはどうやって学習しました?
目的がないと上達しないよね…。
何時間くらいの学習で基本的なことは網羅出切るんだろうか?

241:名無しさん@そうだ選挙にいこう
10/01/13 22:49:59
目的があっても上達しません><
いまだに、If と Select Case の使い分けができません><

242:名無しさん@そうだ選挙にいこう
10/01/13 23:19:45
>>239
目。
(><;) 困ってるように見える。

>>240
俺は仕事上で覚えた。
初歩的な動作や文法は、マクロ記憶して、そのコードを観察して覚えたわ。

243:239
10/01/13 23:47:10
>>242
だから手じゃないか
目をこすってる手

244:名無しさん@そうだ選挙にいこう
10/01/13 23:56:14
ちげーよw目だよ目
URLリンク(riceballman.fc2web.com)

245:名無しさん@そうだ選挙にいこう
10/01/14 00:03:12
>>244
おお。こりゃまいった。

ではついでに聞くけど、この顔文字(↓)はなんなの?好きな子が使ってるんだ。
(*'V`艸)☆+

246:名無しさん@そうだ選挙にいこう
10/01/14 02:14:59
>>245
中指立ててる代表的なAA
話をしたくない嫌いな人に対して表現する場合が多い

247:複乳
10/01/14 08:54:28
>>237
ガイドライン板でちんぽっぽで検索すればよろし
>>240
マクロの記録を改変するところからでいいんじゃないかな。
後はifとfornext覚えれば大体okと思う

248:複乳
10/01/14 08:55:18
>>245
投げつけられた手裏剣を両手でガードしてるところ

249:名無しさん@そうだ選挙にいこう
10/01/14 16:10:02
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

現在請求書を作ってます。といっても親戚宛てなのでエクセルの勉強がてらです。

条件:
A、「○年○月1日~末日 利用料金」という先月分の請求書です。
B、先月分の代金を今月につくって印刷します。
ですが、その月の何日に作るかは決まってません。

a1=today()。 いままではyearとmonth関数使って○に入れてました。
=YEAR(a1)&"年"&MONTH(a1)-1&"月1日~末日 利用料金"
ですが今月は0月になってしまいます orz

=YEAR(a1)&"年"&MONTH(a1-32)&"月1日~末日 利用料金"
だと強制的に先月になりますが、1日に作成したら先々月になる気がします。

Q、ifを使って場合分けすると長くなるのでいやなのですが、
if以外で回避するスマートな方法ってありますか?

250:複乳
10/01/14 16:22:07
>>249
date関数で0日にすると、先月の末日になる
=DATE(YEAR(A1),MONTH(A1),0)
後はここから月を取りたければ
=month(DATE(YEAR(A1),MONTH(A1),0))
のようにすればいい。それかtext関数とかアンパサンドとかやり方は色々
=TEXT(DATE(YEAR(A1),MONTH(A1),0),"yyyy年m月")&"1日~末日 利用料金"

251:名無しさん@そうだ選挙にいこう
10/01/14 16:55:40
ありがとうございました。
末日も○日にしてdate(,,0)にしたらかっこよくなりました。

月によって28 30 31とあるので末日としてお茶を濁して
あきらめてました。
>>250

252:名無しさん@そうだ選挙にいこう
10/01/14 18:03:29
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 多少
【4 VBAでの回答の可否】 可
毎月、その前月分の書類を作成する際、A1セルに「○月分」と自動に表示されるようにしたいのですが…
(「月分」はB1セルです。)
今まで
A1=month(todaY())-1
としていたのですが、年が開けて12月分を作ろうとすると
当然ながら「0月分」となってしまいます。
この処理は月の前半に行うので
A1=month(today()-15)とひとまず措置?しましたが
もっとスマートな方法はないでしょうか。

253:252
10/01/14 18:05:45
すいませんすぐ上にそっくりな質問がありました。
ごめんなさい。

254:複乳
10/01/14 18:12:40
みんなやってること同じなんだよな
実は俺も0月になってた
MOD(MONTH(A1)+1,12)
なんかも使えるぜ

255:238
10/01/14 19:24:25
ねぇねぇ、教えて♥

256:名無しさん@そうだ選挙にいこう
10/01/14 19:38:35
おいらならこうするけど

=TEXT(A1-DAY(A1), "yyyy年m月""1日~末日 利用料金""")

257:名無しさん@そうだ選挙にいこう
10/01/14 20:05:28
【1 OSの種類         .】 Windows Vista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 excel word 文字 書き出し

お願いします。
「D:\管理」の中にフィルダ名に法則性のないフォルダかたくさんあります。
更にそのフォルダ中に「請求書.docx」があります。
そのファイルの中の最初の改行までが「会社名」でその一覧をExcelに
書き出したいのです。
どのようなコードを書いたらいいでしょうか?

258:名無しさん@そうだ選挙にいこう
10/01/14 22:34:22
>>238
別にOK

プロシージャ単位で宣言しているなら
変数名がたとえ同じだとしても他への影響を最小限にできる為

とゆうか、変数はなるべくプロシージャ単位で宣言し
なるべくグローバル変数は使わない方がいい


259:名無しさん@そうだ選挙にいこう
10/01/15 00:09:24
規制されているので、携帯から失礼します。

オープンオフィスなんですけど、ここで質問してもよろしいですか?

【1 OSの種類         .】 Windows 7
【2 Excelのバージョン   】オープンオフィス
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 不可
【5 検索キーワード     】 マイナスだった場合0に 前日比

仕事場の売り上げ表が未だに紙媒体だったので、ちょっと作ってみようと思ったら難しいですね…

先月終値  1日 差  2日 差  3日 差  4日 差・・・
48     50 2 55 5  64 9       ・・・
のように、前日の数字を引いた数字を差に出したくて
差の部分に=C2-B2のように、ただ単に引いていたんですが
まだ未記入の部分を0と認識しているみたいで、4日の差の部分が-64と表示されてしまい
そのせいで、月最後の売り上げまとめのSUMが全て記入するまで-になってしまいます。
これを無記入部分を無視、かマイナスを0に表示するにはどうしたらいいですか?
excel勉強すればよかったなぁ…


260:名無しさん@そうだ選挙にいこう
10/01/15 00:50:09
>>259
OpenOffice.org 総合相談所 7
スレリンク(bsoft板)

261:名無しさん@そうだ選挙にいこう
10/01/15 01:51:52
>>260ごめんなさい、ありがとうございます。
移動します。

262:名無しさん@そうだ選挙にいこう
10/01/15 01:54:17
>>259
ちなみにD1より横に1セルおきに”差”の文字が入っていて
C2=50 D2=2 E2=55 F2=5 G2=64 H2=9 ・・・であった場合、
J2 =IF(J1="差";IF(OR(G2="" ;I2="");"";IF(I2=0;0;I2-G2));"")
で、右へオートフィルかけておけばおK。

263:名無しさん@そうだ選挙にいこう
10/01/15 10:14:26
>>257
VBA使えないなら諦めれw
ここに1から10まで書いてくれる人はいないだろう。

俺が作るなら、

「管理」フォルダ内の階層(フォルダ名)を取得

個々のフォルダ内のファイル名を取得

ループさせて請求書.docxがあったら

ワード文章取得

一行目を会社名表示用のシートにコピペ

以上の繰り返し。

個々の処理はグーグル先生に聞けばわかると思う。

264:名無しさん@そうだ選挙にいこう
10/01/15 11:20:02
>>257
こんな感じかな。「D:\管理」以下の1階層目のフォルダ内の「請求書.docx」の1段落目のテキストをセルに書き出し。

folderPath = "D:\管理"
docxName = "請求書.docx"

Set w = CreateObject("Word.Application")
Set fso = CreateObject("Scripting.FileSystemObject")

For Each f In fso.GetFolder(folderPath).subfolders
 fileName = f.path & "\" & docxName
 If fso.fileexists(fileName) Then
  ActiveCell.Value = w.documents.Open(fileName).Paragraphs(1).Range.Text
  w.documents.Close
  ActiveCell.Offset(1).Activate
 End If
Next

w.Quit

265:名無しさん@そうだ選挙にいこう
10/01/15 11:34:43
質問です><

とあるエクセルファイルを作成し、デスクトップに保存するマクロを作っています。
ある程度統一したファイル名で強制保存させます。

その処理において、ファイル名が重複していた場合、上書きを回避させたいんです><

強制保存の処理をさせる前に、重複するチェックをしたいんです><
助けて下さい><

Fname = "あ"

重複チェック→重複していたら、Fname = "あ(2)"的な処理

強制保存

あ(2)があった場合は、あ(3)....っていうふうにしたいんです><

266:名無しさん@そうだ選挙にいこう
10/01/15 12:21:13
質問させてください
A列の1から150まで連番でファイル名を書いているのですが、拡張子を追加で付け加えなければならなくなってしまいました

現在セルに入力されている値に後方追加で文字列をいれることはできますでしょうか?
ひとつひとつやると日が暮れてしまいそうなのでなんとかお願いします

267:名無しさん@そうだ選挙にいこう
10/01/15 12:23:55


268:名無しさん@そうだ選挙にいこう
10/01/15 13:08:18
>>266
B列に
=A1&"拡張子"

150行までバーーーってやって
関数を取っ払いたいなら、B列をコピー→値だけ貼付け

269:名無しさん@そうだ選挙にいこう
10/01/15 15:44:04
XP Excel2000
2つのエクセルファイルを開くと、

あるPCは、同一のExcel.exeで開いて
あるPCは、2つのExcel.exeで開く。

プロセス上に、前者はExcel.exeが1つ、後者は2つできる。

これはどこの設定によるものなの?

270:複乳
10/01/15 15:59:32
>>269
オプションのどこかにあるほかのアプリケーションを無視する
ってとこ

271:名無しさん@そうだ選挙にいこう
10/01/15 16:14:44
>>269-270
質問して自分で答えてるんですか?

272:269
10/01/15 16:20:08
>>270
チェックしたり、外してみたりしたけど、何も変わらないよぉ。。。。
どうしてこういうこと聞くかというと
とあるアプリで、エクセルを影で起動させてるんだ。

で、>>269の前者の場合、ユーザーが他のエクセルを開くと、
同じプロセスでやっちゃうから、アプリ側でエラーがでちゃうの。

これを回避したいんだ。

273:名無しさん@そうだ選挙にいこう
10/01/15 16:27:11
ファイルの開き方にもよるけど、普通は同一プロセスで開くんじゃないかな
ダブルクリック時に別のプロセスで開くとかは、コマンドラインオプションかなんかを自分で指定してやる必要があると思った。ぐぐってみて
そもそもは同じプロセスだとエラーが出るって言う糞アプリとやらがおかしい話なんじゃないの?

274:複乳
10/01/15 16:37:56
>>271
どこか自演臭かったか?
>>272
vbaかなにかで別プロセスにしたいなら、先にexcel.exeを起動してから
ファイルをオープンするようにするといいかも
他のアプリ~でできない場合はよくわからん

275:269
10/01/15 17:17:50
>>273
まぁそうなんだけどね^^;

>>274
VBのアプリからエクセル開いて、そのプロセスを他のエクセルに使わせたくないんだ。

ちなみにぐぐりまくったら出てきた。
これでいけるのかなぁ。

  bDDE = xlApp.IgnoreRemoteRequests
  xlApp.IgnoreRemoteRequests = TRUE

  処理

  xlApp.IgnoreRemoteRequests = bDDE  '元に戻す。


奥深いねぇ。

276:名無しさん@そうだ選挙にいこう
10/01/15 18:16:49
>>275でうまくいったぞー(^o^)ノ

277:名無しさん@そうだ選挙にいこう
10/01/15 18:18:46
ワークシート1枚にひとつき分の報告書が連なっているんですが
すべて同じ様式なので、指定したセルをすべてのワークシートから抽出して
ワークシート名と共に並べるってことは出来ますか?

278:名無しさん@そうだ選挙にいこう
10/01/15 18:20:46
>>277
よくわからないけど、できると思う。

279:265
10/01/15 18:30:56
>>265
誰か><

280:名無しさん@そうだ選挙にいこう
10/01/15 18:39:57
>>279 ファイル名の後ろにランダムな数字を加えれば重複はしない

281:名無しさん@そうだ選挙にいこう
10/01/15 18:46:28
>>280
したりするんだなこれが

282:265
10/01/15 19:00:25
誰も助けてくれないんですか><

283:名無しさん@そうだ選挙にいこう
10/01/15 19:46:10
>>265
保存する前にDirでファイルが存在するか調べりゃいいじゃん

284:名無しさん@そうだ選挙にいこう
10/01/15 21:21:27
>>265
これでどうかな

Folder = "C:\TEST\"
Fname = "あ"
SaveFname = Fname
i = 1
Do Until Dir(Folder & SaveFname) = ""
  i = i + 1
  SaveFname = Fname & "(" & i & ")"
Loop
'SaveFname で保存処理をする

あんまり><を多用するのは関心しないな
見ててイラつくんだけど

285:名無しさん@そうだ選挙にいこう
10/01/15 23:30:09
ありがとうございますた><

286:名無しさん@そうだ選挙にいこう
10/01/16 05:47:58
拡張子は大丈夫か?

287:284
10/01/16 08:22:06
>>286
拡張子ってのをわすれてたな

誤 Do Until Dir(Folder & SaveFname) = ""
正 Do Until Dir(Folder & SaveFname & ".xls") = ""

288:名無しさん@そうだ選挙にいこう
10/01/16 10:00:21
WindowdXP上でExcel2000をつかってます。
HDD上に保存されているxlsファイルが巨大すぎて2時間たっても読み込みが終了しません。
でも、ExcelViewer2003ならば読めます。

編集途中の大切なファイルなのでなんとか読み込んで編集したいんです。
読み込み前のファイル内のシートを削除とかできないでしょうか?

289:名無しさん@そうだ選挙にいこう
10/01/16 10:10:17
VBAでイミディエイト・ウィンドウの内容をクリアする方法はありますか?

290:名無しさん@そうだ選挙にいこう
10/01/16 10:44:49
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可


売上ランキングを出す際、重複しないで出したいです。

売上でまずランキングを出していき、売上が同一だった場合は、
社員番号でさらにランキングを振り分けたいのですが、良い方法ありませんでしょうか?

291:名無しさん@そうだ選挙にいこう
10/01/16 11:15:10
>>290
社員番号を社員番号の最大+1で割りそれを足して使用する

292:名無しさん@そうだ選挙にいこう
10/01/16 12:18:25
単純に社員番号を加算するとか追加するとかしてからならびかえれば

293:複乳 ◆MeiY43UMr.
10/01/16 12:38:31
>>288
フリーズしてるんでしょ
ファイルが壊れてなければネットカフェにでももっていって編集すればいいんじゃないか
それかOOoを使うとか

294:名無しさん@そうだ選挙にいこう
10/01/16 13:21:27
PCオンラインの記事でURLリンク(pc.nikkeibp.co.jp)
フォルダ内のファイル名一覧を自動作成 というマクロに挑戦しました。
問題は自宅のエクセル2003ではできたのに、職場のエクセル2000でできなかったことです。
もしよろしければ、助けてください。

【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可

エクセル2003でokだったマクロ

Sub ファイル一覧()
フォルダパス = Cells(1, 2).Value
ファイル名 = Dir(フォルダパス & "\*.*")
行番号 = 4
Do While ファイル名 <> ""
Cells(行番号, 1).Value = ファイル名
行番号 = 行番号 + 1
ファイル名 = Dir()
Loop
End Sub


295:複乳 ◆MeiY43UMr.
10/01/16 14:04:47
>>294
どこでエラーが出たのかわからんが、
カンで答えるとフォルダパス = Cells(1, 2).Value がおかしい

296:名無しさん@そうだ選挙にいこう
10/01/16 14:38:39
>>294
フォルダパスの最後に「\」が付いてるのに「\*.*」を足してる

297:名無しさん@そうだ選挙にいこう
10/01/16 14:40:10
>>294
フォルダ名が間違ってて、存在しない名前になってる

空でファイルが一つも入っていないフォルダを指定した

アクセス許可のないフォルダを指定した

298:名無しさん@そうだ選挙にいこう
10/01/16 18:18:57
>>288
OOoだと読み込める、という意味でしょうか?

299:294
10/01/16 18:29:43
>>295->>297
ありがとうございます
職場じゃないので確認してませんが、パスの指定が、\\二つになって
間違っているような気がします



300:名無しさん@そうだ選挙にいこう
10/01/17 06:33:57
>>296
まだこんな馬鹿がいるのか

301:257
10/01/17 11:07:00
>>264
返事遅くなりました。
できました。ありがとうございます!

302:名無しさん@そうだ選挙にいこう
10/01/17 17:46:57
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 エラー名で検索してみましたがわかりませんでした
セキュリティに影響を及ぼす可能性のある問題点が検知されました。
リンクの自動更新が無効にされました。リンクの自動更新を有効にすると、コンピュータの安全性が失われる可能性があります。このファイルの発行元が信頼できない場合は、このコンテンツを有効にしないでください

というエラーが表示され、「有効にする」「無効にする」のいずれを選んでも入力したエクセルデータが表示されなくなってしまいました。
どうにか直したいのです。よろしくお願いします。

303:名無しさん@そうだ選挙にいこう
10/01/17 18:08:32
★Wordスレが今夜復活しました★


Word総合相談所
スレリンク(bsoft板)

304:名無しさん@そうだ選挙にいこう
10/01/17 19:00:51
会社で配備されているPC(Excel2003)でマクロが使えないのですが…。
ツール→マクロ→と選択しても「セキュリティ」しか出てきません。

305:名無しさん@そうだ選挙にいこう
10/01/17 19:19:17
>>304
Alt+F8で出来ないかな?

306:名無しさん@そうだ選挙にいこう
10/01/17 19:36:11
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否

パーセンテージによるランク表が予め決まっていて、
そのパーセンテージを越すと、ランクが自動的に変わる関数で良い案ありますでしょうか?

if文でランクごとにそのパーセンテージよろ大きいと繰り返してしまうと、
恐ろしく長い関数になってしまって・・・。

何かいい案ありましたら教えてください。

307:名無しさん@そうだ選挙にいこう
10/01/17 19:59:53
>>306
ランクの詳細は?

308:名無しさん@そうだ選挙にいこう
10/01/17 20:10:02
>>307
ありがとうございます。

ランクは単純に数字をあがったりするだけです。
ランクは計算用に多少いじっても大丈夫だと思います。

309:名無しさん@そうだ選挙にいこう
10/01/17 20:13:07
わからん うpれ

310:名無しさん@そうだ選挙にいこう
10/01/17 20:16:37
>>306
ランク一覧表をシートに作っておいて LOOKUP関数 で検索させるとか

311:名無しさん@そうだ選挙にいこう
10/01/17 20:34:07
>>309
URLリンク(uploader.rgr.jp)

上記画像左のようなランク表が元々あって、
右側のような進捗率をもとにランクを自動的に割り振っていきたいんです。

312:名無しさん@そうだ選挙にいこう
10/01/17 21:06:27
>>311
3行目部署2で75%なのにランク3?
例えば135%でもランク3なの?

313:名無しさん@そうだ選挙にいこう
10/01/17 21:14:24
>>312
新たなワード”進捗率をもとにランクを自動的に~”のせいだろ。
>>311
情報の小出しはするなよ。

314:名無しさん@そうだ選挙にいこう
10/01/17 21:34:59
>>312
そのとおりです。
最低ランク以下の売上しかない場合は、
最低ランクとして扱います。

315:名無しさん@そうだ選挙にいこう
10/01/17 21:39:56
わからん


ブックうpれ

316:複乳 ◆MeiY43UMr.
10/01/18 00:08:26
>>302
リンクの自動更新が無効にされました。リンクの自動更新を有効にすると、コンピュータの安全性が失われる可能性があります。このファイルの発行元が信頼できない場合は、このコンテンツを有効にしないでください
でぐぐれ。解決するかは知らん
URLリンク(okwave.jp)
URLリンク(oshiete1.goo.ne.jp)
>>311
J4=if(F4="部署1",vlookup(B4:B6),,) & if(F4="部署2",vlookup(B7:B9),,) &if
みたいにしてはどうでっか。部署が多いならmatchかなにかで範囲を決めるんだろうけど、どっちにしてもめんどくさいなぁ

317:名無しさん@そうだ選挙にいこう
10/01/18 03:21:02
>311
VLOOKUPを使うとして
VLOOKUPって確か範囲の左端を検索だったと思うので
B列とC列は入れかえる必要があるね
あと達成率は昇順でないとダメなハズ

その上で
検索範囲に部署名と同じ名前を定義してみたらどうだろう
B4:C6を"部署1"
B7:C9を"部署2"
って感じで
んで
J4=VLOOKUP(I4,INDIRECT(F4),2)
としたらどうだろう

318:名無しさん@そうだ選挙にいこう
10/01/18 08:37:57
vlookup<<<index(match)

319:名無しさん@そうだ選挙にいこう
10/01/18 11:06:46
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 勉強中
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 autofilter 0以外を抽出

シート1に以下のように、A列にお店の名前があって、
B列以降1月から12月までそのお店で使用した金額を入力しています。


 お店 1月 2月 3月 4月 5月 6月 ・・・
AAA   0 100 300   0 100 300 ・・・
BBB  10 100   0 100 100 300 ・・・
 ・
 ・
 ・

それで、月を指定する箇所を作って、そこで1と入力した場合なら、
1月にお金を使ったお店をシート2に抽出。
2と入力した場合は、2月にお金を使ったお店の抽出が出来るマクロを
作ろうとしているのですが、どうすれば良いでしょうか?

個人的に考えたのは、if文で見たい値を判断してautofilterするセルを指定して、
0以外を抽出すれば良いのかなと考えていますが、
VBAの知識がないもので四苦八苦しております。

よろしくお願いいたします。

320:複乳
10/01/18 14:54:03
>>319
マクロの記録+変数を使えれば簡単
a = InputBox("月")

Selection.AutoFilter Field:=a + 1
が変更したところ
ちなみに最初に出る入力画面で1を二有力すれば1月分、2なら2月分になる
後は頑張れ

Sub Macro1()
a = InputBox("月")
Columns("A:G").Select
Range("G1").Activate
Selection.AutoFilter
Selection.AutoFilter Field:=a + 1, Criteria1:="<>0", Operator:=xlAnd
Selection.Copy
Sheets("2").Select
Range("A1").Select
ActiveSheet.Paste
End Sub


321:名無しさん@そうだ選挙にいこう
10/01/18 15:16:43
>>320
うまくいきました!
ありがとうございます。

ただ、それをボタンに登録して動かしてみるとエラーになってしまいますorz
また、参照用シートが処理後もフィルター状態になっているので、
処理後はフィルター解除状態にすることは可能でしょうか?


322:複乳
10/01/18 16:09:21
>>321
ボタンに登録して複数にまたがるシートを扱う時は
Private Sub CommandButton1_Click()
call macro1
End Sub
でok。macro1は標準モジュールに書いておく
あと今気づいたけど
Columns("A:G").Select は列が足りないな。
自分で作り直したほうが良いとおも

323:名無しさん@そうだ選挙にいこう
10/01/18 16:11:59
ボタンをどこに作ったの?
オートフィルタするページと一緒じゃないと駄目なんじゃないかな?
フィルタ解除はその操作マクロで記録して見てみればわkんじゃない?
つ[後は頑張れ」

324:265
10/01/18 16:13:24
>>321
>処理後はフィルター解除状態にすることは可能でしょうか?

Selection.Copyの後ろに
Selection.AutoFilter ←これを挿入。

325:複乳
10/01/18 16:14:40
>処理後はフィルター解除状態
はマクロの記録でやってほしかったんだぜ・・

326:265
10/01/18 16:23:23
>>284
うお回答来てた><
ありがとう!やってみる><><><><><

327:名無しさん@そうだ選挙にいこう
10/01/18 16:24:40
>>325
>>320まで書いたならそれくらい教えてやれよw

328:名無しさん@そうだ選挙にいこう
10/01/18 20:55:29
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2002、2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】マクロ オートフィルタ データ 取得 

やりたいこと
「現データ」シートのG列で「1」フィルタをかける
*フィルタ項目以下のデータ部 C列~E列をコピー
「抽出」シート B2に貼付け

「現データ」のデータ部 シートH行~L行をコピー
「抽出」シート E2に貼付け

「現データ」のデータ部 シートF行~G列をコピー
「抽出」シート J2に貼付け


「現データ」シートのG列で「2」フィルタをかける
フィルタ項目以下のデータ部 C列~E列をコピー
「抽出」シート B列の最終行以下に貼付け
(以下、同様のコピー&ペースト)

元データの並び替えなしという縛りがあります。
数回フィルタを掛けるので、コピーする最初の行が変わります。
フィルタ「1」のときは3行目から、「2」のときは5行目…
表示された最初のデータ行を取得する方法はoffset、resizeを組合せる?のでしょうか

ご教授願います。

URLリンク(www.dotup.org)

329:d
10/01/18 21:08:45
>>328
>表示された最初のデータ行を取得する
と考えずに、項目行まで含めて表示されている全てのデータをコピペし、
後でペースト先の項目行を削除したらどうでしょうか。


330:294
10/01/18 21:09:46
>空でファイルが一つも入っていないフォルダを指定した

上記症状でした。すいません_| ̄|○

331:名無しさん@そうだ選挙にいこう
10/01/18 21:33:50
もっと綺麗な関数はありませんか?

=IF(A1="8:00~12:00","01",IF(A1="12:00~14:00","12",IF(A1="14:00~16:00","14",IF(A1="16:00~18:00","16",IF(A1="18:00~20:00","18",IF(A1="19:00~21:00","19",""))))))

332:名無しさん@そうだ選挙にいこう
10/01/18 21:38:27
質問というか疑問なんですが、
VLOOKUPってなにか使うメリットあるんですか??
個人的にはコントロールエフで、検索かけた方が早いような気がするんですが

333:名無しさん@そうだ選挙にいこう
10/01/18 21:39:19
>331

例外を考慮する必要がなければ
=IF(A1="8:00~12:00","01",LEFT(A1,2))

私なら比較対象と対応文字を別に用意してINDEX(MATCH)

334:名無しさん@そうだ選挙にいこう
10/01/18 21:40:21
>332

必要がなければそれでいいんじゃね?

335:名無しさん@そうだ選挙にいこう
10/01/18 21:54:23
>>332
まぁいずれわかるよ。

336:名無しさん@そうだ選挙にいこう
10/01/18 22:51:58
マクロで、
D = Format(Date, "mmm/yy") と書けば Jan/10 になりますが、Dec/09 をDへ入れるには、どう書けばいいでしょうか?
また、このとき、Jan を JAN にできるでしょうか?

来月の任意の日なら JAN/10、再来月の任意の日なら FEB/10 にしたいです。

337:名無しさん@そうだ選挙にいこう
10/01/18 22:55:46
>>329
全体を選択するだけならできていて
抽出部分の取得をしたいんですが・・・><

338:名無しさん@そうだ選挙にいこう
10/01/18 23:48:34
>>336
D = Format(DateSerial(Year(Date), Month(Date), 0), "mmm/yy")

UCase(D)

纏めると
D = UCase(Format(DateSerial(Year(Date), Month(Date), 0), "mmm/yy"))


339:複乳 ◆MeiY43UMr.
10/01/19 00:13:41
>>328
最終行からCtrl+↑、という考え方が一般的らしい
aaa = Range("a65535").End(xlUp).Row
これでaaaに最終行。ただしA列の最終行なので他の行が伸びている場合はその列で
>>336
たまにはワークシート関数とかどうでしょう
d = UCase(Application.WorksheetFunction.Text(d, "mmm/yy"))

340:名無しさん@そうだ選挙にいこう
10/01/19 02:13:11
【1 OSの種類         .】 Windows Xp
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 Excel ヘッダー 画像 落ちる or Excel ヘッダー プレビュー 落ちる

こんばんわ、質問させてください。
現在資料を作成中なのですが、ヘッダーとフッターにそれぞれ複数の画像を設定しています。
その状態で印刷プレビューで確認するとかなりの確立でExcelが落ちてしまいます。
画像の種類はemfで、サイズは大体5-10KB 一つ100KB超えている画像があります。
乏しい情報で申し訳ありませんが何か解決策があればご教授いただければ幸いです。
よろしくお願い致します。

341:複乳
10/01/19 09:30:33
>>340
これか?
URLリンク(office.microsoft.com)
Enhanced Metafile グラフィック フィルタ (Emfimp32.flt) は、
拡張メタファイル (.emf) を Windows メタファイル (.wmf) に変換します。
.emf ファイルを Microsoft Clip Gallery または Microsoft Photo Editor の
オブジェクトとして Excel のブックに挿入する場合は、Enhanced Metafile フィルタを組み込む必要があります。ただし、.emf ファイルを
直接 Excel のブックに挿入する場合は、このフィルタは必要ありません。

後はアップデートや再インストール
emfを他の形式に変換する。ソフトはベクターに転がってる
ヘッダーに含めずシートの上の方の行に挿入する
など。まぁ、一言で言うと良く分からん


342:d
10/01/19 11:32:13
>>337
>全体を選択するだけならできていて
>抽出部分の取得をしたいんですが・・・><
ではちゃんとした例を。^^
Sub test()
  Dim RR As Range
  Set RR = ActiveSheet.AutoFilter.Range
  Set RR = Intersect(RR, RR.Range("C:E"))
  Set RR = Intersect(RR, RR.Offset(1))
  Set RR = RR.SpecialCells(xlCellTypeVisible)
  RR.Copy
End Sub


343:d
10/01/19 16:31:01
>>342
ちょっと訂正
>Set RR = Intersect(RR, RR.Range("C:E"))

Set RR = Intersect(RR, RR.Worksheet.Range("C:E"))
の方が良いかも。


344:複乳
10/01/19 16:39:41
配列定数の中で関数は使えないのでしょうか
具体的には
={1,2,sum(1,2)}
のような感じです。宜しくお願いします

345:名無しさん@そうだ選挙にいこう
10/01/19 16:52:01
あらら、質問者まで複乳しちゃってるよ。w

346:複乳
10/01/19 16:53:53
いつも質問するときもコテだよ。本当に分からないので教えてください

347:名無しさん@そうだ選挙にいこう
10/01/19 18:25:35
定数の意味

348:複乳 ◆MeiY43UMr.
10/01/19 19:36:42
やっぱりそうですか。
ありがとうございました

349:名無しさん@そうだ選挙にいこう
10/01/19 20:11:57
>>343
あとで検証してみます
ありがとうj!

350:336
10/01/19 21:57:50
336です。

>>338さん、ありがとうございました。
うまくいきました。

351:336
10/01/19 22:02:21
見逃してました。

>>339
ありがとうございます。
こちらもうまくいきました。

352:名無しさん@そうだ選挙にいこう
10/01/19 22:08:53
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 vba 日付

inputboxに日付をいれると、つらつらと日付が続いて出てくるものを作っています。
Sub テスト()
日付 = InputBox("日付を挿れて♪")
For i = 1 To 10
Cells(i, 1) = 日付
日付 = 日付 + 1
Next i
End Sub

Sub テスト2()
日付 = InputBox("日付を挿れて♪")
Cells(1, 1) = 日付
For i = 2 To 10
Cells(i, 1) = Cells(i - 1, 1) + 1
Next i
End Sub

テストだとダメで、テスト2のようにやるとうまくいきます。
要するに日付を変数に入れたまま+1はダメで、
日付の入った変数をセルに返して、それに+1するのはOKなんでしょうか。
変数のまま日付を足したり引いたりする方法を教えてください。

353:名無しさん@そうだ選挙にいこう
10/01/19 22:22:36
>>352
2000でそのままコピペしてやったけど、両方出来たよ。
文法が正しくない所は置いといて、ちゃんと動く。
問題は別にあるだろう。

実行時エラーがでるなら、とりあえずエラーNoをググレ

354:複乳
10/01/19 22:30:33
>>352
ウォッチ式を使えばわかるが、1は日付が文字列型(string型)で格納される
2は一度セルに入力された時に日付型(date型)に変換されている
1も
Sub テスト()
Dim 日付 As Date
で始めれば上手くいく(変数 日付 を強制的に日付型にするため)
強制的に日付にするために「あああ」などと入れるとエラーになる

ちなみに2009/1/1は39815である
シリアル値でぐぐれば少しは理解できるかも

355:名無しさん@そうだ選挙にいこう
10/01/19 22:31:42
あぁやっぱり変数宣言してないことを指摘してあげるべきだったか。

356:352です
10/01/19 22:46:33
みなさんどうもご指摘ありがとうございました。
変数の宣言というのは知ってましたが、持ってる本に
「多くの変数を使う複雑なマクロでなければ、宣言を省略しても大きな問題はない」
と書いてあったので略しちゃいましたw


357:名無しさん@そうだ選挙にいこう
10/01/20 00:38:22
ウォッチ式って何ですの?

358:名無しさん@そうだ選挙にいこう
10/01/20 05:33:37
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 セル 移動

2行1組の書類があります。
1行3列として、最初の1組A1:C2を例にとると、
A1:A2が、C1:C2がそれぞれ結合されています。以下A3:C4以降同様。
入力の際、EnterでセルがA1:A2→B1→B2→C1:C2と動くようにすることは可能でしょうか?
よろしくお願いします。

359:複乳
10/01/20 09:35:48
>>358
targetとonkeyイベント辺りでできると思うけど作るだけのスキルが無いです

個人的には
=INDIRECT("r"&(INT(ROW()-1)/2)*4+COLUMN()+(MOD(COLUMN(),3)=0)+(MOD(COLUMN(),2)=0)*(MOD(ROW(),2)=0)*-1&"c4",0)
こういう式をA1:C10にでも入れて、D列で内容入力というように、入力と出力分けるといいと思う
表自体が小さければ
A1=D1、B1=D2、B2=D3というようにいれていってもいいかもしれない

他にはA1:C10を選択して決定の際にtabキーを押せば
A1:A2→B1→C1:C2→B2と少し違うが似たような動きをさせることも出来るね

360:外国人参政権 Q&A
10/01/20 10:25:52
Q 何故、民主党は外国人参政権を推進したいの?
 A 民主党は、いわゆる「反日団体」だからです。
   根底に「日本が嫌い」「日本は悪い国」という思想があります。

Q 何故、民主党は日本人なのに日本が嫌いなの?
 A 戦後60年、日教組が反日教育で日本人を洗脳し続けてきたからです。
   洗脳された日本人が反日思想を更に広めるべく教員やマスコミに潜入しています。
   また市民活動家や政治家にも大勢潜入しており反日政策を作ってきました。
   反日マスコミが反自民党へ世論を誘導して樹立した反日政権が民主党です。

Q 何故、日教組は日本人なのに反日思想を広めて来たの?
 A 戦後のGHQ統括下で右翼的な思想の日本人は戦犯になりました。
   特に教職員(とマスコミ関係者)は駆逐されました。
   代わりに教育の現場で指導に当たったのは反日思想の在日朝鮮人と共産党でした。
   つまり日教組に「まともな日本人」は居ません。

Q 右翼も「まともな日本人」には見えませんが?
 A 街宣車で騒音を撒き散らす右翼は、ほとんどが在日朝鮮人です。
   その証拠に街宣右翼は「北方領土を返せ!」は言っても「竹島を返せ!」は言いません。
   在日朝鮮人が「日本を愛するのは悪いことだ。」と宣伝しているのです。
   また「在日朝鮮人はこんな人たちの差別に苦しんでいます。」と自作自演しています。

Q 日本を愛するのは悪いことじゃないの?
  A 自分の国を愛するのは当然のことであって何も悪いことはありません。
    愛国無罪(国のためなら何をしても良い)は悪いことですが。

Q でも日本は過去に悪いことしたんでしょ?
  A 日教組やマスコミは様々な嘘の歴史が作り上げ広めて来ました。
    彼らは「まともな日本人」の感覚では信じられないレベルの大嘘をつきます。

361:名無しさん@そうだ選挙にいこう
10/01/20 14:34:15
最新ビジネスソフト入荷!
激安にて販売中
URLリンク(wwttww.hostrator.com)

362:名無しさん@そうだ選挙にいこう
10/01/20 14:46:56
>>361
有名な詐欺サイトです
買わないように

363:358
10/01/20 16:16:57
複乳氏、回答ありがとうございます。
なんか難しそうですね。
target onkey をちょっと勉強してみたいと思います。

364:名無しさん@そうだ選挙にいこう
10/01/20 16:20:53
>>361
500台注文した

365:複乳
10/01/20 16:23:23
>>363
vba イベント onkey
辺りで検索だな
onkeyはキーボードのキーを押したときのイベントを制御
targetはそのイベントの起こる場所を限定できる
と思う。がんばれ

366:名無しさん@そうだ選挙にいこう
10/01/20 21:33:58
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 複乳 同一人物 句読点 偉人

複乳さんと、複乳 ◆MeiY43UMr. さんは同一人物ですか?

367:名無しさん@そうだ選挙にいこう
10/01/20 21:36:52
偉人w

368:名無しさん@そうだ選挙にいこう
10/01/20 21:37:15
句読点?w

369:名無しさん@そうだ選挙にいこう
10/01/20 22:22:22
x 偉人
o 暇人

370:名無しさん@そうだ選挙にいこう
10/01/20 22:30:38
>>366
マクロで回答したいのだが、

If 複乳 = 複乳◆MeiY43UMr. then と書くと、コンパイルエラーになります。

371:名無しさん@そうだ選挙にいこう
10/01/20 22:38:56
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】オートフィル 連続データ


複数のbook日報形式(1日~31日)まであるのですが、それを1枚のbookで管理するのに

A2='1日'!$H$33

という式があるのですがこの式の日にち(book名部分だけ)を
  '1日'! '2日'!   '3日'! というように横にドラッグしていけば連続して
記入されるようにしたいのですが可能なのでしょうか?
可能であればどのようにすればよいのでしょうか?
よろしくお願いします

連続して

372:名無しさん@そうだ選挙にいこう
10/01/20 22:44:17
>>371
=INDIRECT("'"&COLUMN(A1)&"日'!$H$33")
として右にコピー

373:名無しさん@そうだ選挙にいこう
10/01/20 22:52:18
【1 OSの種類         .】 Windows7
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】excel グラフ 並び替え

excelで個人別の売り上げ表をつくり、グラフにしています。
表は個人名をあいうえお順で上から並べているんですが、
売り上げをグラフにする時はあいうえお順ではなく売り上げ別に並べたいんです。
色々考えたんですがいい方法が思いつかなかったので、もし出来るのであれば
教えてもらえると助かります。
もう一つ表を作らないと無理でしょうか?

374:名無しさん@そうだ選挙にいこう
10/01/20 22:54:58
>>372

即レスありがとうございます。
早速試してみたら出来ました。
本当にありがとうございました。

375:名無しさん@そうだ選挙にいこう
10/01/20 23:41:18
【1 OSの種類         .】 Windows xp sp2
【2 Excelのバージョン   】 Excel 2002
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel 当番表 lookup

2種類の当番表を一つのシートで上下に作成し、各氏名ごとに指定した当番の結果を
もう一つのシートに反映させたいと考えています。

【表1】
左端列には上から下へ「氏名」、先頭行には左から右へ「日付」
【表2】
左端列には上から下へ「当番種類」(レジ・掃除・品出し・戸締り 等)
先頭行には左から右へ「日付」

【表1】中で各氏名ごとに当番を指定すると表2の当番表にその氏名が表示されるように
したいのですが、LOOKUP関数を使っても並べ替えの制約のためか思うように
作成できません。

エクセル上で関数だけを使っては作成できないのでしょうか?

376:名無しさん@そうだ選挙にいこう
10/01/21 00:02:56
できる
ガンガレ!

377:名無しさん@そうだ選挙にいこう
10/01/21 07:00:15
VLOOKUPでググって幸せ
HLOOKUPでググって不幸

378:名無しさん@そうだ選挙にいこう
10/01/21 09:34:54
>>373
どういう管理してるかわかんないけど、そのグラフだけ欲しいなら、
五十音順の表でグラフ作って、表を売り上げ順に並び替えを実行すれば、グラフもそれ順になるよ。
並び替えの方法はわかるよね??
その作業をマクロに記録しておけば後々楽かなぁ。

379:複乳
10/01/21 09:46:49
>>366
よく見れば大体分かると思うが・・
>>373
A1:A5に名前
B1:B5に金額
C1=ROW()/10+B1
D1=RANK(C1,C:C,0)
E1:E5=1、2、3、4、5
F1=INDEX($A$1:$A$5,MATCH(E1,D:D,0),1)
G1=INDEX($B$1:$B$5,MATCH(E1,D:D,0),1)
FGでグラフを作成
>>375
A1:E5で上の表(一列目一行目は項目)
A11:E15で下の表
B12=IF(ISERROR(INDEX($A$2:$A$5,MATCH($A12,B$2:B$5,0),1)),"",INDEX($A$2:$A$5,MATCH($A12,B$2:B$5,0),1))
後はB12をE15までオートフィル

380:複乳
10/01/21 09:47:43
>>378
あ、そんな方法があったのか
グラフ作らないから知らないんだよなぁ

381:名無しさん@そうだ選挙にいこう
10/01/21 16:01:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 否
【5 検索キーワード     】 excel テーブル 列 選択

質問です
テーブルの中の任意の列だけを選択することってできますでしょうか?




382:名無しさん@そうだ選挙にいこう
10/01/21 17:27:25
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】

助けてください><

URLリンク(up3.viploader.net)

383:名無しさん@そうだ選挙にいこう
10/01/21 17:52:12
結合セルの並び替えは不可です

384:名無しさん@そうだ選挙にいこう
10/01/21 18:00:34
マクロでもなんともならないの?

385:複乳
10/01/21 18:14:25
結合を解除して並び替え、それをvlookupやindexmatchなどで拾ってくるべき

386:名無しさん@そうだ選挙にいこう
10/01/21 18:31:48
>382
いくつかおたずね
1 項目2の値は重複がありえますか? 重複がないならVBAを用いず、計算式だけでできそう。
2 up3.viploader.net/ippan/src/vlippan058331.png のように、隣に並べ替え後の表をつくっていいのかな?

今考えているのは、K列1行目から1件1行(4列+RANK関数による順位列)にデータを揃えてからF5:I19
の表を作る(この表も計算式のみ)方法です。

387:名無しさん@そうだ選挙にいこう
10/01/21 18:38:50
>>385
ありがとやんした><

>>386
やっぱりワンクッション置いて処理しないとダメなんですね><
実際には、画像以上のデータが大量にあるので面倒くさいです。。。。
ありがとう><

388:名無しさん@そうだ選挙にいこう
10/01/21 19:23:57
>>382
まず値500を15000に変えるには…

389:386
10/01/21 19:28:34
>382,387
作ってみたのでアップします。(項目2の値に重複があるとダメです)
1件1行用のデータ領域
K1セル =INDIRECT("B"&ROW()*3+2)
L1セル =INDIRECT("D"&ROW()*3+2)
M1セル =INDIRECT("D"&ROW()*3+3)
N1セル =INDIRECT("D"&ROW()*3+4)
O1セル =RANK(M1,$M$1:$M$10)  $M$10の行位置は最大データ数以上であること
ここまで入れたら、件数分下へドラッグコピー

G5セル =INDIRECT("K"&MATCH(INT((ROW()-2)/3),$O$1:$O$10,0)) $O$10の行位置は最大データ数以上(以下同じ)
I5セル =INDIRECT("L"&MATCH(INT((ROW()-2)/3),$O$1:$O$10,0))
I6セル =INDIRECT("M"&MATCH(INT((ROW()-3)/3),$O$1:$O$10,0))
I7セル =INDIRECT("N"&MATCH(INT((ROW()-4)/3),$O$1:$O$10,0))
ここまで入れたら、G5:I7セルをコピー、2件目以降下端まで範囲選択して貼り付け
なお、当方はWindowsXP、Excel2003です。vbaは誰かやってくれるでしょ。

390:複乳 ◆MeiY43UMr.
10/01/21 19:28:43
tttttt

391:名無しさん@そうだ選挙にいこう
10/01/21 19:30:24
【1 OSの種類         .】 WindowsVista
【2 Excelのバージョン   】 Excel2007
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 大歓迎
【5 検索キーワード     】


セル I2からM2まで関数を作りました。
これらをまとめて、セル I34000 M34000 までコピーしたいのですが、やり方がわかりません
どうか教えてください。 よろしくおねがいします

392:複乳 ◆MeiY43UMr.
10/01/21 19:31:12
>>391
I2からM2

393:名無しさん@そうだ選挙にいこう
10/01/21 19:32:17
>>388
うおwわかりやすく、極端な数字使おうと思ってたら、
元の方を変えるの忘れてたw

>>389
ありがとう!ちょっといじってみる。

394:複乳 ◆MeiY43UMr.
10/01/21 19:32:47
>>391
I2からM2を選択
そしたらその枠線の右下に黒い四角がでるでしょ
これを下へドラッグ(クリックしながらマウスを下に動かす)する
ちなみにこの動作をオートフィルという

395:名無しさん@そうだ選挙にいこう
10/01/21 19:37:12
>>394
ありがとうございました

396:名無しさん@そうだ選挙にいこう
10/01/21 19:38:29
>>391
3つある

I2からI2を選択して、右下の■を下へドラッグ
34000行目でうまい具合にやめる

I2からI2をコピー
I3から、M34000までドラッグして選択
その上で貼付け

Sub コピー()

Range("I2:M2").Copy
Range("I34000:M34000").Select
ActiveSheet.Paste

End Sub

397:複乳 ◆MeiY43UMr.
10/01/21 19:41:12
>>396
Range("I2:M34000").Select
じゃね

398:名無しさん@そうだ選挙にいこう
10/01/21 19:41:56
失礼w

399:名無しさん@そうだ選挙にいこう
10/01/21 19:55:24
>>391
"名前ボックス"を活用すれば簡単ですよ。(例:A1を選択しているとき、シート
すぐ左上にA1と表示しているボックス)

1.まずI2からM2を選択するのですが上記の名前ボックスへI2:M2と記入する。
2.コピー
3.今度は名前ボックスにI34000:M34000と記入する。
4.貼り付け

で完了。 



400:名無しさん@そうだ選挙にいこう
10/01/21 20:04:16
>>391
名前ボックスに i2:m3400 と入れる。
Ctrl+D

ドラッグとかマクロとか、もうね…

401:399
10/01/21 20:05:27

3.今度は名前ボックスにI34000:M34000と記入する。

3.今度は名前ボックスにI2:M34000と記入する。

でしたね。失礼。

402:名無しさん@そうだ選挙にいこう
10/01/21 20:54:15
>>396-401
皆様ありがとうございました。無事できました!

403:名無しさん@そうだ選挙にいこう
10/01/21 21:12:21
>>382 元データを A1:Cn とすると
D1に =C2+0.1、D2に =C2、D3に =C2-0.1、E1に =A1 と入力
D1:E3 を選択して、n行目までオートフィル
選択状態のままコピー値貼付け、CDE列を降順並び替え
A1に =E1 と入力、n行目までオートフィル
選択状態のままコピー値貼付け、DE列削除


404:名無しさん@そうだ選挙にいこう
10/01/21 21:14:24
>CDE列を降順並び替え
Dをキーに、が抜けてました。

405:名無しさん@そうだ選挙にいこう
10/01/21 22:18:10
小文字で書いて同セルで大文字に変換させる事は可能ですか?

406:名無しさん@そうだ選挙にいこう
10/01/21 22:28:53
>>405
シートモジュールに
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = StrConv(Target.Value, vbUpperCase)
End Sub

ってすれば可能。でも、このままだったら使い勝手が悪いから範囲なり指定してあげないとダメ
一般機能では同一セルではムリじゃね?

407:名無しさん@そうだ選挙にいこう
10/01/21 22:43:51
>>406
ありがとうございます

408:名無しさん@そうだ選挙にいこう
10/01/21 23:10:08
>>406
それだと無限ループにならない?
一旦イベント止めないと

Private Sub Worksheet_Change(ByVal Target As Range)
 Application.EnableEvents = False
 Target.Value = StrConv(Target.Value, vbUpperCase)
 Application.EnableEvents = True
End Sub

409:名無しさん@そうだ選挙にいこう
10/01/22 00:21:57
すいません、どこで聞けばいいのかわからないのでスレチと思いますが
教えてください。

このスレやエクセルの学校なども3日間見ましたが、結局自分には
荷が重いと判断し、どこか?どなたか?に売上げデータ表計算を
データから日報、月報を組み上げて頂きたいと思っているのですが
どこで、どんな組織にどのように依頼するのがいいのでしょうか?
会社で依頼するような大掛かりなものでもなく、自分の担当する部門の
ほんのちょっと知識があれば出来そうなコトなんですが、自分にはどうにも
期限に間に合わせることが出来なさそうな事態なんです
もちろん会社の売上げデータゆえココでUPしてさらすわけにもいかず
かといって、きっとココの人たちなら簡単にこなしてしまうであろう
内容を業者に個人で出すのもなんだかなぁと思い困っています。
どなたか、よい情報ないでしょうか?

410:名無しさん@そうだ選挙にいこう
10/01/22 00:34:03
>>409
お仕事としての依頼ですか?
それともタダでやってちょうだいということですか?

411:名無しさん@そうだ選挙にいこう
10/01/22 00:40:00
タダでやってちょうだいということです

412:名無しさん@そうだ選挙にいこう
10/01/22 00:45:49
タダでもいいという趣味の範囲でやっていただける位と思える内容なんで
どこに頼んで、いくらくらいというのもわからないんです。
もちろん依頼するわけですから、無料でない可能性が高いのですが
個人ゆえに相場もわかりません
すいません、どこかないでしょうか?

413:名無しさん@そうだ選挙にいこう
10/01/22 00:48:41
>>409
身の丈に合わぬ仕事を安請け合いした己を恥じよ。

414:名無しさん@そうだ選挙にいこう
10/01/22 00:53:24
>>412
場所はどこですか?
直接訪問する必要があるのか、メールや電話のやり取りでわかりそうなのか。
何日くらいでできそうなのか、支払えるとしたらいくらまでなのか。

相場は私よくもわかりませんが、ソフトハウスに頼むと1人月50万以上ではないでしょうか。

415:名無しさん@そうだ選挙にいこう
10/01/22 01:09:53
50万ですか。
ただの表計算なんですが・・・。
自分の無力、無学を嘆いて謝っときます。
詳しい人ならメールのやり取りで半日もかからない作業だと
思いますが、自分で教室に通ったほうが安いですね。
情報ありがとうございました。

416:名無しさん@そうだ選挙にいこう
10/01/22 02:13:25
グダグダ書いてねーで、ダミーのデータをうpして
こんな感じのが作りたいって書け

417:複乳
10/01/22 08:50:18
>>400
ドラッグしらなそうだったしなー
じゃあ別解でジャンプはどうよ
ctrl+gで範囲を入力、ok
どうみても名前ボックスのほうが早いですね。ありがとうございました
>>409
売上データ エクセル テンプレート
でぐぐれ
大昔1シート3000円でエクセル作成ってDMがFAXで来たことがあったが
どこか分からない


418:名無しさん@そうだ選挙にいこう
10/01/22 20:01:18
質問です
複数のdatファイルを一括でcsvファイルに変換する方法を
ご存知の方はいらっしゃいますか?
教えていただけると助かりますm(_ _)m

419:名無しさん@そうだ選挙にいこう
10/01/22 21:43:33
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel2000
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】 可
【5 検索キーワード     】vba ivent
A1セルの文字列に応じた文字列をB1セルに表示したいのです。
A1の候補は日常的には10種類ほどなのですが、
時々こちらの想定していない文字列が入ることがあり、
その場合はA1、B1ともに手作業で入力するようにしたいです。
だから「B1=VLOOKUP(A1,…」は使えない? ような気がします。
VBAのiventだと可能でしょうか。
ちょっと調べてみたところ、「特定のセルに特定の文字列が入った場合に作動する」
というのはできなさそうなふいんき(何故か変換できない)でした。
うまい方法はないものでしょうか。


420:複乳 ◆MeiY43UMr.
10/01/22 22:48:01
>>419
vlookupで入力してエラー値に条件付き書式で色つきにでもするほうが早い気もする
>>418
datの形式は色々あるので答えられない

421:名無しさん@そうだ選挙にいこう
10/01/23 00:17:52
>>416,417
ありがとうございます。
ぐぐってみますが、わからなかったときはブック毎どこかに
UPすれば御意見いただけますか?
今日はとりあえず平謝りで作業丸投げしてきました。
情けない限りです。

422:名無しさん@そうだ選挙にいこう
10/01/23 08:50:57
>409,421
ブックをアップする際には、くれぐれも会社や個人の情報が出ないようにしてください。
シート上で目に見えるものだけが情報ではありません。

メニューのファイル-プロパティで「ファイルの概要」タブには
タイトル、サブタイトル、作成者、管理者、会社名などの項目があります。
その他、隠しシート、非表示列・行、文字色が白になっているセルやテキストボックスなど
いろいろあります。

423:名無しさん@そうだ選挙にいこう
10/01/23 10:34:21
>>422
作業丸投げということは他の人がやることになったのだろう

424:名無しさん@そうだ選挙にいこう
10/01/23 10:59:16
>>421
まとりあえずピボットテーブル覚えればいい。
ピボットテーブル使えるようにブックを作れ。
エクセルのコツはこれだけだ。


425:名無しさん@そうだ選挙にいこう
10/01/23 12:33:52
>>424
結果の数字さえ出ればいいんならピボットテーブルだけで足りるけど、
体裁を整えて報告書にするとか特定のフォーマットで出力しなきゃならんとかだと
もうちょっとExcelを勉強する必要がある。

426:名無しさん@そうだ選挙にいこう
10/01/23 12:42:42
【1 OSの種類         .】 Windows xp
【2 Excelのバージョン   】 Excel 2000
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】 可
【5 検索キーワード     】 if 削除 
質問が2つあります。エクセルで部品番号(A列に4000個)を管理しています。
管理しているソフト(データベース)から部品番号を出力すると、今までエクセルで管理している部品番号に「-」、「/」、(例:145-356 →145356、145-35//6 →145356)や桁数が古い場合(5桁)、部品番号の頭に「0」(例: 45-356→045-356)
が追加されます。
毎度、毎度「-」や「/」や頭の「0」を削除するのが面倒です。
下記①②ついてご教授ください

①「-」や「/」を削除する方法でもっと単純方法が知りたい
A列に部品番号あります。
 作業列をB,C,Dにつくり
 B列に 「-」の削除  =SUBSTITUTE(A1,"-","")
 C列に 「/」の削除  =SUBSTITUTE(B1,"/","")
 D列にC列をコピーして「値を貼り付け」
しています。
ほかにもっといい方法あれば、ご教授ください

② 上①の部品番号のなかで、古い部品は桁数が1桁少なく、頭文字に「0」ついているもがあります。
部品番号の中で頭文字に「0」がついているものだけ、「0」を消したいと考えています。
やりたいこと 045-123 →45-123     頭(左)が「0」の場合は消す
         145-123 →145-123    頭が「0」じゃない場合はそのまま

if文を使えばできるのか、マクロじゃないとできないのか、ご教授ください(もしよろしければ関数も)

427:複乳 ◆MeiY43UMr.
10/01/23 12:50:55
>>426
1は置換。置換後の文字列を指定しなければそのまま削除と同じことになる
マクロの記録でボタンに登録すればもっといい感じに
2は=IF(LEFT(A1,1)="0",RIGHT(A1,LEN(A1)-1),A1)

428:名無しさん@そうだ選挙にいこう
10/01/23 12:51:02
>>426
2はleftで最初の1文字を取得して、ifで
0の場合はmidで2文字目から最後まで(セルの文字数を取得して抜き出す文字数を数える)抜き出す、
0以外の場合はそのまま、
で一応の目的は果たせる。あまりかっこ良いやり方ではないけど。

429:名無しさん@そうだ選挙にいこう
10/01/23 12:53:08
①置換
②=IF(AND(LEN(A1)=7,LEFT(A1)="0"),RIGHT(A1,6))



430:名無しさん@そうだ選挙にいこう
10/01/23 13:12:21
ちなみにA列に①と②が混在しているときに"-"の置換すると②の頭の0は消える
のな。(書式:標準の場合。)

431:426
10/01/23 14:08:18
>>427->>430
ありがとうございます。できました。

>>427
置換後で文字列を「""」で何もなしを指定して削除しています。 何も指定しなければ削除になるんですか?
=SUBSTITUTE(A1,"-",)でもできました。

>>430
たしかに消えました。ありがとうございます。



432:名無しさん@そうだ選挙にいこう
10/01/23 15:06:03
sum()などの関数で範囲指定をする時、
1000行を超えような時、マウスで指定していると、
通り越してしまったり、遅かったりで困っています。

CTRL+↓みたいな、効率的な操作方法はないでしょうか?

433:名無しさん@そうだ選挙にいこう
10/01/23 15:13:37
>>432
あらかじめ範囲を確認して直接括弧内へ入力してもいいのですよ。

434:複乳 ◆MeiY43UMr.
10/01/23 15:13:44
>>432
F8、shift+F8とかどう

435:名無しさん@そうだ選挙にいこう
10/01/23 15:18:46
shift+ctrl+↓

436:名無しさん@そうだ選挙にいこう
10/01/23 17:01:32
コンマの入ったデータを、「テキスト(タブ区切り)」で保存して、あとで中身を見ると
そのコンマを使ったデータにわさわざ"(ダブルクウォーテーションマーク)が囲まれてしまいます。

これを防ぐにはどうしたらいいですか?

437:名無しさん@そうだ選挙にいこう
10/01/23 17:14:44
わかんないけど、テキストエディタで"を置換すればおk

438:名無しさん@そうだ選挙にいこう
10/01/23 17:19:04
【1 OSの種類         .】 WindowsXP Pro SP3
【2 Excelのバージョン   】 Excel2003
【3 VBAが使えるか    .】 はい
【4 VBAでの回答の可否】否
【5 検索キーワード     】 max関数

項目│値│項目ごとの最大値
A  │100│130←※ここ(C2)を求める数式を作成したいです。
A  │130│130
A  │120│130
B  │100│110
B  │110│110
C  │200│200
C  │100│200
C  │150│200
C  │130│200
↑項目数は一定ではありません。

※項目ごとの最大値を求める数式を作成したい。
※セルC2に数式を入れ、C列にコピペできるようにしたい。

439:名無しさん@そうだ選挙にいこう
10/01/23 17:22:20
>>437
なるほどそんな裏技がありましたか

440:名無しさん@そうだ選挙にいこう
10/01/23 17:31:23
しかし置換以外に本当に方法はないの?

441:名無しさん@そうだ選挙にいこう
10/01/23 17:43:24
>438
おたずねします。
Q1 A列はソートされているの?
Q2 A列でソートされていない場合、キー1:A列、キー2:B列でソートしていいの?

442:名無しさん@そうだ選挙にいこう
10/01/23 17:59:54
>>438
=INDEX(MAX(($B$2:$B$10)*(($A$2:$A$10)=A2)),0)

443:426
10/01/23 18:10:19
置換理解しました すいません
ctrl+H のすべて置換ですべてがうまくいきました


444:名無しさん@そうだ選挙にいこう
10/01/23 18:10:48

=MAX(($B$2:$B$10)*(($A$2:$A$10)=A2))
これを入力した後、Ctrl+shift+Enterで確定でも可(式の前後に{ }がつく)

445:438
10/01/23 19:14:54
>441-444

442さんの方法で441さんのソートにも対応できました。
THXです。

446:複乳 ◆MeiY43UMr.
10/01/23 19:28:37
>>440
重いつかない。もともとその仕様はcsvの時のもので、タブ区切りに流用しちゃったのかも
MSに要望だせば治るかもしれないね


447:名無しさん@そうだ選挙にいこう
10/01/23 22:48:32
【1 OSの種類         .】 WindowsXP
【2 Excelのバージョン   】 Excel 2003
【3 VBAが使えるか    .】 いいえ
【4 VBAでの回答の可否】可
【5 検索キーワード     】 並べ替え グラフ


A 1
B 2
C 3
D 4
E 5

上のような感じのA列に文字、B列に数字が入っている表があって、
この表から普通の棒グラフにしたいのですが、グラフは

A 5
B 4
C 3
B 2
A 1

というように数字を降順で並べ替えてグラフにしたいと思っています。
元の表はABC順のままです。
こういうのは可能でしょうか?
数字を降順で並べ替えた表は「表示させないで」グラフにしたいんですが…。
VBAで出来るなら調べて勉強しようと思うので教えていただけると助かります。



448:複乳 ◆MeiY43UMr.
10/01/23 22:59:24
つい最近似た様な質問あったから検索してみ


449:名無しさん@そうだ選挙にいこう
10/01/23 23:28:37
>>448
見つかりました
ありがとうございます

450:422
10/01/24 00:43:48
>>423-426
ありがとうございます。
今回困ったのが、まずシートは4シート
シート1=形式がある程度決まっている結果を表示する「日報」、シート2=レジから出力されるレシート1の結果を日ごとに入力したもの
日付  売上げ   りんご   バナナ   みかん  ・・・・
1/1   150000   20000   15000    10000   ・・・・
1/2   120000   16000   12000    8000   ・・・・
1/3   100000   30000   10000    12000   ・・・・
シート3=レジから出力されるレシート2の結果で当日の各伝票毎の項目の詳細
1/1   りんごA×2 産地B   価格C
1/1   みかんC×3 産地D   価格H
1/1   りんごB×1  産地B   価格E
1/1 バナナA ×4 産地C   価格A
1/1   りんごB×2  産地B   価格E
 ・
 ・
 ・
1/2   りんごB×6  産地A 価格A
1/2 みかんA×4 産地C  価格D
 ・
 ・
シート4=月初に決めてある日ごと予算表
で、シート1日報はまずDATEにて日付を入力を2箇所(10/1/1や10/1/18など合計したい開始日と10/1/23の当日の日付入力。開始日を月初や週頭の月曜に設定し、本日までの合計をさせる為)
で、
①、当日売上げや予算を「日報」の所定のセルに表示させるのはVLOOKUPにて当日日付をシート2から検索して表示させられるのですが、その右横に設定した期間に対応した合計を表示したいのですが、期間が変動する
場合、どのような数式にしたらよいのかわかりません。
②、当日、累計ともに項目毎の合計をシート3からどのように拾い出して合計していいのかわかりません。
(当日の場合、シート3の同じ日付の中から同じりんごBを拾い出し、数を合計する方法。累計の場合、期間が変動する状態で合計する方法)

ブックをupする度胸がないのでこのようなかき方になってしまい、わかりにくいのですがどなたか読み取れた方が
おられましたらご教授お願いいたします。


451:名無しさん@そうだ選挙にいこう
10/01/24 00:52:48
A1 B1
A2 B2
A3 B3
・  ・
・  ・
・  ・
A800 B800


のようにデータが大量にあります。これをメモ帳に、
[1行目] A1
[2行目]
[3行目] B1
[4行目] A2
[5行目]
[6行目] B2
[7行目] C1
[8行目]
[9行目] C2
[10行目] D1
[11行目]
[12行目] D2

のように書き出したいのです。どうすればよいでしょうか?


452:名無しさん@そうだ選挙にいこう
10/01/24 00:54:43
>>451補足。

つまりExcelでA1~B800の縦長の長方形内に、文字列データが800x2=1600個あって、
それをメモ帳に上記のように3行セット(真ん中は空行)で書き出したいのですが、
どうすればいいでしょうか?

453:複乳 ◆MeiY43UMr.
10/01/24 00:56:07
>>452
CとDってどっからでてきたの
13行目以降もないとわからない

454:451
10/01/24 00:57:48
すみません、間違えました!
451のは正しくは下です。

[1行目] A2
[2行目]
[3行目] A1
[4行目] B2
[5行目]
[6行目] B1
[7行目] C2
[8行目]
[9行目] C1
[10行目] D2
[11行目]
[12行目] D1
   ・
   ・
   ・

455:名無しさん@そうだ選挙にいこう
10/01/24 00:59:15
>>453
ありゃ、また間違えてました!
正しくは、

[1行目] B1
[2行目]
[3行目] A1
[4行目] B2
[5行目]
[6行目] A2
[7行目] B3
[8行目]
[9行目] A3
[10行目] B4
[11行目]
[12行目] A4
   ・
   ・
   ・

456:名無しさん@そうだ選挙にいこう
10/01/24 01:00:10
[2398行目] B800
[2399行目]
[2400行目] A800

です。

457:複乳 ◆MeiY43UMr.
10/01/24 01:36:00
>>456
C1=IF(MOD(ROW(),3)=1,INDIRECT("r"&INT((ROW()-1)/3)+1&"c2",0),"")&IF(MOD(ROW(),3)=0,INDIRECT("r"&INT((ROW()-1)/3)+1&"c1",0),"")
下にオートフィル。それをメモ帳にコピー
>>450
めんどいので①以降しか読んでないけど
>その右横に設定した期間に対応した合計
sumifか?
あと表の>りんごA×2
の表記はまずい
りんごAと2は別の列にする。分け方はデータの中にある区切り位置でもfindで×を見つけてmid等で切り離してもいい
そうすればピボットなりsumproductなりが使えるようになる
とりあえずファイルがないとしんどい
1から作ったダミーファイルをアップロードすることはできんもんかねー

458:456
10/01/24 01:47:37
>>457
ありがとうございます!
これはすごい。魔法みたいだ。今年一番感動した!

459:450
10/01/24 01:48:33
>>457
そうですよね、わかりにくいですよね。
罫線等そのままで名称を変更したファイルをupですね。
どうやってどこにupしたらいいでしょうか?
明日以降で作ってみます。

ありがとうございます。

460:複乳 ◆MeiY43UMr.
10/01/24 02:06:30
>>459
アップローダーのの通称斧
URLリンク(www.axfc.net)


461:名無しさん@そうだ選挙にいこう
10/01/24 14:09:52
>451
まあ感動してるんだからいいんだけど
オレならこうする

C1に ^=b1、C3に ^=a1 と入力
C1:C3選択、オートフィル、 ^ を空白に置換、メモ帳へ
とか

A1に空セルを入れて1行ずらしてAB列コピー
ワードに値貼付け(制御文字置換の為)
^p を ^p^p に、^t を ^p に置換、txt保存
とか



462:名無しさん@そうだ選挙にいこう
10/01/24 18:15:48
>>461
MODとROWとINDIRECT駆使する手法は覚えないほうがいいよね。
センスが悪くなる。



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