Home |
Search |
Today's Posts |
#1
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Witam
Przy kopiowaniu komórek, jeśłi nie chemy żeby zmieniły się adresy do których odnoszą się formuły dopisujemy sybbole & przed czy to literkę kolumny czy to przed liczbę wiersza, czy w końcu przed obie te współrzędne. Ale przyszło mi przekopiować pewnien zakres w jednym arkuszu, gdzie ręczne dopisywanie w formułach odnoszących się w dodatku do innych arkuszy to marnowanie mnóstwa czasu, poza tym po przekopiowaniu zakresu musiałbym te sybole dolara likwidować. Na razie szef podpowiedział mi taki sposób: 1. kopiuję arkusz w którym mam interesujacy mnie zakres 2. zaznaczam w już skopiowanym arkuszu tenże zakres który mnie interesuje 3. PRZESUWAM go w miejsce w którym ma być docelowo 4. Kopiuję zakres ze skopiowanego arkusza w to samo miejsce ale w arkuszu pierwotnym po całej operacji usuwam skopiowany arkusz jako zbędny Szukałem "wklejaniem specjalnym", zamieniałem komórki na tekstowe i kopiowałem je, nie dało to nic (jeśli chodzi o oszczędność czasu), owszem, działało to, ale po sformatowaniu zakresu jako TEKSTOWE formuły działały dalej, dopóki nie weszło się do każdej komórki i nie kliknęło ENTER, to samo po przekopiowaniu i ponownej zmianie formatu na LICZBOWE - to samo, F2 plus ENTER Ma ktoś lepszy sposób? Może sposób ze zmianą formatu komórek ma sensbez klikania w każdą komórkę, wiem że w Wordzie takie aktualizowanie następowało po kliknięciu chyba klawisza F9 czy jakoś tak. Na razie kopiowanie arkusza i przesuwanie najszybsze. |
#2
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
1. zamiast dopisywania znaku $ mozna uzywać F4 przy edytowaniu formuły
2. mozna wykorzystać poniższe makro (najpierw trzeba zaznaczyć zakres komórek, w którym chcesz dokonać zmiany sposobu adresowania w formułach): Sub Makro1() Dim cell As Range Dim tekst_formuly As String Dim nowy_tekst_formuly As String For Each cell In Selection tekst_formuly = cell.Formula nowy_tekst_formuly = Application.ConvertFormula(tekst_formuly, xlA1, xlA1, xlRelative, cell) cell.Formula = nowa Next End Sub makro to zamienia adresy na względne = bez znaków $ w celu zamiany adresów na bezwzględne zamień xlRelative and xlAbsolute poza tym są jeszcze argumenty xlAbsRowRelColumn (wiersz z $, kolumna bez $) i xlRelRowAbsColumn (wiersz bez $, kolumna z $) On 19 Kwi, 14:19, kajus44 wrote: Witam Przy kopiowaniu komórek, jeśłi nie chemy żeby zmieniły się adresy do których odnoszą się formuły dopisujemy sybbole & przed czy to literkę kolumny czy to przed liczbę wiersza, czy w końcu przed obie te współrzędne. Ale przyszło mi przekopiować pewnien zakres w jednym arkuszu, gdzie ręczne dopisywanie w formułach odnoszących się w dodatku do innych arkuszy to marnowanie mnóstwa czasu, poza tym po przekopiowaniu zakresu musiałbym te sybole dolara likwidować. Na razie szef podpowiedział mi taki sposób: 1. kopiuję arkusz w którym mam interesujacy mnie zakres 2. zaznaczam w już skopiowanym arkuszu tenże zakres który mnie interesuje 3. PRZESUWAM go w miejsce w którym ma być docelowo 4. Kopiuję zakres ze skopiowanego arkusza w to samo miejsce ale w arkuszu pierwotnym po całej operacji usuwam skopiowany arkusz jako zbędny Szukałem "wklejaniem specjalnym", zamieniałem komórki na tekstowe i kopiowałem je, nie dało to nic (jeśli chodzi o oszczędność czasu), owszem, działało to, ale po sformatowaniu zakresu jako TEKSTOWE formuły działały dalej, dopóki nie weszło się do każdej komórki i nie kliknęło ENTER, to samo po przekopiowaniu i ponownej zmianie formatu na LICZBOWE - to samo, F2 plus ENTER Ma ktoś lepszy sposób? Może sposób ze zmianą formatu komórek ma sensbez klikania w każdą komórkę, wiem że w Wordzie takie aktualizowanie następowało po kliknięciu chyba klawisza F9 czy jakoś tak. Na razie kopiowanie arkusza i przesuwanie najszybsze. |
#3
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
Dnia Fri, 22 Apr 2011 07:06:46 -0700 (PDT), Jarek Kujawa napisał(a):
1. zamiast dopisywania znaku $ mozna uzywać F4 przy edytowaniu formuły 2. mozna wykorzystać poniższe makro (najpierw trzeba zaznaczyć zakres komórek, w którym chcesz dokonać zmiany sposobu adresowania w formułach): Sub Makro1() Dim cell As Range Dim tekst_formuly As String Dim nowy_tekst_formuly As String For Each cell In Selection tekst_formuly = cell.Formula nowy_tekst_formuly = Application.ConvertFormula(tekst_formuly, xlA1, xlA1, xlRelative, cell) cell.Formula = nowa Next End Sub makro to zamienia adresy na względne = bez znaków $ w celu zamiany adresów na bezwzględne zamień xlRelative and xlAbsolute poza tym są jeszcze argumenty xlAbsRowRelColumn (wiersz z $, kolumna bez $) i xlRelRowAbsColumn (wiersz bez $, kolumna z $) Dziękuję za pomoc, ale mam pytanie, bo rzuca mi się o nawias za słowem cell, że jakis błąd jest: "Compile error: Expectd: end of statement" i po zamknięciu nie ma efektu. I jeszcze pytanie, w makrze jest w dwóch miejscach xlA1 <- to mam jakoś zmienic czy zostawiać tak jak jest, nie wiem nic na temat makr oprócz kopiowania i wklejania do arkusza MVB |
#4
![]()
Posted to microsoft.public.excel.misc
|
|||
|
|||
![]()
mój błąd, sory
poprawione makro: Sub Makro1() Dim cell As Range Dim tekst_formuly As String Dim nowy_tekst_formuly As String For Each cell In Selection If cell.HasFormula Then tekst_formuly = cell.Formula nowy_tekst_formuly = Application.ConvertFormula(tekst_formuly, xlA1, xlA1, xlAbsolute, cell) cell.Formula = nowy_tekst_formuly End If Next End Sub testowałem na różnych zakresach i nie zauważyłem żeby xlA1 miało jakikolwiek wpływ na działanie makra On 27 Kwi, 14:05, kajus44 wrote: Dnia Fri, 22 Apr 2011 07:06:46 -0700 (PDT), Jarek Kujawa napisał(a): 1. zamiast dopisywania znaku $ mozna uzywać F4 przy edytowaniu formuły 2. mozna wykorzystać poniższe makro (najpierw trzeba zaznaczyć zakres komórek, w którym chcesz dokonać zmiany sposobu adresowania w formułach): Sub Makro1() Dim cell As Range Dim tekst_formuly As String Dim nowy_tekst_formuly As String For Each cell In Selection * * tekst_formuly = cell.Formula * * nowy_tekst_formuly = Application.ConvertFormula(tekst_formuly, xlA1, xlA1, xlRelative, cell) * * cell.Formula = nowa Next End Sub makro to zamienia adresy na względne = bez znaków $ w celu zamiany adresów na bezwzględne zamień xlRelative and xlAbsolute poza tym są jeszcze argumenty xlAbsRowRelColumn (wiersz z $, kolumna bez $) i xlRelRowAbsColumn (wiersz bez $, kolumna z $) Dziękuję za pomoc, ale mam pytanie, bo rzuca mi się o nawias za słowem cell, że jakis błąd jest: "Compile error: Expectd: end of statement" i po zamknięciu nie ma efektu. I jeszcze pytanie, w makrze jest w dwóch miejscach xlA1 <- to mam jakoś zmienic czy zostawiać tak jak jest, nie wiem nic na temat makr oprócz kopiowania i wklejania do arkusza MVB- Ukryj cytowany tekst - - Pokaż cytowany tekst - |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
What is the most straightforward (elegant) way to write this formu | Excel Worksheet Functions | |||
Vlookup, IF, concantenate, Right -- can all these be in one formu | Excel Worksheet Functions | |||
How do I refer to a 'formula' instead of the result of that formu | Excel Discussion (Misc queries) | |||
Is there a way to extract numbers from comments for use in a formu | Excel Discussion (Misc queries) | |||
how can i transfer fourmular results as a value in a second formu | Excel Worksheet Functions |