5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

Excel総合相談所10

1 : ◆UndefD/U3. :03/01/19 03:09
Excelに関する質問は、ここで!

・質問する人は可能な限り具体的に書くこと。
・Excelのバージョン、OSのバージョンも書くとレスが付きやすい。
・回答がなくてもキレないこと。
・分かる人はできるだけ回答して下さいませ。

前スレ
Excel総合相談所 9
http://pc.2ch.net/test/read.cgi/bsoft/1038376475/l50
過去スレとFAQは >>2-3 辺りを参照

211 :名無しさん@そうだ選挙にいこう:03/01/26 00:31
>>198
A2〜A4に =INT(RAND()*30)
A5に =100-A1-A2-A3-A4-A6
B1に =IF(AND(A1>A2,A2>A3,A3>A4,A4>A5,A5>A6),1,0)
と入れて、B1が1になるまでゴールシーク。

212 :名無しさん@そうだ選挙にいこう:03/01/26 07:38
>>206
VBAで組めば楽勝な気がするが。
Excel使って自力でやらないなら板違い。↓この辺逝け。
1必読!★スレッド立てるまでも無い質問Ver.22★
http://pc3.2ch.net/test/read.cgi/software/1041785379/
>>208
可能。こんな感じか。
Range("A1") = TextBox1
ちなみに、TextBox内の改行コードはvbCrLf、セル内での改行コードはvbLfなので、
まず変数に格納してRePlaceで置き換えるべし。
(Excel97以前のバージョンなら自力でRePlaceを組む)

213 :212:03/01/26 07:40
>>208
ちなみに改行コードを変換しないと
aaa・
aaa・
みたいなゴミが残る。(・がvbCrね)

214 :204:03/01/26 10:42
>>212さん。ありがとうございます。
VBAですね。VBAはあまり知らないし他の人も使うので、
なるべく直接リンクさせるような方法をしたいのです。
この2ちゃんの書き込みのフレームのように、右にスクロールがあって、
入力した値を他のセルに反映出来ればいいのですが。
テキストボックスとは限らず、セルでもいいし、
エディットボックスでもいいし。

215 :名無しさん@そうだ選挙にいこう:03/01/26 12:34
>>198
数式じゃ難しいだろうね。
趣旨と違うかも知れないがマクロで総当りしてみた。

Sub test()
Dim a, b, c, d, i As Integer
i = 1
For a = 5 To 26
For b = a + 1 To 27
For c = b + 1 To 28
For d = c + 1 To 29
If a + b + c + d = 66 Then
Cells(i, 1) = a
Cells(i, 2) = b
Cells(i, 3) = c
Cells(i, 4) = d
i = i + 1
End If
Next d
Next c
Next b
Next a
End Sub

aは15まででいいんだけど分かり易いように。
字下げが消えて見にくいのはご勘弁。

216 :名無しさん@そうだ選挙にいこう:03/01/26 13:37
>>215氏のコードに少しだけ手を加えてみた。

Sub test2()
Dim a, b, c, d, i As Integer
Dim IntMax, IntMin, IntSum As Integer
IntMax = InputBox("最大値を入力", , 30)
IntMin = InputBox("最小値を入力", , 4)
IntSum = InputBox("合計値を入力", , 100)
i = 1
For a = IntMin + 1 To IntMax - 4
For b = a + 1 To IntMax - 3
For c = b + 1 To IntMax - 2
For d = c + 1 To IntMax - 1
If IntMin + a + b + c + d + IntMax = IntSum Then
Cells(i, 1) = IntMax
Cells(i, 2) = d
Cells(i, 3) = c
Cells(i, 4) = b
Cells(i, 5) = a
Cells(i, 6) = IntMin
i = i + 1
End If
Next d
Next c
Next b
Next a
End Sub

217 :206:03/01/26 16:02
>>212
やっぱ、ソフトスレですよね。
誘導有難うございますた

218 :名無しさん@そうだ選挙にいこう:03/01/26 16:11
>>216

>Dim a, b, c, d, i As Integer
>Dim IntMax, IntMin, IntSum As Integer

おいおい、全部型を明示しないと、iとIntSum以外はVariant型だよ。

219 :215:03/01/26 16:26
>>218
おー。ありがd、勘違いして使ってた。
As Integer を取っ払って全部 Variant にしといてちょ。

220 :仕様書無しさん:03/01/26 16:45
>>198
ソルバー使ったほうが遥かに楽

221 :名無しさん@そうだ選挙にいこう:03/01/26 16:51
http://jbbs.shitaraba.com/travel/832/
    ◆みんなの情報局◆

222 :名無しさん@そうだ選挙にいこう:03/01/26 17:44
セルの幅で例えばA1とA2の列の幅を別々にしたいんですが
どうすればいいのでしょうか?
上のAを動かしちゃうと両方動いてしまうので…。


223 :名無しさん@そうだ選挙にいこう:03/01/26 18:53
( ´_ゝ`)…アフォばっかりやな

224 :名無しさん@そうだ選挙にいこう :03/01/26 19:00
Excel200です。
コンボボックス使って別のシートの列を検索できるようにしています。
コントロールの書式設定で入力範囲を決定する際、その列は今後もデータを付け加えるので、
今後データの入力された列が増えても大丈夫なように1-100行まで範囲にしてますが、
実際は現在は50行までしかデータがなく残りのセルは空白です。
そのためコンボボックス内に空白セルが表示されてしまいますが、空白を表示しないで
データを付け加えた時はそのデータも反映するコンボボックスの設定は出来ませんか?


225 :名無しさん@そうだ選挙にいこう:03/01/26 19:03
>>222
無理。
幅広くしたい方のセルをB列と結合するしか無いです

226 :名無しさん@そうだ選挙にいこう :03/01/26 19:07
>>225

Excel5のときは、アドインソフト使って、できたんだけど
今はそういうのないのかな?

227 :名無しさん@そうだ選挙にいこう:03/01/26 19:20
>>226
そのアドインがどういう方法で実現してたのかは知らないけど、
セルの上にテキストボックス貼り付けて、セル値を参照して表示させれば
見た目はそれっぽくなるかも

228 :名無しさん@そうだ選挙にいこう:03/01/26 19:23
>>224
データ元Sheetの更新イベントで、コンボボックスに入れる範囲を設定する。

229 :204:03/01/26 19:30
>>212
LinkedCellというのがありました。
これで解決できました。ありがとうございました。

230 :名無しさん@そうだ選挙にいこう:03/01/26 19:46
>>224
名前&VBAを使う。
Private Sub Worksheet_Deactivate()
 Const strRangeName As String = "ListRange"
 Const strShName As String = "Sheet2"
 Dim myNameRange As Range
 Dim y As Long
 With Worksheets(strShName)
  y = .Range("A65536").End(xlUp).Row
  With Range(strRangeName)
   Set myNameRange = .Resize(y, .Column)
  End With
  If myNameRange.Address <> Range(strRangeName).Address Then
   Call s_Naming(strRangeName, myNameRange)
  End If
 End With
End Sub

Sub s_Naming(strName As String, tmpRange As Range)
 On Error Resume Next
 Names(strName).Delete
 On Error GoTo 0
 tmpRange.Name = strName
End Sub

231 :224:03/01/26 21:49
>>230
すみません。基本的なことだと思いますが教えてください。
マクロは使ってますがVBAは使ったことがありません。
書き込みいただいた式をどのようにどこに書き込めばいいんでしょうか?
"Sheet2"と "ListRange"は書きかえる必要がありますか?
ちなみにコンボボックスはフォームから作りました。


232 :名無しさん@そうだ選挙にいこう:03/01/26 22:03
むずかしい事したいならVBAを勉強する。
勉強するの面倒なら、難しいことしようとしない。

233 :名無しさん@そうだ選挙にいこう:03/01/26 22:24
>>231
リストがあるシートのタブを右クリック→コードの表示→貼付

Sheet2とListRangeは適当に書き換えること
あと、A列〜にデータがあると想定しているから、違う場合には
A65536も変更すること。

あ、それとフォームのコンボボックスの入力範囲をListRangeに変更しないと意味ないから

234 :230:03/01/26 23:09
スマソ、9行目を間違えていた。
×Set myNameRange = .Resize(y, .Column)
○Set myNameRange = .Resize(y, .Columns.Count)

235 :名無しさん@そうだ選挙にいこう:03/01/27 00:40
ここに書くのは違うかもしれませんが、質問します。
フローチャートをExcelで書こうとしたのですが、
ループの時の図形が見つかりません。
いつもはVisioで書いているのですが、Excelにはないのでしょうか?
ご存知のかたご教授願います。

236 :名無しさん@そうだ選挙にいこう:03/01/27 06:52
>>235
シェイプで自作。

237 :名無しさん@そうだ選挙にいこう:03/01/27 13:44
Excel 2000を使っています。
1行目を項目見出しとして表を作りましたが、
印刷時にこの行を各頁の先頭に印刷するにはどうすればいいのでしょうか。

画面上でなら「ウィンドウ枠の固定」で常に表示させることはできますが、
この行を印刷時のヘッダのように使えないかな、ということです。

238 :名無しさん@そうだ選挙にいこう:03/01/27 14:04
Excel97を使っています。ある列に商品名が入っているんですが、
これをCSVに変換してホストコンピューターに渡そうと思っています。
この文字列、商品名の長さによってCSVファイルも長短が出てしまうので
列の書式設定→ユーザー定義とかで固定の長さにしたいと思っています。

現在)
りんご,
牛乳,
ボールペン,

希望)
りんご△△,
牛乳△△△,
ボールペン,

ずれてますが、要は何かを後ろに詰めて桁を合わせたいのです。
上手いやり方をご存知の方、お手数ですがアドバイスお願いします。

239 :名無しさん@そうだ選挙にいこう:03/01/27 14:25
http://jsweb.muvc.net/index.html
 ★お気に入りに追加してしまったアドレス★

240 :名無しさん@そうだ選挙にいこう:03/01/27 14:31
Q.
>>237
A.
ファイル⇒ページ設定⇒シート(タブ)⇒印刷タイトル

241 :名無しさん@そうだ選挙にいこう:03/01/27 16:03
あるセルに、C2=ASC(B2)のように半角に変換する関数を入れたとき、
もとのB2のセル(列)を削除すると、C 列の結果も、#ref!って出ますよね。
こうならないように、(C列の計算結果を残すように)B列を削除するには
どのようにすればいいのでしょうか?
初心者の質問でわかりにくいかと思いますが、よろしくお願いします。

242 :名無しさん@そうだ選挙にいこう:03/01/27 16:23
アドインの自動保存で、別名で保存するにはどうしたら良いのでしょうか?
作業中のファイルは、万が一のために、別に保存してくれたような
気がするのですが・・・先ほども、突然エクセルが落ちてしまい
非常に困っています。よろしくお願いします。

243 :237:03/01/27 16:52
>>240
できました。ありがとう。

>>241
C列をコピー 〜 空いている列で「形式を選択して貼り付け」 〜 「値」
〜 B・C列を削除 〜 貼り付けた列を移動

244 :241:03/01/27 16:54
>>243
出来ました!有り難うございました、助かりました!

245 :名無しさん@そうだ選挙にいこう:03/01/27 17:24
>>238
=LEFT(A1&"     ",5)
とか。
""間は全角スペース5個

246 :名無しさん@そうだ選挙にいこう:03/01/27 19:33
vbaでセル背景色をRGBで個別に取得って出来ましたっけ。

247 :名無しさん@そうだ選挙にいこう:03/01/27 20:53
excel2000です。

リスト化されたメールアドレスへ、
outlookexpressで同一内容をCC(もしくはBCC)にて送信する方法があれば
お教え下さい。

248 :名無しさん@そうだ選挙にいこう:03/01/27 21:52
>>247は迷惑メール業者。

249 :名無しさん@そうだ選挙にいこう:03/01/27 22:20
え?業者なの?
じゃー教えるのやめた。csv

250 :247:03/01/27 22:34
違うよ〜 40前半の独身♀上司の尋ねられて…

助けてー

251 :名無しさん@そうだ選挙にいこう:03/01/27 22:42
>>250は偽物。

252 :名無しさん@そうだ選挙にいこう:03/01/27 22:42
>>246

Sub HogeHoge()
  Dim StrColor As String
  StrColor = Right("000000" & Hex(ActiveCell.Interior.Color), 6)
  MsgBox StrColor, vbInformation, "BGR"
  MsgBox Right(StrColor, 2), vbInformation, "Red"
  MsgBox Mid(StrColor, 3, 2), vbInformation, "Green"
  MsgBox Left(StrColor, 2), vbInformation, "Blue"
End Sub

16進数表示になっているので、”&H”をつけてVal関数をかませば10進数に。
  MsgBox Val("&H" & Right(StrColor, 2)), vbInformation, "Red"
  MsgBox Val("&H" & Mid(StrColor, 3, 2)), vbInformation, "Green"
  MsgBox Val("&H" & Left(StrColor, 2)), vbInformation, "Blue"

253 :247:03/01/27 23:30
あー、遊ばれているようなので退散します 残念

254 :名無しさん@そうだ選挙にいこう:03/01/28 12:35
セルにセル参照する数式を入力してから、ドラッグすると参照するセルの番地が
相対的に変わりますよね。
  例えば
   "=A100"
  と入力したセルを、下にドラッグすると
   "=A199"
   "=A200"
となりますよね。
これを、逆順で相対番地が変化するようにしたいのです。
その方法を教えてください。
  例えば
   "=A100"
  と入力したセルを、下にドラッグすると
   "=A2"
   "=A1"

255 :名無しさん@そうだ選挙にいこう:03/01/28 12:37

あっ、、VBAはなるべく使いたくないのですが・・・・・。
どうしても必要ならVBAコードを教えてください。m(__)m

256 :名無しさん@そうだ選挙にいこう:03/01/28 15:24
初期設定のところに「1904年から計算する」というチェックがあるんですが
このチェックをしてあるファイルからしてないファイルへ
日付のコピーをすると4年ずれてしまいます

とりあえず、このチェックをかえればいいのですが
ファイルがいっぱいあるのでいちいちチェックをいれるのが面倒です

なので複数ファイルの初期設定をまとめて変える、または
ずれずに簡単にコピーするにはどうしたらいいですか?

使用OS:mac9.1 excel:98

257 :名無しさん@そうだ選挙にいこう:03/01/28 15:40
>254-255
Sub a()
Dim i As Integer
For i = 100 To 1 Step -1
ActiveCell.Offset(100 - i, 0).Formula = "=A" & i
Next i
End Sub
Excel上でもできるかも…

258 :名無しさん@そうだ選挙にいこう:03/01/28 18:30
>254
例えば別セル(C1〜C100とする)に100〜1を入れておいて
対象セルに =INDIRECT("A"&C1)として下にドラッグなんてのはだめぽ?

259 :254:03/01/28 18:58
>>258
それで十分です。ありがとうございます。

260 :名無しさん@そうだ選挙にいこう:03/01/28 19:49
>>256
Macの98って性能はWinの97と一緒なんだよね?
面倒なので考え方だけ書く。スマソ。

変更したいファイルを一つのフォルダに集める。
Dir関数でフォルダ内のファイル名列挙してファイルOpenループ、
以下ループ内の処理
「ActiveWorkbook.Date1904 = True」で1904年から〜にチェック。
シート全体をコピー。

面倒ならマクロ記録でも。




75 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.04.02 2018/11/22 Walang Kapalit ★
FOX ★ DSO(Dynamic Shared Object)