Excel 2007 / 2008'de devrik sorun: Excel, mutlak referansları bile aktarıyor


2

Büyük bir çalışma sayfasını değiştirmem gerekiyor. Bu çalışma sayfası sırayla diğer sayfadaki mutlak konumları belirtir. Bu gibi görünüyor:

       A                  B              C
1 Alternatives                      Hardware Costs
2                                   PC desktops / Windows 7
3 Desktops (100%)  Number           123
4                  Capital expenses $123,456
5                  Per client       $789

C5'in bir formülü vardır: ='Variables and sources'!$C$4

Seç> Kopyala> Yapıştır> Transpoze ile transpozisyon yaptığımda, bu parça C5 hariç Tamam'a çevrilir. Formülün değişmeden kalmasını beklerdim: ayrı bir sayfaya atıfta bulunur; mutlak bir referans kullanır; http://office.microsoft.com/en-us/excel-help/switch-transpose-columns-and-rows-HP010224502.aspx adresindeki MS makalesinde "Formüllerin olmayan verilerdeki verileri doğru bir şekilde göstermeye devam etmesini sağlamak için aktarılmış hücreler, bunları aktarmadan önce formüllerde mutlak referanslar kullanın. "

Sonuç olarak = 'Değişkenler ve kaynaklar'! $ D $ 47. Neden? Bu sorunu çözmenin bir yolu var mı? Hem Windows için Excel 2007'yi hem de Mac için Excel 2008'i denedim.

Ben güdük: çalışma sayfası büyük; Transpoze etmem gerekiyor.

Yanıtlar:


1

Ben de aynı sorunu yaşadım - çok çıldırtan! 2-4 satır formülü gayet iyi bir şekilde transpoze edebilirim, ancak daha büyük seçimler ve her şey bir karışıklığa yol açtı (ya da genellikle aktarılan sonuçların altındaki yaklaşık 2-4 satır doğru olurdu) - görebildiğim kadarıyla göze batan bir böcek !?

Transpozisyona ihtiyaç duyan 27000'den fazla hücreli yapraklarım vardı - her bir hücre için adlandırılmış aralıklar oluşturma bir seçenek değildi :)

Sonunda satır için satır yapmak için bazı dağınık kod oluşturdu

Sub transpose()
    ' gummih transpose, takes individual columns and pastes as rows
    Dim firstLine As Integer
    Dim lastLine As Integer
    Dim lineToStartPasting as Integer
    Dim cols As Integer
    firstLine = 2
    lastLine = 80
    lineToStartPasting = 89 'pasting starts at "A90"

    For cols = 1 To 100
        Range(ActiveSheet.Cells(firstLine , cols ), ActiveSheet.Cells(lastLine , cols )).Select
        Selection.Copy

        ActiveSheet.Cells(lineToStartPasting + cols , 1).Select
        Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
            False, transpose:=True
    Next cols 
End Sub

0

Adlandırılmış bir aralık / hücre kullanmayı deneyin.

Git Formula > Adı Yöneticisi > Yeni

Tercih ettiğiniz ismi girin, örneğin " per_client "

"Refers To" alanına aşağıdakini girin ("=" unutma):

='Variables and sources'!$C$4

C5 hücresinde bu formülü kullanın:

=per_client

Veri aralığınızı tekrar aktarın.


İlginç. Bir çözüm olabilirdi. Aslında "Değişkenler ve kaynaklar" çalışma sayfasında tanımlanmış yaklaşık 60 değişken var. Seçimden Oluştur'u kullanarak toplu olarak Adlar oluşturabildim. Ancak sorun bu isimleri uygulamak. Ne zaman onları uygulamaya çalışırsam, "Microsoft Excel'in değiştirilecek referans bulamıyorum." Bu sorunla ilgili bu KB makaleyi buldum, ancak yalnızca Excel 2000 için geçerlidir: support.microsoft.com/kb/268974 . İkincisi, dünyada başka bir çalışma sayfasına isim uygulayamazsam isimlerin kapsamı = Çalışma Kitabı'nın amacı nedir?
DKroot

Adınızdaki hücre başvurularının sayfa adını içerdiğinden emin olun. Kapsamı Çalışma Kitabı olarak ayarlayarak, adınız dosyanızdaki diğer tüm sayfalarda kullanılabilir, ancak açtığınız diğer çalışma kitaplarında kullanılamaz. Kapsamı tek bir sayfaya ayarlamak, bu adı yalnızca o sayfada kullanabilirsiniz. Başka bir sayfadan "yerel" bir ad çağırmak için, sayfa adından önce gel (örneğin Sayfa 1! MyRange). Daha fazla bilgi için: office.microsoft.com/en-us/excel-help/…
Ellesa
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.