Rodzina oprogramowania do obsługi arkuszy kalkulacyjnych firmy Microsoft z narzędziami do analizowania, tworzenia wykresów i wymiany danych.
Private Sub CommandButton1_Click()
Dim PlikDane As String
Dim Kol, KolUtwardzacz, Mies, OstaniaKolNazwa, NowaKolNazwa As String
Dim KolMas As Integer
OstaniaKolNazwa = Arkusz4.Cells(2, 6).Text
NowaKolNazwa = Arkusz4.Cells(3, 6).Text
Kol = Arkusz3.Cells(54, 2).Text
KolMas = Arkusz3.Cells(53, 2).Text
KolUtwardzacz = Arkusz3.Cells(58, 2).Text
Miesiac = Arkusz3.Cells(54, 1).Text
PlikDane = "RozliczenieProdukcja.xlsm"
Call Otwarty("RozliczenieProdukcja.xlsm")
If Otwarty("RozliczenieProdukcja.xlsm") = True Then
Rows("2:2").Select
Selection.Find(What:="Utwardzacz", After:=ActiveCell, LookIn:=xlFormulas _
, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate
If Selection.Find(What:="Utwardzacz") = "Utwardzacz" Then
Columns(Kol).Select
If OstaniaKolNazwa <> NowaKolNazwa Then
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range(Miesiac).Select
Selection.Locked = False
Range(Miesiac).Select
Range(Miesiac).Activate
ActiveCell.FormulaR1C1 = NowaKolNazwa
Arkusz4.Cells(2, 6) = ActiveCell.FormulaR1C1
Arkusz3.Cells(3, Kol) = "Średnia cena"
'wpisywanie średnich do komorek
Windows("RozliczenieProdukcja.xlsm").Activate
Sheets("Produkcja").Activate
Sheets("Produkcja").Select
ActiveSheet.Range("$A$11:$JZ$8011").AutoFilter Field:=2, Operator:= _
xlFilterValues, Criteria2:=Array(1, Arkusz4.Cells(3, 7).Text) - W tej komórce jest wpisany w odpowiedni sposób okres jaki być wykorzystany do filtra.
ActiveSheet.Range("$A$11:$JZ$8011").AutoFilter Field:=3, Criteria1:= _
"Farba biała A 300"
Workbooks("RozliczenieProdukcja.xlsm").Sheets("Produkcja").Activate
ActiveSheet.Cells(7, 6).Select
ActiveSheet.Cells(7, 6).Copy
Workbooks("SrednieCeny2020.xlsm").Sheets("SrednieWartosci").Activate
Arkusz3.Cells(4, Kol).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Nie jest to cały kod ale jedna część która wykonuje się kilka razy.
Wszystko działało do pewnego momentu, taki sposób filtrowania wykorzystuję też w innych swoich plikach i tam mam identyczny problem.
Dla podpowiedzi dodam, że w konfikracji Windows 7 vs Office 2016 działa ten kod bez problemu.