ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Discussion (Misc queries) (https://www.excelbanter.com/excel-discussion-misc-queries/)
-   -   pytanie o kopiowanie bez zmiany formuły (https://www.excelbanter.com/excel-discussion-misc-queries/270472-pytanie-o-kopiowanie-bez-zmiany-formu%B3y.html)

kajus44

pytanie o kopiowanie bez zmiany formuły
 
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.

Jarek Kujawa[_2_]

pytanie o kopiowanie bez zmiany formuły
 
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.



kajus44

pytanie o kopiowanie bez zmiany formuły
 
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

Jarek Kujawa[_2_]

pytanie o kopiowanie bez zmiany formuły
 
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 -




All times are GMT +1. The time now is 07:28 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com