Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum
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


Hallo zusammen,
wie bekomme ich es hin, in eine Zelle "7 a" (7 Leerzeichen a) zu schreiben? Excel macht mir dann immer 7:00 AM daraus oder 0,29...
Danke
Anzeige

Guten Tag zusammen!
Bitte helft mir bei folgendem Problem:
In einer Userform habe ich eine ganze Reihe Textboxen, in die zum größten Teil Zahlen eingegeben werden.
Nun ist ja bekannt, dass beim Schreiben in Zellen der Inhalt der Textboxen als Text interpretiert wird. Mit der Anweisu...

Guten Tag zusammen!
Bitte helft mir bei folgendem Problem:
In einer Userform habe ich eine ganze Reihe Textboxen, in die zum größten Teil Zahlen eingegeben werden.
Nun ist ja bekannt, dass beim Schreiben in Zellen der Inhalt der Textboxen als Text interpretiert wird. Mit der Anweisu...
Anzeige

Halli Hallo,
ich bin ziemlicher Neuling in VBA. Daher würde ich euch bitten mir bei meiner Fragestellung zu helfen und zwar wie folgt: Ich möchte aus einer Tabelle aller Zellen kopieren, bis der Wert einer Zelle 0 annimmt. Diesen bestimten Bereich möchte ich in einer neuen Datei abspeichern...

hallo,
ich muß eine liste erstellen. die werte unten will ich nicht immer eingeben müssen, sondern nur dort wo ein wert stehen soll ein x machen. excel soll mir dann für jedes x den wert aus der zeile 2 der gleichen spalte eintragen. mache ich in eine zelle 2 x, dann muß der wert auch 2 mal...

Hi Leute
Ich habe hier diesen netten VBA Code geschrieben und leider wie solls auch anders sein kommt dauernd eine Fehlermeldung :)
CODE:
rowbeforeinteger = 2
Dim text As String
text = "=IF(" & epsoldcolumn & rowbeforeinteger & "=""x"";1;0)+IF(" & emailsoldco...
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige