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

String "F15" For i = 1 to 20 bis "F34" hochzählen

String "F15" For i = 1 to 20 bis "F34" hochzählen
Peter
Guten Abend
Angenommen, die String-Variable strZelle hat den Wert "F15". Wie kann ich diesen String "hochzählen"? Der 20. und letzte String müsste dann "F34" sein.
Wäre super, wenn man da jemand weiterhelfen könnte.
Gruss, Peter
Sub Eintragen()
Dim iAs Integer
For i= 1 To 20
Cells(i, 1) = intRow
Next i
End Sub

Zelladresse inkrementieren und Werte eintragen
04.11.2010 18:03:50
NoNet
Hallo Peter,
ich habe nicht so ganz verstanden, WAS Du genau erreichen möchtest, aber ich vermute, eine der beiden Lösungen sollte Dein Problem lösen :
Sub Eintragen1()
Dim i As Integer, strZelle As String, intRow As Integer
strZelle = "F15"
intRow = StrReverse(CStr(Val(StrReverse(strZelle))))
For i = 1 To 20
Cells(i + intRow - 1, 1) = intRow + i - 1
Next i
End Sub

Sub Eintragen2()
Dim i As Integer, rngZelle As Range, intRow As Integer
Set rngZelle = Range("F15")
intRow = StrReverse(CStr(Val(StrReverse(rngZelle.Address))))
For i = 1 To 20
rngZelle.Offset(i - 1) = intRow + i - 1
Next i
End Sub

Das erste Makro trägt in die Zellen A15:A34 die Werte 15 bis 34 ein, das 2.Makro trägt in den Bereich F15:F34 die Werte 15 bis 34 ein.
Ich hoffe einer der beiden Codebeispiele "passt".
Gruß, NoNet
Anzeige
AW: Zelladresse inkrementieren und Werte eintragen
04.11.2010 21:01:42
Peter
Hallo NoNet
Vielen Dank für deine Hilfe. In der Zwischenzeit habe ich den Code, welcher zu erweitern ist, weiter gebracht, so dass ich besser erklären kann, was ich mit diesem String "hochzählen" gemeint habe.
Die 31 Codezeilen - beginnend mit Range("_TOT").Cells(1) = getvalue(p, f, s, "F15") - unten möchte ich mit einer Schlaufe vereinfachen. Vorerst konnte ich mir so jedoch verhelfen.
Einerseits möchte ich die Zahl von Cells(1) hochzählen, bis 31 und dann getvalue nicht mehr den String "F15", "F16", ... etc. übergeben sondern diese Zelle "hochzählen, der Ausgangspunkt, also "F15" wird mit r = [_xqG] der Variable r übergeben.
Wäre super, wenn du mir da auf den Sprung helfen könntest.
Gruss, Peter
Sub DatenVKG()
Dim p As String, f As String, s As String, r As String
p = [_xp]
f = [_xf]
s = [_xs]
r = [_xqG]
With Range("_TOT")
.NumberFormat = "#'##0.00;;"
End With
Range("_TOT").Cells(1) = getvalue(p, f, s, "F15")
Range("_TOT").Cells(2) = getvalue(p, f, s, "F16")
Range("_TOT").Cells(3) = getvalue(p, f, s, "F17")
Range("_TOT").Cells(4) = getvalue(p, f, s, "F18")
Range("_TOT").Cells(5) = getvalue(p, f, s, "F19")
Range("_TOT").Cells(6) = getvalue(p, f, s, "F20")
Range("_TOT").Cells(7) = getvalue(p, f, s, "F21")
Range("_TOT").Cells(8) = getvalue(p, f, s, "F22")
Range("_TOT").Cells(9) = getvalue(p, f, s, "F23")
Range("_TOT").Cells(10) = getvalue(p, f, s, "F24")
Range("_TOT").Cells(11) = getvalue(p, f, s, "F25")
Range("_TOT").Cells(12) = getvalue(p, f, s, "F26")
Range("_TOT").Cells(13) = getvalue(p, f, s, "F27")
Range("_TOT").Cells(14) = getvalue(p, f, s, "F28")
Range("_TOT").Cells(15) = getvalue(p, f, s, "F29")
Range("_TOT").Cells(16) = getvalue(p, f, s, "F30")
Range("_TOT").Cells(17) = getvalue(p, f, s, "F31")
Range("_TOT").Cells(18) = getvalue(p, f, s, "F32")
Range("_TOT").Cells(19) = getvalue(p, f, s, "F33")
Range("_TOT").Cells(20) = getvalue(p, f, s, "F34")
Range("_TOT").Cells(21) = getvalue(p, f, s, "F35")
Range("_TOT").Cells(22) = getvalue(p, f, s, "F36")
Range("_TOT").Cells(23) = getvalue(p, f, s, "F37")
Range("_TOT").Cells(24) = getvalue(p, f, s, "F38")
Range("_TOT").Cells(25) = getvalue(p, f, s, "F39")
Range("_TOT").Cells(26) = getvalue(p, f, s, "F40")
Range("_TOT").Cells(27) = getvalue(p, f, s, "F41")
Range("_TOT").Cells(28) = getvalue(p, f, s, "F42")
Range("_TOT").Cells(29) = getvalue(p, f, s, "F43")
Range("_TOT").Cells(30) = getvalue(p, f, s, "F44")
Range("_TOT").Cells(31) = getvalue(p, f, s, "F45")
End Sub

Anzeige
AW: Zelladresse inkrementieren und Werte eintragen
04.11.2010 23:16:31
Josef

Hallo Peter,
meinst du so?
Sub DatenVKG()
  Dim p As String, f As String, s As String, r As String
  Dim lngI As Long
  
  p = [_xp]
  f = [_xf]
  s = [_xs]
  r = [_xqG]
  
  With Range("_TOT")
    .NumberFormat = "#'##0.00;;"
    
    For lngI = 1 To 31
      .Cells(lngI) = getvalue(p, f, s, "F" & CStr(lngI + 14))
    Next
    
  End With
  
End Sub


Gruß Sepp

Anzeige
AW: Zelladresse inkrementieren und Werte eintragen
05.11.2010 22:28:06
Peter
Hallo Sepp
Das ist schon fast perfekt, vielen Dank. Nun möchte ich noch eine Verbindung haben zwischen r und dem 4. Argument von getvalue "F" & CStr(LngI + 14))
r wird mit [_xqG] der String "F15" zugewiesen. In einer anderen Umgebung könnte es auch AA19 sein.
Nun müsste ich Spaltenbuchstabe(n) und Zeilennummer je einer separaten Variable zuordnen können (also "F" und 15, rsp. "AA" und 19 und dann diese Variablen anstelle von "F" und + 14 einsetzen.
Angenommen, der Spaltenbuchstabe wird der strVariable strR zugewiesen und die Zeilennummer der lngVariable lngC
Dann würde die Codezeile wie folgt lauten:
.Cells(lngI) = getvalue(p, f, s, strR & CStr(lngI + lngC - 1))
Wie schaffe ich die Verbindung zwischen der im Range [_xqG] enthaltenen Zellreferenz und den Variablen strR und lngC?
Danke und Gruss, Peter
Anzeige
AW: Zelladresse inkrementieren und Werte eintragen
05.11.2010 22:44:25
Josef

Hallo Peter,
dann so.
.Cells(lngI) = getvalue(p, f, s, Range(r).Offset(lngI - 1, 0).Address(0, 0))


Gruß Sepp

AW: Zelladresse inkrementieren und Werte eintragen
05.11.2010 23:06:52
Peter
Hallo Sepp
Das ist perfekt. Vielen Dank!
Peter
Anzeige

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige