2 proste problemy w Excelu

Tematy

Moonlight Sonata // Saucedo Odkrywa Miłuje Kocha

1. Dlaczego funkcja:

Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Set objWorkbook = objExcel.Workbooks.Open("C:\Scripts\Test.xls") Set objWorksheet = objWorkbook.Worksheets(1) Set objRange = objWorksheet.UsedRange For Each objCell in objRange If IsNumeric(objCell.Value) Then If objCell.Value = "0" Then objCell.Interior.ColorIndex = 3 ElseIf objCell.Value = "+" Then objCell.Interior.ColorIndex = 4 ElseIf objCell.Value = "x" Then objCell.Interior.ColorIndex = 0 ElseIf objCell.Value = "v" Then objCell.Interior.ColorIndex = 5 End If End If Next

nie koloruje mi pola i wyskakuje błąd ?

2. Posiadam w pewnym polu funkcję =LICZ.PUSTE(A1000:B1000), w jaki sposób zamiast stałych parametrów A1000 i B1000 wstawić "pobierz wartość parametru z komórki G3" a w G3 oczywiście liczba 1001.

Z góry dziękuje za pomoc.




1. Dlaczego funkcja:... nie koloruje mi pola i wyskakuje błąd ?
Ta funkcja działa i koloruje pola. Dwa tylko drobne wyjaśnienia.
Set objWorkbook = objExcel.Workbooks.Open("C:\Scripts\Test.xls")Tutaj się wywali jeśli bedzie zła ścieżka lub plik nie istnieje

oraz
If IsNumeric(objCell.Value) Then Komórki z zawartościa "+", "x" i "v" nie sa typu Numeric zatem tych komórek nie pokoloruje.


2. Posiadam w pewnym polu funkcję =LICZ.PUSTE(A1000:B1000)... a w G3 oczywiście liczba 1001
Np. tak:
=LICZ.PUSTE(ADR.POŚR(ZŁĄCZ.TEKSTY("A";TEKST(G3;0));PRAWDA):ADR.POŚR(ZŁĄCZ.TEKSTY(" B";TEKST(G4;0));PRAWDA))
gdzie "A" - kolumna początku zakresu
"B" - kolumna końca zakresu
G3 - komórka wiersza początku zakresu
G4 - komórka wiersza końca zakresu
Użytkownik imcpan edytował ten post 09 lipiec 2010, 07:06
Odp.1

Dim objExcel Dim objWorkbook Dim objWorksheet Dim objRange Dim objCell On Error Resume Next Set objExcel = GetObject(, "Excel.Application") If objExcel Is Nothing Then Set objExcel = CreateObject("Excel.Application") objExcel.Visible = True Else objExcel.Visible = True End If Set objWorkbook = objExcel.Workbooks.Open("C:\Scripts\Test.xls") Set objWorksheet = objWorkbook.Worksheets(1) Set objRange = objWorksheet.UsedRange For Each objCell In objRange If Not IsEmpty(objCell) Then Select Case objCell Case "0" objCell.Interior.ColorIndex = 3 Case "+" objCell.Interior.ColorIndex = 4 Case "x" objCell.Interior.ColorIndex = 7 Case "v" objCell.Interior.ColorIndex = 5 End Select End If Next On Error GoTo 0 Set objRange = Nothing Set objWorksheet = Nothing Set objWorkbook = Nothing Set objExcel = Nothing

odp.2

=LICZ.PUSTE(ADR.POŚR("A" & G1 & ":B" & G1))
Użytkownik ALIENQuake edytował ten post 10 lipiec 2010, 12:37
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • milosnikstop.keep.pl
  • Powered by MyScript