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

Werte in bestimmte Zelle schreiben

Werte in bestimmte Zelle schreiben
Jara
Hallo,
leider habe ich in der SuFu nichts gefunden.
Ich mache erst seit ca. 7 Tagen VBA und hoffe Ihr könnte mir helfen. Ich lasse Werte aus einer Tabelle in die andere Schreiben. Jedoch möchte ich gerne das die Werte nicht bei B2 anfangen, sondern zb bei B19.
Mein Code sieht derzeit so aus!
If str1 = "Haus" And str2 = "Auto" Then _
Sheets("Auto").Cells(Rows.Count, "B").End(xlUp).Offset(1, 0) = strAuto
Sheets("Haus").Cells(Rows.Count, "C").End(xlUp).Offset(1, 0) = strHaus
...... usw
elseif ... usw
Der Befehl Exd(xlUp) sucht ja von oben die Tabelle nach der nächsten freien Zelle richtig? Wie auch immer, ich bekomme es nicht ohne Eure Hilfe gelöst :)
VG
AW: Werte in bestimmte Zelle schreiben
15.07.2009 15:11:32
Tino
Hallo,
nein xlUp sucht von unten nach oben nach der ersten belegten Zelle.
Für die nächste freie Zelle müsste es so gehen.
Sub Beispiel()
Dim rZelle As Range

Set rZelle = IIf(IsEmpty(Range("A1")), Range("A1"), Range("A1").End(xlDown).Offset(1, 0))

MsgBox "nächste leere Zelle ist " & rZelle.Address(0, 0)

End Sub

Gruß Tino
Anzeige
Mind. in Zeile 19 schreiben
15.07.2009 15:17:30
NoNet
Hallo Jara,
ich würde das so lösen :
    Dim lngZ As Long
If str1 = "Haus" And str2 = "Auto" Then
With Sheets("Auto")
lngZ = Application.MaxChange(18, .Cells(Rows.Count, "B").End(xlUp).Offset(1, 0).Row) _
.Cells(lngZ, "B") = strAuto
End With
With Sheets("Haus")
lngZ = Application.MaxChange(18, .Cells(Rows.Count, "C").End(xlUp).Offset(1, 0).Row) _
.Cells(lngZ, "C") = strHaus
End With
End If

Gruß, NoNet
Kleine Änderungen
16.07.2009 08:44:35
Erich
Hi Jara und NoNet,
hier NoNets Code mit kleinen Änderungen:
(statt MaxChange sollte da wohl nur Max stehen)

Option Explicit
Sub tst()
Dim str1 As String, str2 As String
Dim strHaus As String, strAuto As String
Dim lngZ As Long
str1 = "Haus"
str2 = "Auto"
strHaus = "abc"
strAuto = "def"
If str1 = "Haus" And str2 = "Auto" Then
With Sheets("Auto")
lngZ = Application.Max(19, .Cells(.Rows.Count, 2).End(xlUp).Row + 1)
.Cells(lngZ, 2) = strAuto
End With
With Sheets("Auto")
lngZ = Application.Max(19, .Cells(.Rows.Count, 3).End(xlUp).Row + 1)
.Cells(lngZ, 3) = strHaus
End With
End If
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Uuups - wie ist denn das passiert ? - Danke..
16.07.2009 11:28:16
NoNet
Hallo Erich,
vielen Dank : sehr gut aufgepasst ! Das sollte natürlich wirklich .MAX und nicht .MaxChange heißen !
Da war die Intellisense des VBA-Editors mal wieder schneller als meine TAB-Taste.
Gruß, NoNet
AW: Uuups - wie ist denn das passiert ? - Danke..
17.07.2009 10:21:35
Jara
Hi Erich,
ich bekomme bei Deinem Code folgende Meldung
lngZ = Application.Max(19, .Cells(.Rows.Count, 2).End(xlUp).Row + 1) _
.Cells(lngZ, 2) = strHandbook
Objekt erforderlich (Fehler 424)
VG Jara
AW: Uuups - wie ist denn das passiert ? - Danke..
17.07.2009 10:48:49
Jara
Vergessen Frage noch offen anzuklicken :)
AW: Uuups - wie ist denn das passiert ? - Danke..
17.07.2009 12:43:48
Rudi
Hallo,
mach mal die _ weg.
Gruß
Rudi
Ohne Unterstrich!
17.07.2009 13:02:07
Erich
Hi Jara,
bei meinem(?) Code stehen am Ende der "lngZ ="-Zeilen keine Unterstriche (Fortsetzungszeichen).
(Das hat Rudi ja schon geschrieben.)
Dafür stand in meinem Code zweimal die Zeile "With Sheets("Haus")".
Einmal hätte da natürlich "With Sheets("Auto")" stehen müssen.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Ohne Unterstrich!
17.07.2009 13:36:39
Jara
Hi Erich,
hab die Unterstrichte weggemacht. Jedoch immer noch die gleiche Meldung für diese Zeile:
lngZ = Application.Max(19, .Cells(.Rows.Count, 2).End(xlUp).Row + 1).Cells(lngZ, 2) = strHandbook
Das mit der With hab ich schon korrigiert :)
VG Jara
AW: Ohne Unterstrich!
17.07.2009 14:46:37
Jara
Das heisst natürlich Unterstriche, nicht strichte :o)
AW: Ohne Unterstrich!
17.07.2009 14:51:06
Rudi
wer sagt denn, dass alles in eine Zeile gehört?
lngZ = Application.Max(19, .Cells(.Rows.Count, 2).End(xlUp).Row + 1)
.Cells(lngZ, 2) = strHandbook
Du solltest mal versuchen zu verstehen, was passiert.
Gruß
Rudi
Anzeige
AW: Ohne Unterstrich!
17.07.2009 15:24:42
Jara
Danke. Deshalb auch mein Level bei VBA Kenntnisse ;)

370 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige