txt dosyasını hücrelere yazdırma sorunu

Katılım
23 Mart 2020
Mesajlar
17
Excel Vers. ve Dili
vba
Merhabalar
txt dosyalarımda başlıklarım stabil (TRAFO DEGERLERI,Trafonun Gucu vs..) fakat değerleri her dosyada farklı. bu dosyalardaki değerleri, başlıkların alt alta yazılı olduğu bi sayfadaki c ve d sütünlarına yazdırmak istiyorum bir buton ile. Koduaşağıdaki gibi yazdım fakat iki sütuna da ilk seçtiğim dosyadaki değer neyse onu yazıyor. Napmalıyım yardımcı olursanız çok sevinirim. Teşekkürler.

Butonun içindeki kod:

Dim myFile As String, text As String, textline As String, baslik As Integer, posLat As Integer, posLong As Integer, A As Integer, fa As Integer,
myFile = Application.GetOpenFilename()
Open myFile For Input As #1
Do Until EOF(1)
Line Input #1, textline
text = text & textline
Loop
Close #1
baslik = InStr(text, "TRAFO DEGERLERI")
posLat = InStr(text, "Trafonun Gucu:")
posLong = InStr(text, "Frekans:")
A = InStr(text, "Baglanti Grubu:")
fa = InStr(text, "FAZ Sayisi:")

Range("C7").Value = Mid(text, baslik + 20, 15)
Range("C8").Value = Mid(text, posLat + 14, 8)
Range("C9").Value = Mid(text, posLong + 8, 10)
Range("C10").Value = Mid(text, A + 15, 1)
Range("C11").Value = Mid(text, fa + 11, 5)
NewFile = Application.GetOpenFilename()
Open NewFile For Input As #1
Do Until EOF(1)
Line Input #1, textline
text = text & textline
Loop
Close #1
baslik = InStr(text, "TRAFO DEGERLERI")
posLat = InStr(text, "Trafonun Gucu:")
posLong = InStr(text, "Frekans:")
A = InStr(text, "Baglanti Grubu:")
fa = InStr(text, "FAZ Sayisi:")

Range("D7").Value = Mid(text, baslik + 20, 15)
Range("D8").Value = Mid(text, posLat + 14, 8)
Range("D9").Value = Mid(text, posLong + 8, 10)
Range("D10").Value = Mid(text, A + 15, 1)
Range("D11").Value = Mid(text, fa + 11, 5)
End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Text dosyalarından örnek eklerseniz, duruma bakalım ....

.
 
Katılım
23 Mart 2020
Mesajlar
17
Excel Vers. ve Dili
vba
txt dosyasını yüklemeyi beceremedim fakat dosyaların içinde kısaca böyle yazıyor değerleri değişiyor sadece

TRAFO DEGERLERI (AG-YG:CU)
Trafonun Gucu: 50 kVA
Frekans: 50 HZ
Baglanti Grubu:Y Z
FAZ Sayisi: 3 FAZ
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Google Drive gibi bir yere yükleyin ... ya da "Altın Üye" olun.

.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Neyse; siz şunu kullanın ....

Kod:
Sub Test()
    Dim myFile As String, text As String, textline As String
    Dim baslik As Integer, posLat As Integer, posLong As Integer, A As Integer, fa As Integer
    
    myFile = Application.GetOpenFilename()
    
    Open myFile For Input As #1
        Do Until EOF(1)
            Line Input #1, textline
            text = text & textline
        Loop
    Close #1
    
    baslik = InStr(text, "TRAFO DEGERLERI")
    posLat = InStr(text, "Trafonun Gucu:")
    posLong = InStr(text, "Frekans:")
    A = InStr(text, "Baglanti Grubu:")
    fa = InStr(text, "FAZ Sayisi:")
    
    Range("C7").Value = Mid(text, baslik + 20, 15)
    Range("C8").Value = Mid(text, posLat + 14, 8)
    Range("C9").Value = Mid(text, posLong + 8, 10)
    Range("C10").Value = Mid(text, A + 15, 1)
    Range("C11").Value = Mid(text, fa + 11, 5)
    
    NewFile = Application.GetOpenFilename()
    text = ""
    
    Open NewFile For Input As #1
        Do Until EOF(1)
            Line Input #1, textline
            text = text & textline
        Loop
    Close #1
    
    baslik = InStr(text, "TRAFO DEGERLERI")
    posLat = InStr(text, "Trafonun Gucu:")
    posLong = InStr(text, "Frekans:")
    A = InStr(text, "Baglanti Grubu:")
    fa = InStr(text, "FAZ Sayisi:")
    
    Range("D7").Value = Mid(text, baslik + 20, 15)
    Range("D8").Value = Mid(text, posLat + 14, 8)
    Range("D9").Value = Mid(text, posLong + 8, 10)
    Range("D10").Value = Mid(text, A + 15, 1)
    Range("D11").Value = Mid(text, fa + 11, 5)
End Sub
 
Son düzenleme:

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kodu revize etmiştim, bir kere daha bakın .....

.
 
Katılım
23 Mart 2020
Mesajlar
17
Excel Vers. ve Dili
vba
Sanırım oldu çok teşekkürler
 
Üst