Excel総合相談所 136
レス数が950を超えています。1000を超えると書き込みができなくなります。
【1 OSの種類 .】 Windows**
【2 Excelのバージョン 】 Excel**
【3 VBAが使えるか .】 はい・いいえ
【4 VBAでの回答の可否】 可・否
▼━関連スレ━━━━━━━━━━━━
前スレ
Excel総合相談所
https://find.5ch.net/search?q=excel
Excel VBA 質問スレ
https://find.5ch.net/search?q=excel+vba
【質問不可】Excel総合相談所スレの雑談・議論スレ
https://find.5ch.net/search?q=excel+%E3%80%80%E7%9B%B8%E8%AB%87%E6%89%80 >>850
株価の現在値です
B2で>>849の修正をしたとして、A2に「8698」を入力すると
D2にはB2に含まれる「335」を抽出したいです すいません、自己解決しました
C列のやり方を参考に、株価の現在値の前後の固有の単語から何文字を抜き出す、
というやり方で出来ました
教えて頂いた方、ありがとうございました ヘッダーに日付を入れたいのですが、このページ数の文字を大きくする(20くらい)
にはどう書けばよいでしょうか?
.LeftHeader = "&P/&N" あるブックの「=A1&"aaa"」と入ったセルをvba で別ブックにcopyするとaaaと転記されてしまいます
=A1の部分も反映させるにはどうしたらいいでしょうか? >>858
コピーせずにそのセルのFormulaに入れる GI列の最終行の値を、下に向かってコピー
A列の最終行と同じ行までコピーするVBAをお願いします。
A GI
***.....**
***.....**
***.....**
***.....
***.....
***.....
***.....
***.....
↓↓↓↓↓↓↓↓
A GI
***.....**
***.....**
***.....**
***.....**
***.....**
***.....**
***.....**
***.....** >>860
GI列の最終行の値を、下に向かってコピー
A列の最終行と同じ行までコピーする
dim cnt
cnt =[a10000].end(xlup).row-[GI10000].end(xlup).row
if cnt>1 then
[GI10000].end(xlup).offset(1).resize(cnt).value = _
[GI10000].end(xlup).value
end if すでにIEのダウンロードダイアログが開いた状態で、VBAで任意のフォルダを選択して保存するにはどうしたらいいでしょうか? 任意のフォルダなんか選択しなくていい。
ファイル名書く所に、パスごと書き込む。
WindowsAPIでね。 >>864
Windows APIがよくわかっていなくて、みんな大嫌いsendkeysしか思いつかないのですが・・ >>865
sendkeyでどうにかしようとする方がよっぽど難しくて不安定だから >>866
よくわかっていなくて恐縮ですが、ファイル名を書くところにsendmessageでパスごと書き込むということでしょうか? そう。
全然違うフォルダを選択していても、パスごと書き込めば、その場所に保存可能。 俺が小学生だったら、絶対変数名は「たこ焼きラーメン」とか「悪魔超人」にしてるわwwww >>868
名前をつけて保存のキャプションからウィンドウハンドル?を取得するところまではなんとなくわかったのですが、ファイル名の入力、保存ボタンの押下まで辿り着けません・・ 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
セルを右クリックした時に出てくるミニツールバーに、Σや右より表示などのコマンドを
登録する方法は有るのでしょうか? 【1 OSの種類 .】 Windows*7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 否
参照範囲の中に日付と文字列と空欄が混在しており、エラーを吐いてしまいます。
E列とJ列は文字列でG列から日付などが混在しています。最新の日付だけを引っ張りたいです。
試しにG列を全て日付にしてみたら通ったので、文字列と空欄を置き換えなどでごまかす方法があったら教えて頂きたいです。
以下の式まで組みました。
{=MAX(('18〜'!E3:INDIRECT("'18〜'!E"&COUNTA('18〜'!A:A)+1)=C7)*('18〜'!J3:INDIRECT("'18〜'!J"&COUNTA('18〜'!A:A)+1)=H7)*'18〜'!G3:INDIRECT("'18〜'!G"&COUNTA('18〜'!A:A)+1))}
御回答よろしくお願いします。 >>870
SendMessageのWM_SETTEXTで文字を送るところまで行った?
その前のFindwindowExで子ハンドル探すあたり?
WM_SETTEXTとかBM_CLICKの正体(実はただの定数)がわからないとか? >>873
{=MAX(〜)}の代わりに=AGGREGATE(14,6,〜,1) 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2013
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
AD列の最終行の1つ下の行から、1233行までを削除するVBAを教えてくださいm(_ _)m >>877
range("ad1233", cells(cells(rows.count,"ad").end(xlup).row+1,"ad")).delete
細かい作業一つ一つ聞くよりマクロの自動登録使う方が手っ取り早いと思うんだが public Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxA" (ByVal hWnd As Long, ByVal lpText As String,ByVal uType As Long) As Long
'OKボタンを保有するフラグ
Public Const MB_OK = &H0
'最前面フラグ
Public Const MB_TOPMOST = &H40000
'呼び出し
Public Sub TestTopMostMsgBox()
Dim lpText As String
Dim lpCaption As String
lpText = "テスト"
MessageBox 0, lpText, lpCaption, MB_OK Or MB_TOPMOST
End Sub
これを実行すると必ずexcelが落ちるのですが何がいけないのでしょうか・・ >>880
public Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxA" (ByVal hWnd As Long, ByVal lpText As String,ByVal uType As Long) As Long
↓
Public Declare Function MessageBox Lib "user32.dll" Alias "MessageBoxA" ( _
ByVal hWnd As Long, _
ByVal lpText As String, _
ByVal lpCaption As String, _
ByVal uType As Long) As Long >>882
行全体ならdeleteをentirerow.deleteに変更 >>881
なぜそんな簡単なことで解決したのかわからないくらい簡単に治りました、ありがとうございました 引数が足りなかったのか。
改行すれば直るのかと思ったわ。 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2019
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 不可
A1に日本って打ったらB1に東京と表示され
同じくA1にアメリカと入力したらB1にワシントン
ロシアならモスクワ、何も入力しない場合は空欄が
表示されるようにしたいんだけどやり方を教えて下さい >>886
表示させたい国と首都の全リストの表を別に作っておいてVLOOKUPで引っ張ってくる >>886
=IF(A1="日本","東京",IF(A1="アメリカ","ワシントン",IF(A1="ロシア","モスクワ",IF(A1="","","?")))) >>886
B1⇒ =IFERROR(INDEX(E:E,MATCH(A1,D:D,0)),"")
D1⇒ 日本
E1⇒ 東京
D2⇒ アメリカ
E2⇒ ワシントン
D3⇒ ロシア
E3⇒ モスクワ >>886
=SWITCH(A1,"日本","東京","アメリカ","ワシントン","ロシア","モスクワ","") >>892
このハゲ!
一つじゃなくてもベストな方法は一つだ 絶対参照と複合参照、相対参照だったかな?
このあたりがわからん。
mosの資格をとりたい >>894
「絶対参照」とかで検索した方が早い
MOSなら資格板に言ったほうが良い。一週間も模試うけまくればまず落ちることはない >>894
出るものって結構決まってるから模試やればいける
やらないと無理かも
ただ本番の方が日本語が拙い時があって悩むw
問題数は模試のが多いな オプション設定の設問やピボットの細かい機能求められるので、模試やらないと絶対に受からんと思う >>894
絶対参照と相対参照は、超簡単。
まずはそれを理解して、複合参照を理解すれば大丈夫。
複合参照は実務だと、条件付き書式でよく使う。 条件付き書式は$つけないでいけることも多いから
やってみてずれたら行と列とどっち固定かなって考えてつける VBAとか関数とか最初にちょろっと打って予測か出てくるの選んで、とやってるとテストだと忘れててきつい 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel1601192920300
先頭、末尾に移動するのにCtrl + Home、Ctrl + Endはわかっているのですが
ツールバーでありませんか? sub ○○() は本来
(Public) sub ○○() が省略されてるもの
で合っていますか?
Cells(1, 1).Value = が Cells(1, 1) = でいけるのと同じで 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 不可
A1に
S15がAならB A以外は空欄
で
Bは別シートの別シートC12
と表示するにはどうしたらいいですか? 空欄は""
別シートのセル指定は=の後に別のシートのセルクリックして
実際にどうなっているか見ればいいでしょ >>906
そういうこと
Private,Friend等指定が無い場合そうなる
>>907
if(s15="A",hage!c12,"") >>910
詳しく書いていただき
ありがとうございます 集合横棒グラフは、目盛(値軸)を上下2つ付けることできないんでしょうか? グラフをコピーして2個作って上下に並べればいいよ
片方の横メモリラベルは消せばいい 【1 OSの種類 .】 Windows7
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 不可
A1
=IF(S12="日","",'計画 '!C12)
だと
で別シート'計画 '!C12が空欄の場合
A1が0になってしまいます
で別シート'計画 '!C12が空欄の場合
A1が空欄になるにはどのようにすれば良いですか? >>914
if('計画 '!C12="","",'計画 '!C12) >>914
=IF(OR(S12="日",'計画 '!C12=""),"",'計画 '!C12) >>916
ありがとうございます
複雑すぎて意味わからないですが
上手くいきました
大変助かります 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2010
【3 VBAが使えるか .】 いいえ
【4 VBAでの回答の可否】 可
・あるセルに数値を書き込む
・数値入力時点での日付、時刻を隣接セルに書く
というようなことをやっていて、日時入力の手間を減らしたい
イメージを作ってみたがこんな感じ
https://i.imgur.com/2HVxrLE.jpg
「ctrl+;」「ctrl+:」でもいいんだけどかなり頻繁に入力するからなるべく手間を減らしたいんだ
こういうのはVBAでやらなきゃ無理かな?
now関数とかは入力するたび変わっていっちゃうからうまい具合にやる方法が思いつかない >>919
一応聞いておきますけれども 、1日に何個くらいデータ入力するのですか? B2は二回目の入力データでいいの?一回目のデータは要らないの? 金額のまえに?がついてしまい、置換で消そうとしても?は特別な意味のある記号らしく、全てを空白に置換するとセルが全部消えてしまいます。
https://i.imgur.com/gkoRlOj.png 【1 OSの種類 .】 Windows10
【2 Excelのバージョン 】 Excel2016
【3 VBAが使えるか .】 はい
【4 VBAでの回答の可否】 可
>>923の状態は、むしろどうやって作るのでしょうか? >>926
ありがとうございました。
文字化けですか。 最近よく見るけど、¥記号、〜記号、ハイフン、半角スペースなど一部の記号だけがなぜかユニコード文字になってるWEBサイトやデータがけっこうあって、コピペやエクスポートすると必ず文字化けするんだよなあ
スマホやタブレットからデータ入力すると、日本語入力エンジンのデフォルトの優先順位の関係でユニコードが選ばれてしまうらしいんだけど、修正の手間が増えて地味に困ってる G列の2行目以降でセルの値が1000であれば、その行を行ごと削除したくて
これを試したのですが、エラーになります
Columns("7").AutoFilter Field:=7, Criteria1:="=1000"
Range(Range("G2"), Range("G" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible).EntireRow.Delete
Selection.AutoFilter
それと同じようにA列の2行目以降で"59″であれば行を削除するためにこれをつかいたいのですが
1行目がなくなり、AutoFilterが解除されないです。
Columns(1).AutoFilter Field:=1, Criteria1:="=59"
Range(Range("A2"), Range("A" & Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible).EntireRow.Delete
Selection.
正しい書き方をおしえてください >>932
オートフィルターに頼らない方が良い
あれは微妙に挙動がややこしい
Sub Macro1()
For i = Cells(Rows.Count, 7).End(xlUp).Row To 2 Step -1
If Cells(i, 7).Value = 1000 Then
Rows(i & ":" & i).Delete Shift:=xlUp
End If
Next
End Sub >>934
どこの部分ですか?
>>935
これを使ったのですが、時間がかかるもので、オートフィルターを使おうと思いました。 遅いなら配列に入れるとか。
Sub Macro1()
tmp = Range("G1:G" & Cells(Rows.Count, 7).End(xlUp).Row).Value
For i = Cells(Rows.Count, 7).End(xlUp).Row To 2 Step -1
If tmp(i, 1) = 1000 Then
Rows(i).Delete
End If
Next
End Sub まあ最速はアドバンスフィルタかSQLだと思うけど。 >>932
Columns("G").AutoFilter Field:=1, Criteria1:="1000"
Row = Range("G" & Rows.Count).End(xlUp).Row
If Row >= 2 Then Rows(2 & ":" & Row).Delete
Columns("G").AutoFilter >>938
ありがとうございますm(__)m
早くなりました。 マクロって結果をシートに代入させると遅くなるのかな
1列のみの50行の範囲、検索数18個(for〜)の条件で
合えば、セルに色を付ける作業でも目でわかる速さでポツン、ポツンって色が付く >>943
表示に関わる処理は遅い
でもセルに値や式を入れるのなら1回で一気にやれば一瞬 色が付いていく様子が見えると言うことは表示切ってないだろうから、
screenupdatingを切れば50行程度ならマシになるんじゃね >>945
画面の切り替えはないから速度変化はないと思うけどscreenupdatingは別のマクロで使えそうなので感謝 >>946
画面の切り替えではなく、描画をONOFFする命令だよ 指定したセル範囲内に、異なる2つ以上の値(ブランク含まない)があればtrueを返す、VBAプログラムを教えてください。 >>948
Function 違うのがある()
違うのがある = False
For Each c In Range("A1:E10")
If c.Value <> "" Then x = c.Value: Exit For
Next
For Each c In Range("A1:E10")
If c.Value <> "" And c.Value <> x Then 違うのがある = True: Exit For
Next
End Function >>950
良さそうな案と早レスありがとうございます!
試してみます! レス数が950を超えています。1000を超えると書き込みができなくなります。