Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1280to1284
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
Inhaltsverzeichnis

Transpose Problem - mit VBA

Transpose Problem - mit VBA
11.10.2012 19:30:54
Matze,Matthias
Nabend Excelfreunde,
füge Werte aus einem Spaltenbereich per Transpose in eine weitere Tabelle ein,
allerdings soll er die nächste frei Zeile nutzen.
Ich habe das Problem das er mir 9 Leerzeilen freiläst und dann einfügt. Was ,wo ist mein Fehler?
Sub Kopieren()
Dim Zeile As Integer
Worksheets("Eingabe").Range("D3:D12").Copy
With Worksheets("Datenbank")
.Activate
Zeile = .Columns(2).Cells.SpecialCells(xlCellTypeLastCell).Row
'ab hier fängt er 10 Zeilen tiefer an einzufügen?
.Cells(Zeile + 1, 2).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=True
Application.CutCopyMode = False
End With
Selection.Cells(1).Offset(1, 1).Select
End Sub

Zusatzaufgabe hier:
In Spalte A der Zieltabelle eine fortlaufende Nr einbinden.
Gruß Matze

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

Betreff
Datum
Anwender
Anzeige
AW: Transpose Problem - mit VBA
11.10.2012 19:40:48
Uduuh
Hallo,
SpecialCells(xlCellTypeLastCell) ist imho ziemlich unzuverlässig. So wie UsedRange auch.
Zeile = .Cells(Rows.Count,2).End(xlUp).Row
oder für Sicherheitsfanatiker
Zeile = IIf(.Cells(Rows.Count,2)"",Rows.Count, .Cells(Rows.Count,2).End(xlUp).Row)
Gruß aus’m Pott
Udo

@Uduuh,....
11.10.2012 19:47:42
Matze,Matthias
Hi Uduuh,
lieben vielen Danke für die Aufklärung, so funktioniert es wie es sein soll.
Könntest du dich bitte noch um die Zusatzaufgabe kümmern,
damit komme ich auch nicht klar.
In Spalte A eine fortlaufen Nr mit einbinden wenn eingefügt wurde.
Danke Matze

Anzeige
lfd. Nummer
11.10.2012 20:13:29
Uduuh
Hallo,
In Spalte A eine fortlaufen Nr mit einbinden

Wie soll die aussehen?
Einfach die Zeilennummer:
With .Cells(Zeile+1,1).Rsize(10)
.formula="=Row()"
.value=.value
end with
Gruß aus’m Pott
Udo

AW: lfd. Nummer
11.10.2012 20:30:07
Matze,Matthias
Hallo Uduuh,
hab es so versucht
.Cells(Zeile + 1, 1).Value = .Cells(Zeile, 1).Value + 1
allerdings wenn in A1 ein Text steht, habert es damit
deine code Zeilen etwas verbessert , danke für diesen Tipp
With .Cells(Zeile+1,1).Resize(1)
.formula="=Row()-1" 'da er ab Zeile 2 einfügt
.value=.value
end with
gruß Matze

Anzeige
Resize?
11.10.2012 20:48:43
{Boris}
Hi Matze,
was versprichst Du Dir hier von der Verwendung der Resize-Eigenschaft:
With .Cells(Zeile+1,1).Resize(1)
?
VG, Boris

AW: Transpose Problem - mit VBA
11.10.2012 19:48:03
Matthias
Hallo Matze
Weil xlCellTypeLastCell, die letzte Zelle im verwendeten Bereich ist.
Nimm einfach mal eine nigelnagelneue Datei
und lass den Code laufen:
Pack einfach mal eine MsGBox rein:
     Zeile = .Columns(2).Cells.SpecialCells(xlCellTypeLastCell).Row
MsgBox "Weil Zeile = " & Zeile & " ist!"
Wenn Du nun den transponierten Bereich wieder entfernst, bleibt er für Excel dennoch
dieser Bereich als einmal benutzt erhalten.
Schreib nun mal in A100 ein X und entferne es wieder
Nun den Code laufen lassen.
Nun übernimmt die Variable(Zeile) den Wert 100 und transponiert ab Zeile 101
Gruß Matthias

Anzeige
Ja, richtig, man müsste 1x benutzte Zln/Spn ...
11.10.2012 20:45:41
Luc:-?
…schon ganz entfernen!
Gruß Luc :-?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige