プロが教えるわが家の防犯対策術!

Windows7/Excel2007では、スクロールバーでもマウスホイールでもスクロールは同じように上下できるのですが、Windows10/Excel2016でExcelマクロ実行するとマウスホイールでスクロールできないという事象です。
他にも実行後「×」でExcelマクロが閉じず、ファイル終了(ブックを閉じた)後なら「×」でExcelが終了します。
解決策を教えて頂ければ助かります。

A 回答 (2件)

コンパネ内にある[マウスのプロパティ](添付図)の黒目玉の位置と設定された数値を教えてください。

「スクロールバーでは上下異動できるが、マウ」の回答画像2
    • good
    • 0
この回答へのお礼

ご質問ありがとうございます。
添付されている内容と同じでした。
とりあえず、解決しました。

お礼日時:2017/08/01 19:17

ピボットの方のマクロで処理の最後にピボットテーブルの無いシートをselectし直す。


https://detail.chiebukuro.yahoo.co.jp/qa/questio …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
selectでは実行エラーとなってしまい、SheetsのVisibleでスクロールしました。

お礼日時:2017/08/01 19:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aと関連する良く見られている質問

Q入力文字を逆さに

写真のようにA1~A4の入力文字をA5~A8に逆さにして入力する方法を教えてください。
エクセル2010と2013を使用しています。
よろしくお願いいたします。

Aベストアンサー

こんなのはどうでしょうか。
「セルの書式設定」-「配置」で、文字列の方向を90度、および、-90度にします。

ちなみに、F1~I1は、A1~D1を数式で参照します。参照順番はお好きなように変更してください。
さらに云うなら、品名や生産日?の一覧を別途作成して、画像の印刷用シートは、それを参照するようにした方が、入力も楽ですね。

Qエクセルで特定の数字だけ勝手に変換されてしまいます

エクセル2010で48,609.793と入力するのですが
入力後のセルを見てみると48,609.792999999と
勝手に変換されてしまいます。
48,609.792や48,609.794ではそのままなのですが
なぜなのでしょうか?
計算上で入力した数値を使用したく困っています。

Aベストアンサー

10進数をコンピュータ内部では2進数の形で保持することによる誤差だそうです。
なるべくこの誤差が出ないようにExcelは工夫されているそうですが、
特定の数字を入力すると「99999…」が現れるのだとか。
この質問を見て調べるまで全然知りませんでした。
https://answers.microsoft.com/ja-jp/msoffice/forum/msoffice_excel-mso_other/excel/bbaaa7f0-5e73-4d7c-aa05-6709a3357d26
https://support.microsoft.com/ja-jp/help/813530

計算式には数字を丸める関数を入れると対処できると思います。
ROUNDやROUNDUP関数で引数を3にしてみてください。
http://kokoro.kir.jp/excel/round.html

QExcelで2つの行を1つにするには?

Excelで2つの行を1つにするにはどうしたらよいでしょうか?

A ○
A   ○
B ○
B      ○

というデータを

A ○ ○
B ○    ○

という形にしたいです。

1行に○は1つで、同じ名前(AやB)であれば、位置も重複するものはありません。
しかし、全部で1万行近くあるため、関数等でまとめることができればと思います。

説明が下手で申し訳ありませんが、何か方法があれば教えてください。
よろしくお願いします。

Aベストアンサー

ちょっと違った方法なので(マニュアル操作です)、興味があればお読みください。
「データ」タブの「総合」機能を使うものです。

集計元データが、Sheet1のA~Dにあるとします。
まず、空白のシート(Sheet2)のA1セルを選択した状態で、「データ」タブの「総合」を選択し、画像のように設定して、OKをクリックしてみて下さい。
すると、A列の値毎に○の数が集計されるので、1→〇に置き換えれば完成です。

Qエクセルを私が開くと日付の表示がおかしくなる(他の人は問題なし)

会社でエクセルファイルを私が開くと日付の表示がおかしくなります。(他の人は問題ないです)

具体的には、平成○年○月○日という表示されるよう設定されファイル作成されているはずが、
私が開くと○月○日平成○○年と表示されます。

このようなファイルが一つではありませんので、私のPCでの「エクセル」の設定がおかしいのかと。

勿論、毎度毎度、気が付く度に手作業で直せますが、根本的にリセットしたいです。
気が付かないで印刷し取引先に送ったら注意を受けてしまいました。

原因・修正にお心当たりの方、ご教示の程宜しくお願い致します。

Aベストアンサー

参考になりますかね
https://oshiete.goo.ne.jp/qa/2408312.html
https://matome.naver.jp/odai/2141732667925396001

Qエクセルの使い方ってどこで習いましたか?

学校では習いませんよね?

Aベストアンサー

私も独学です。
解らないのはネット検索で結構見つかりますので助かっています。(笑)

QExcel 2段組み

縦長の表を2段組みとしたいのですが、下記の条件があります。
Excelで作成することは可能でしょうか。
可能でしたら方法を教えていただけないでしょうか。
よろしくお願いいたします。

①縦長の表を2段組みとしたい。
②表内で並び替えが可能としたい。
③2段組み内の1段の行を削除した場合に空きが出た1段部分に
2段部分のデータが自動で繰り上がるようにしたい。
(例えば2017年1月を削除した場合に2017年8月が自動で繰り上がるようにしたい。)



子供が小さいのでご連絡が遅くなる可能性がありますが、ご回答いただけた方には必ずお返事を致します。
よろしくお願いいたします。

Aベストアンサー

こんばんは!

① は画像のような配置ではなく、最初はA~F列だけにデータが羅列してある。
というコトですよね?
それをA~F列は7か月分だけにし、残りはG~L列に移動させたい!という解釈です。

② の「表内での並び替え」とはどの列がキーになるかが判りません。
これに関しては手作業で範囲指定 → 並び替え というコトが可能だと思いますので、今回はスルーします。

③ は仮にA~F列の1か月分(複数ヶ月でも)データを消去した場合にA~F列は上詰め、
G~L列は上詰めした月数分を繰り上げてA~F列に移動させる!という解釈です。

VBAになりますが一例です。
↓のSample① が「①」、Sample③ が「③」のコードになります。

Dim i As Long, cnt As Long
Dim lastRow1 As Long, lastRow2 As Long
Dim myRng1 As Range, myRng2 As Range
Sub Sample①()
If WorksheetFunction.CountIf(Range("A:A"), "小計") > 7 Then
Range("A1").Resize(, 6).Copy Range("G1")
lastRow1 = Cells(Rows.Count, "A").End(xlUp).Row
For i = 2 To lastRow1
If Cells(i, "A") = "小計" Then
cnt = cnt + 1
If cnt = 7 Then Exit For
End If
Next i
Range(Cells(i + 1, "A"), Cells(lastRow1, "F")).Cut Cells(Rows.Count, "G").End(xlUp).Offset(1)
lastRow1 = 0
cnt = 0
End If
End Sub

Sub Sample③()
If WorksheetFunction.CountIf(Range("A:A"), "小計") < 7 Then
lastRow1 = Cells(Rows.Count, "A").End(xlUp).Row
lastRow2 = Cells(Rows.Count, "G").End(xlUp).Row
For i = 2 To lastRow2
If Cells(i, "G") = "小計" Then
cnt = cnt + 1
If cnt = 7 - WorksheetFunction.CountIf(Range("A:A"), "小計") Then Exit For
End If
Next i
Range(Cells(2, "G"), Cells(i, "L")).Cut Cells(lastRow1 + 1, "A")
Set myRng1 = Range(Cells(2, "A"), Cells(lastRow1, "A")).SpecialCells(xlCellTypeBlanks)
Set myRng2 = Range(Cells(2, "G"), Cells(lastRow2, "G")).SpecialCells(xlCellTypeBlanks)
myRng1.Resize(, 6).Delete shift:=xlUp
myRng2.Resize(, 6).Delete shift:=xlUp
lastRow1 = 0
lastRow2 = 0
cnt = 0
End If
End Sub

※ 「小計」までが各月の最終行と見なしています。
すなわち「小計」の数で行数を決めています。m(_ _)m

こんばんは!

① は画像のような配置ではなく、最初はA~F列だけにデータが羅列してある。
というコトですよね?
それをA~F列は7か月分だけにし、残りはG~L列に移動させたい!という解釈です。

② の「表内での並び替え」とはどの列がキーになるかが判りません。
これに関しては手作業で範囲指定 → 並び替え というコトが可能だと思いますので、今回はスルーします。

③ は仮にA~F列の1か月分(複数ヶ月でも)データを消去した場合にA~F列は上詰め、
G~L列は上詰めした月数分を繰り上げてA~F列に移動...続きを読む

Q【EXCEL】

=OFFSET('Sheet1'!$A$2,INT(ROW(A3)/'Sheet2'!$B$29)-1,0)

Sheet2'!$B$29=COUNTA('Sheet1'!1:1)

このような関数を作成して、Sheet3のA2セルに入力しています。

Sheet1は下記のようなデータです。
空白,会議名1,会議名2,会議名3・・・
出席者名1,支払金額1,支払金額2,支払金額3・・・
出席者名2,支払金額1,支払金額2,支払金額3・・・
出席者名3,支払金額1,支払金額2,支払金額3・・・
・・・

Sheet3は、データベースとして利用したいため、まずは出席者名を会議の数と同数ずつ行に並べたくて作成しました。

今のままだと、1行目の式のROWの部分が会議が増えるたびに変更しなければなりません。
Sheet1の会議数が増えたときに変更なくできるようにする方法が分かる方がいらっしゃいましたらお教えいただけないでしょうか。

Aベストアンサー

こんばんは!

横からお邪魔します。
何列・何行あっても対応できるようにVBAでの一例です。
標準モジュールにしてください。

Sub Sample1() '//この行から//
Dim i As Long, j As Long
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet1")
With Worksheets("Sheet3")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, "C")).Clear
End If
For i = 2 To wS.Cells(Rows.Count, "A").End(xlUp).Row
For j = 2 To wS.Cells(1, Columns.Count).End(xlToLeft).Column
If wS.Cells(i, j) <> "" Then
With .Cells(Rows.Count, "A").End(xlUp).Offset(1)
.Value = wS.Cells(i, "A")
.Offset(, 1) = wS.Cells(1, j)
.Offset(, 2) = wS.Cells(i, j)
End With
End If
Next j
Next i
With .Range("A1").CurrentRegion
.Columns.AutoFit
.Borders.LineStyle = xlContinuous
End With
End With
End Sub '//この行まで//

※ Sheet1のデータをSheet3に表示するようにしていますので、Sheet2に表示したい場合はコード内の
>「Sheet3」の部分1か所を
Sheet2とか実際に表示したいシート名に変更してみてください。

上記マクロを実行すると
↓の画像のような感じになります。

※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。m(_ _)m

こんばんは!

横からお邪魔します。
何列・何行あっても対応できるようにVBAでの一例です。
標準モジュールにしてください。

Sub Sample1() '//この行から//
Dim i As Long, j As Long
Dim lastRow As Long, wS As Worksheet
Set wS = Worksheets("Sheet1")
With Worksheets("Sheet3")
lastRow = .Cells(Rows.Count, "A").End(xlUp).Row
If lastRow > 1 Then
Range(.Cells(2, "A"), .Cells(lastRow, "C")).Clear
End If
...続きを読む

Qエクセルで自動で同じ文字と数字をセルに貼り付ける事は出来るでしょうか? 例えば A1○ B1□ C1

エクセルで自動で同じ文字と数字をセルに貼り付ける事は出来るでしょうか?

例えば
A1○ B1□ C1 20枚 と入力したら
○□が一つのセルに20枚自動入力出来るようにしたいです。

数量がかなりあるため出来るだけ自動にしたいので、お手数ですが教えて頂けませんか。

Aベストアンサー

添付図参照

Qエクセル 数式を教えてください!

エクセルの数式を教えてください!

エクセルでタイムカードを作成しているのですが、休憩時間が2枠ある場合(①通常時間帯②深夜時間帯)の各時間(拘束時間・労働時間・日勤時間・通常残業・深夜
時間・深夜残業)の算出数式が分かりません。

画像のように、休憩時間は①通常時間帯と②深夜時間帯(22:00~5:00)の2枠あり、それぞれ合計時間を数値で入力します。
各時間帯の休憩時間がそれぞれ、
・拘束時間・労働時間・日勤時間・通常残業・深夜時間・深夜残業に反映させるようにしたいのですが、休憩が2枠あるため数式がうまくいきません。。

深夜帯(深夜時間・深夜残業)は22:00~5:00で、1日の労働時間が8時間を超えた場合に残業となります。

画像のように、【拘束時間・労働時間・日勤時間・通常残業・深夜時間・深夜残業】に適切な数値(出勤退勤はh:mmで入力し、その他は15分=0.25単位の数値)で計算されるようにしたいです!

賢者の皆様、どうか宜しくお願い致します!

Aベストアンサー

ANo3です。

>15分を0.25と数値で計算させる方法がわからないので
シリアル値は1日が1.0となるように計算しています。

シリアル値の時間をTとするなら
 =HOUR(T)+MINUTE(T)/60
とすることで、時間単位(15分は0.25時間)に該当する値を得られます。
例えば、3:15 → 3.25 となります。

上記の1日=1.0(1日=24時間)を利用すれば、もっと簡単に
 =T*24
とすることでも、同様の結果を得ることができます。

※どちらの場合も、表示書式は「数値」や「標準」としておく必要があります。

Q西暦から和暦に変換したいのですが、 セル→書式設定→日付→和暦 もしくは セル→書式設定→ユーザー定

西暦から和暦に変換したいのですが、
セル→書式設定→日付→和暦 もしくは
セル→書式設定→ユーザー定義→ggge
でやっているのですが
サンプルが変わらない=サンプルはかわるが#####になる=2017/8/7と戻ってしまう。
Excel2016使用しています。どなたか助けて下さい、宜しくお願いします。

Aベストアンサー

>サンプルはかわるが#####
これは表示の為のセル幅が足りない場合に表示されます。
セル幅を広げて試してください。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング