Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
824to828
824to828
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Teil von Zellenwert Importieren

Teil von Zellenwert Importieren
08.12.2006 10:52:00
Zellenwert
Hallo Leute,
ich möchte eine Tabelle vereinfachen. Mit folgendem Code werden Werte aus einer Zelle gelesen und Importiert:
With Sheets("Daten")
For i = 2 To .Cells(.Rows.Count, 3).End(xlUp).Row
If .Cells(i, 20) >= lngStart And .Cells(i, 20) wks.Cells(k, 2) = .Cells(i, 2)
wks.Cells(k, 5) = .Cells(i, 20)
wks.Cells(k, 10) = .Cells(i, 25)
k = k + 1
End If
Kann dieser Code so angepasst werden, dass nicht der ganze Zellenwert, sondern nur die ersten 4 Zeichen in die Spalte 2, und die letzten 3 Zeichen in die Spalte 3 Importiert werden? Die Zellen der zu importierenden Spalte sind im Standardformat und weisen folgende Struktur auf: "1111 AAA".
Bin gespannt auf eure Tipp's .... ich habe es nicht geschafft!
Gruss bully

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teil von Zellenwert Importieren
08.12.2006 11:30:35
Zellenwert
Hallo Martin,
ich habe den Code für meine Datei angepasst. Er sieht nun so aus:

Sub h()
Dim Wert As String
t = Sheets("7").Range("B:B").Value
Wertrechts = Right(t, Len(t) - 4)
Wertlinks = Left(t, Len(t) - 3)
Sheets("7").Range("C:C").Value = Wertrechts
Sheets("7").Range("D:D").Value = Wertlinks
End Sub

Es funktioniert leider nicht. Liegt es daran, dass ich ihn auf jede Zeile anwenden möchte, oder liegt es an der Einfügeposition in meinem Code? Wo genau müsste er platziert sein?
Gruss bully
Anzeige
AW: Teil von Zellenwert Importieren
08.12.2006 12:55:15
Zellenwert
Hallo Bully
Was ist k?
Dim Wert As String
i = 1
Do until i = deine Zeilenanzahl
t = Sheets("7").Cells(i,2).Value
Wertrechts = Right(t, Len(t) - 4)
Wertlinks = Left(t, Len(t) - 3)
Sheets("7").Cells(i,3).Value = Wertrechts
Sheets("7").Cells(i,4).Value = Wertlinks
i =i + 1
Loop
End Sub
So vielleicht?
Gruß Martin
AW: Teil von Zellenwert Importieren
08.12.2006 15:27:46
Zellenwert
Hallo Martin,
k definiert die Anfangszeile und entspricht dem Wert 10. Mit deinem Code komme ich immer noch nicht zurecht. Ich habe diverse Anpassungen probiert, es will einfach nicht funktionieren.
Ist es in VBA nicht möglich, wie mit der Funktion TEIL, nur die gewünschten Zeichen 1-4, oder 5-8 in eine separate Spalte zu importieren?
Gruss bully
Anzeige
AW: Teil von Zellenwert Importieren
08.12.2006 22:47:11
Zellenwert
Hi,
hier also der vollständige Code:

Sub GetData(wks As Worksheet, lngStart As Long, lngEnd As Long)
Dim i As Long, k As Long
Application.ScreenUpdating = False
k = 10                                                   'Startreihe
wks.Rows("10:65536").Delete                              'Werte löschen
'Daten übertragen:
With Sheets("Daten")
For i = 2 To .Cells(.Rows.Count, 3).End(xlUp).Row
If .Cells(i, 20) >= lngStart And .Cells(i, 20) <= lngEnd Then
wks.Cells(k, 1) = wks.Cells(6, 4)               'Index
wks.Cells(k, 2) = .Cells(i, 2)                  'Bez.
wks.Cells(k, 5) = .Cells(i, 20)                 'Datum
wks.Cells(k, 5).NumberFormat = "ddmmyyyy"       'Format
wks.Cells(k, 6) = .Cells(i, 24)                 'Eber Rasse
wks.Cells(k, 7) = .Cells(i, 23)                 'Eber-Zeichen
wks.Cells(k, 9) = .Cells(i, 26)                 'KB-Art
wks.Cells(k, 10) = .Cells(i, 25)                'KB-Anzahl
k = k + 1
End If
Next
wks.Range("L1") = k - 10                              'Anzahl
End With
'sortieren (aufsteigend=xlAscending; absteigend=xlDescending):
With wks
.Range("B10:AE" & .Cells(.Rows.Count, 3).End(xlUp).Row).Sort _
Key1:=.Range("D10"), _
Order1:=xlAscending, _
Key2:=.Range("C10"), _
Order2:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers, _
DataOption2:=xlSortNormal
End With
Application.ScreenUpdating = True
End Sub

Ich hoffe, das hilft!
Gruss bully
Anzeige
AW: Teil von Zellenwert Importieren
10.12.2006 11:04:55
Zellenwert
Hi Bully,
Sub GetData(wks As Worksheet, lngStart As Long, lngEnd As Long)
Dim i As Long, k As Long
Application.ScreenUpdating = False
k = 10                                                   'Startreihe
wks.Rows("10:65536").Delete                              'Werte löschen
'Daten übertragen:
With Sheets("Daten")
For i = 2 To .Cells(.Rows.Count, 3).End(xlUp).Row
If .Cells(i, 20) >= lngStart And .Cells(i, 20) <= lngEnd Then
wks.Cells(k, 1) = wks.Cells(6, 4)               'Index
'wks.Cells(k, 2) = .Cells(i, 2)                  'Bez.
wks.Cells(k, 2) = Left(.Cells(i, 2), 4)
wks.Cells(k, 3) = Right(.Cells(i, 2), 3)
wks.Cells(k, 5) = .Cells(i, 20)                 'Datum
wks.Cells(k, 5).NumberFormat = "ddmmyyyy"       'Format
wks.Cells(k, 6) = .Cells(i, 24)                 'Eber Rasse
wks.Cells(k, 7) = .Cells(i, 23)                 'Eber-Zeichen
wks.Cells(k, 9) = .Cells(i, 26)                 'KB-Art
wks.Cells(k, 10) = .Cells(i, 25)                'KB-Anzahl
k = k + 1
End If
Next
wks.Range("L1") = k - 10                              'Anzahl
End With
'sortieren (aufsteigend=xlAscending; absteigend=xlDescending):
With wks
.Range("B10:AE" & .Cells(.Rows.Count, 3).End(xlUp).Row).Sort _
Key1:=.Range("D10"), _
Order1:=xlAscending, _
Key2:=.Range("C10"), _
Order2:=xlAscending, _
Header:=xlNo, _
OrderCustom:=1, _
MatchCase:=False, _
Orientation:=xlTopToBottom, _
DataOption1:=xlSortTextAsNumbers, _
DataOption2:=xlSortNormal
End With
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
Danke!
10.12.2006 19:49:58
bully
Hi Reinhard,
vielen Dank für die Lösung meines Problems. Es funktioniert fehlerfrei! Genau so habe ich mir die Lösung vorgestellt, aber bei meinen fehlenden Kenntnissen bin ich natürlich nicht soweit gekommen. Nochmals vielen Dank.
Gruss bully

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige