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

VB Frage

VB Frage
07.10.2008 14:54:24
Andi
Hallo Experten,
Ich hab eine Frage zu Visual Basic. Und zwar möcht ich Daten in einer Zelle einfügen, falls in der Zelle jedoch was drinsteht soll die nächste Zelle (diejenige darunter) überprüft werden.....usw. Gibts eine Möglichkeit so ein Befehl im VB zu programmieren?
Danke für Eure Hilfe. Gruss Andi

15
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VB Frage
07.10.2008 15:08:24
Tino
Hallo,
ja geht
Beispiel
Sub test()
Dim DeinWert As String
    DeinWert "irgendetwas"
    Cells(Rows.Count, "A").Offset(1, 0) = DeinWert
End Sub


“A” ist in diesem Fall die Spalte A
Gruß Tino

Anzeige
AW: VB Frage
07.10.2008 15:50:00
Andi
Hallo Tino,
Danke für deine Antwort!! Ich weiss deine Lösung ist korrekt und funktioniert, nur kann ichs noch nicht ganz anwenden. Könntest Du mir bitte bei folgendem Beispiel anwenden
Ich kopiere eine Zeile
Rows("1:1").Select
Selection.Copy
Selektiere die gewünschte Zelle die als Anhaltspunkt für die einzufügende Spalte gilt
Range("a2").Activate
Falls was drinsteht soll die nächste verwendet werden
ActiveCell.Offset(1, 0).Select
Falls da nichts drin steht soll eingefügt werden (ansonsten eine Zelle nach unten)
ActiveSheet.Paste
Danke für deine Hilfe
Anzeige
AW: VB Frage
07.10.2008 16:09:15
Tino
Hallo,
jetzt habe ich verstanden.
So müsste es funktionieren.
Sub test()

If Range("A2") = "" Then
    Rows(1).Copy Range("A2")
 ElseIf Range("A3") = "" Then
    Rows(1).Copy Range("A3")
 Else
    Rows(1).Copy Range("A2").End(xlDown).Offset(1, 0)
End If

End Sub


Gruß Tino

www.VBA-Excel.de


Anzeige
AW: VB Frage
07.10.2008 16:28:38
Andi
Super, funktioniert!!! Danke vielmals!!
AW: Kopieren unter letzte Zeile
07.10.2008 16:19:55
Erich
Hallo Andi,
meinst du das so?

Sub EingfUnten()
Dim lngZ As Long
lngZ = Cells(Rows.Count, 1).End(xlUp).Row + 1
Rows(1).Copy Cells(lngZ, 1)
End Sub

Zeile 1 wird in die Zeile unter der letzten belegten Zelle in SPalte A kopiert.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: Kopieren unter letzte Zeile
07.10.2008 16:21:00
Erich
Hi Andi,
hier noch eine kürzere Variante:

Sub EingfUnten2()
Rows(1).Copy Cells(Cells(Rows.Count, 1).End(xlUp).Row + 1, 1)
End Sub

Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Kopieren unter letzte Zeile
08.10.2008 10:47:29
Andi
Hallo Erich,
Danke, super Lösung!! Habs so umgesetzt.
Gruss aus Wien
AW: Kopieren unter letzte Zeile
08.10.2008 10:59:27
Erich
Hi Andi,
Danke für diene Rückmeldung!
So super war's nicht. Das hier ist noch etwas übersichtlicher und kürzer:

Sub EingfUnten3()
Rows(1).Copy Cells(Rows.Count, 1).End(xlUp).Offset(1)
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Nachfrage?
08.10.2008 11:16:00
Tino
Hallo Andi,
muss mal nachfragen, nur um es zu verstehen.
Du hast doch geschrieben, der Code soll die nächste leere Zelle suchen und dort einfügen.
Dieser Code fügt die Zeile wie in meinem ersten Beispiel,
in die Zeile nach der letzten gefüllten Zelle in Spalte A, aber nicht in die nächste leere Zelle.
Oder wolltest Du doch die leere Zelle nach der letzten gefüllten Zelle?
Gruß Tino
Anzeige
AW: Nachfrage?
08.10.2008 14:03:00
Andi
Hallo Tino,
Ich wollte die Daten nach der letzten gefüllten Zeile einfügen (eine darunter). Sorry für meine komplizierte Beschreibung. Ich konnte es mit deinem (zweiten) Vorschlage auch lösen, war aber ein bisschen umständlicher.
Danke für deine Bemühungen, gruss Andi
@Erich: noch was
08.10.2008 11:02:25
Andi
Ich hab noch eine kleine Zusatzfrage..............wie kann ich das Einfügen der Daten bei deiner Formel beeinflussen. Ich möcht nämlich nur die Werte einfügen.
Das wär dann
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Danke und Gruss Andreas
Anzeige
AW: nur Werte kopieren
08.10.2008 11:09:38
Erich
Hi Andi,
dann geht das so:

Sub EingfUnten4()
Rows(Cells(Rows.Count, 1).End(xlUp).Row + 1) = Rows(1).Value
'oder
Cells(Rows.Count, 1).End(xlUp).Offset(1).EntireRow = Rows(1).Value
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: nur Werte kopieren
08.10.2008 11:28:54
Andi
Super, funktioniert einwandfrei (hab beide Versionen ausprobiert, da beide gleich schnell laufen hab ich die erste Version genommen). Könntest Du mir bitte auch noch sagen wie ich nicht nur die Werte sondern auch noch die Formate einfügen kann. Ich müsste Werte und Formate einfügen. Sorry, dass war bestimmt die letzte Anmerkung!!
DANKE für deine Hilfe
Anzeige
AW: nur Werte kopieren
08.10.2008 12:55:00
Erich
Hi Andi,
das ginge z. B. so:

Sub EinfgUnten5()
Rows(1).Copy
Cells(Rows.Count, 1).End(xlUp).Offset(1).PasteSpecial xlPasteValuesAndNumberFormats
Application.CutCopyMode = False
' Achtung, danach ist die neue Zeile markiert
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

AW: nur Werte kopieren
08.10.2008 13:34:20
Andi
Super, danke vielmals!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige