Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1660to1664
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

VBA Neue Spalte generieren

VBA Neue Spalte generieren
10.12.2018 15:27:15
Peter
Guten Tag allerseits,
ich habe als absoluter VBA Anfänger folgendes Problem:
Ich möchte einen Code schreiben der aus Spalte J die Zahlenwerte & das dazugehörige Datum aus Spalte I in zwei neue Spalten übernimmt, sofern der Zahlenwert ungleich 0 bzw ungleich #NV ist. Am Ende sollte ich dann zwei Spalten erhalten die so aussehen wie die zwei Spalten zuvor nur eben ohne diese Zeilen mit den 0 Werten.
Hintergrund der Aufgabe ist das ich über 30.000 Zeilen habe und diese somit nicht händisch überprüfen & ggf. übertragen kann.
Ich würde mich um eure Hilfe riesig freuen, auch wenn die Aufgabe für euch sicherlich sehr einfach ist.
Liebe Grüße
Peter

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Neue Spalte generieren
10.12.2018 16:40:11
Bernd
Servus Peter,
meinst du so in der Art:

Sub test()
Dim i As Integer
Dim intLZ As Long
Dim intLS As Integer
With ActiveSheet
intLZ = .Cells(Rows.Count, 1).End(xlUp).Row
intLS = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
For i = 1 To intLZ
If Not IsError(.Cells(i, 10)) Then
If IsNumeric(.Cells(i, 10)) And .Cells(i, 10).Value  0 And IsDate(.Cells(i, 9))  _
Then
.Cells(i, intLS) = .Cells(i, 9).Value
.Cells(i, intLS + 1) = .Cells(i, 10).Value
End If
End If
Next i
End With
End Sub
Grüße, Bernd
AW: VBA Neue Spalte generieren
11.12.2018 15:21:36
Peter
Hallo Bernd,
der Quellcode sieht gut aus. Wäre es möglich die Werte in den neuen Zeilen & Spalten ohne Abstand nacheinander folgen zu lassen? Bis jetzt stehen die Werte und das dazugehörige Datum noch auseinander, da ich in meinem letzten Post dies nicht erwähnt hatte.
Den Part:
intLZ = .Cells(Rows.Count, 1).End(xlUp).Row
intLS = .Cells(1, Columns.Count).End(xlToLeft).Column + 1
habe ich nicht ganz nachvollziehen können, mich würde es freuen wenn ich dazu eine kleine Erklärung bekomme was dort eigentlich genau steht.
Ich habe das Problem das das Makro zwar reibungslos durchläuft, ich aber keine Änderungen sehen kann. Deswegen versuche ich den Code nochmal selber zu verstehen.
Vielen Dank für die Hilfe!
Liebe Grüße
Peter
Anzeige

92 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige