Seçili sütunları csv dosyasına verme


24

Belirli sayıda sütunu excel'den .csv dosyasına vermek istiyorum. Ben gibi etrafında 10 sütun var lname, fname, phone, address, emailvb. Ne gibi sadece belirli sütunları ihracat yapması gerektiğini lname, emailvb?

Yanıtlar:


23

Sadece basit bir şekilde yapın: -

  1. 10 sütun için birleştirme uygula

    =CONCATENATE(A1,",",B1,",",C1,",",D1,",",E1,",",F1,",",G1,",",H1,",",I1,",",J1)
    
  2. Son satırınızın liste sonunu aşağı sürükleyin

  3. Sonuç sütununu kopyala
  4. Not defterine yapıştır
  5. .csvDosya formatı olarak kaydet

CONCATENATE benim için gerçekten harika çalıştı. Çok teşekkür ederim.
Nedim Šabić

3
Basit ... sütunlarınızdan herhangi birinde çifte fiyat teklifi bulunmadıkça ...
bishop

Birleştirilmiş öğeleri noktalı virgülle ayırmanız gerekmez mi? = BİRLEŞTİR (A1; " "B1;", "C1;", "D1;" "; E1;" "; F1;", "G1,", " H1;"," ; I1; ","; J1)
mabho

9

İstediğiniz ilk sütunu seçin. Ardından, basılı tutarken <Ctrl>istediğiniz kalan sütunları seçin. Seçiminizi kopyalayın ve yeni bir çalışma kitabına yapıştırın. Yeni çalışma kitabını bir .csv dosyası olarak kaydedin.

Bunu sık sık yapacaksanız, adımlarınızın bir makrosunu kaydedin. Testimden kaydedilen makro burada. Örneğimde, A sütunu Ad, E sütunu E-postadır. Makroyu da değiştirdim, böylece SaveAs dosya adı geçerli tarihi içeriyor.


Örnek bir makro gösterecektim, ama ne sebeple olursa olsun, Düzenleyicileri Kaydet'i tıkladığımda süper kullanıcı hata veriyor. Daha sonra tekrar deneyeceğim.


4

İşte düşük teknoloji ürünü bir çözüm:

  1. Sayfanızın tümünün bir kopyasını .csv olarak kaydedin.
  2. Excel'de hala açıkken, istemediğiniz sütunları silin.
  3. Kayıt etmek.

3

Bunun için kendi VBA çözümümü bir eklenti olarak yazdım; GitHub'da burada mevcut .

Örnek görünüm (daha büyük sürüm için resmin üzerine tıklayınız):

Takım formunun ekran görüntüsü

Kullanım adımları:

  • Eklentiyi yükle
  • Formu yükle ( şu anda formu göstermek için Ctrl+ Shift+ Catanmış)
  • Dışa aktarmak istediğiniz aralığı vurgulayın
  • Verme klasörünü seçin
  • İstediğiniz dosya adını, sayı biçimini ve ayırıcıyı girin
  • Eklenip eklenmeyeceğini seçin
  • 'Dışa Aktar'ı tıklayın

Form modsuzdur, bu nedenle farklı aralıklar seçerken veya sayfadan sayfaya veya çalışma kitabından çalışma kitabına giderken açık bırakabilirsiniz. Not etmek gerekirse, "sembol" ( @), bunun gibi çıktı işlemleri için Excel'in 'Genel' sayı biçiminin bir temsili olarak hizmet eder.

C:\test.csvYukarıdaki örnekte yer alan içerik :

13,14,15
14,15,16
15,16,17


1

Dosyayı Ron Düzenleyicisi'nde açarsanız, istemediğiniz sütunları gizleyebilirsiniz, ardından ortaya çıkan 'görünümü' bir Excel dosyası veya başka bir biçimde dışa aktarın. Daha da iyisi, görünümü ileride kullanmak üzere saklayabilirsiniz. Çok hızlı, çok kolay.


1

Yine başka bir çözüm:

  1. Dışa aktarmak istediğiniz hücreleri seçin
  2. Hücrelerin etrafına bir tablo sarın (örneğin, Windows'ta Control + T tuşlarına basın)
  3. ExportTable makrosunu çalıştırın

Tabloyu aktif sayfada yeni bir CSV olarak kaydeder (yeni bir çalışma kitabını açarak ve buradan kaydederek, tablo adını dosya adı olarak kullanarak).


1
Sub ExportSelectionAsCSV()
    ' MS Excel 2007
    ' Visual Basic for Applications
    '
    ' Copies the selected rows & columns
    ' to a new Excel Workbook. Saves the new 
    ' Workbook as Comma Separated Value (text) file.
    '
    ' The active workbook (the 'invoking' workbook - the 
    ' one that is active when this subroutine is called) 
    ' is unaffected.
    '
    ' Before returning from the subroutine, the invoking workbook
    ' is "set back to" (restored as) the active workbook.
    '
    ' Note: target filename is hard coded (code is simpler that way)

    ' Suspends screen updating (until ready to return)
    ' Warning: ScreenUpdating MUST be re-enabled before
    ' returning from this subroutine.
    '
    ' Note: Step through this subroutine line-by-line to prove
    ' to yourself that it is performing as promised.
    ' (Please step through the code at least once - use F8)
    Application.ScreenUpdating = False

    ' Gets the name of *this (the invoking) workbook
    ' so *this workbook can again be set active
    ' at the end of this subroutine.
    Dim CurrentFileName As String
    CurrentFileName = ActiveWorkbook.Name
    Debug.Print "Active File: " + CurrentFileName

    ' Copies the selected cells (to the clipboard).
    ' Precondition: Cells must be selected before 
    ' calling this subroutine.
    Selection.Copy

    ' Instantiates a (new) object instance of type Excel workbook.
    ' Side-effect: The new workbook instance is now
    ' the 'active' workbook. 
    Workbooks.Add Template:="Workbook"

    ' Selects the first cell of the 
    ' first worksheet of the new workbook.
    Range("A1").Select

    ' Pastes the clipboard contents to the new worksheet
    ' (of the new workbook)
    ActiveSheet.Paste

    ' Writes the new (active) Excel workbook to file.
    ' The format is Comma Separated Value
    ActiveWorkbook.SaveAs Filename:= _
    "C:\temp\data.csv" _
    , FileFormat:=xlCSV, _
    CreateBackup:=False

    ' Gets the filename of the new (active) workbook
    ' so the name can be logged.
    Dim NewFileName As String
    NewFileName = ActiveWorkbook.Name
    Debug.Print "Active File: " + NewFileName

    ' Closes the new CSV file
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True

    ' Clears the clipboard contents.
    Application.CutCopyMode = False

    ' Restores the invoking workbook as the active
    ' Excel workbook. 
    Workbooks(CurrentFileName).Activate
    Range("A1").Select

    ' Re-Enables Excel screen display.
    Application.ScreenUpdating = True
End Sub
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.