Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
296to300
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
296to300
296to300
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

funktionen per vba setzen

funktionen per vba setzen
18.08.2003 14:41:38
dirk
Hallo zusammen!
Ich möchte per VBA-Code in einer Schleife eine Funktion in die erste Spalte jeder Zeile setzen:
Do While Not IsEmpty(fromSheet.Cells(i, 1))
Range("A" & i + 3).Select
dummy = "=IF(RC[1]=R[-1]C[1],0,1)"
ActiveCell.FormulaR1C1 = dummy
i = i + 1
Loop
Das gelingt nur unzuverlässig.
Mal nimmt er die Funktion als Funktion in der Zelle an, mal nimmt er das Ganze als String-Literal.
Das hat dann den Effekt, dass ich in einem Durchlauf (auf ein und demselben Sheet) verschiedene Effekte (je nach Zeile) beobachten kann.
Hätte eigentlich gedacht, dass das dann am Format der einzelnen Zelle liegt, aber auch wenn ich die komplette Spalte markiere und dann alle Zellen einheitlich formatiere, erziele ich unterschiedliche Ergebnisse.
Die höchste Erfolgsquote gibts eindeutig bei "Stadard"-Format, allerdings ist auch das unzuverlässig.
Hat dazu vielleicht jemand eine Idee?
Danke
Dirk

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: funktionen per vba setzen
18.08.2003 14:55:20
K.Rola
Hallo,
i hat beim Start deines Makros noch keinen Wert. Was soll fromsheet sein?
Um eine Formel zuzuweisen, muss die Zelle nicht selektiert werden.
Mal ein Beispiel:

Sub test()
i = 1
Do While Not IsEmpty(Cells(i, 2))
Range("A" & i + 3) = "=IF(RC[1]=R[-1]C[1],0,1)"
i = i + 1
Loop
End Sub

Gruß K.Rola

AW: funktionen per vba setzen
18.08.2003 15:40:36
dirk
hi!
is ist integer und initialisiert.
fromSheet ist ein Worksheet-Objekt.
Hatte nur einen Ausschnitt eingetragen, hier das ganze:
Option Explicit

Sub ArcFillWork()
' ArcFillWork Makro
' Makro am 05.08.2003 von wkst_t7.3  aufgezeichnet
' Tastenkombination: Strg+q
Dim toSheet As Object
Dim fromSheet As Object
Dim i As Integer
Dim distance_copy As String
Dim dummy As String
Dim maparccolor_copy As String
Set toSheet = Worksheets("Arc-Work")
Set fromSheet = Worksheets("Arc-Sym")
toSheet.Select
toSheet.Range("A1").Select
toSheet.Range("A4:IV65536").Select
Selection.ClearContents
i = 1
Do While Not IsEmpty(fromSheet.Cells(i, 1))
Range("A" & i + 3).Select
dummy = "=IF(AND(AND(RC2=R[-1]C2,RC3=R[-1]C3),RC4=R[-1]C4),0,1)"
ActiveCell.Formula = dummy
toSheet.Cells(i + 3, 2).Value = fromSheet.Cells(i, 3).Value
toSheet.Cells(i + 3, 3).Value = fromSheet.Cells(i, 5).Value
toSheet.Cells(i + 3, 4).Value = fromSheet.Cells(i, 7).Value
If toSheet.Cells(i + 3, 1).Value = 1 Then
distance_copy = fromSheet.Cells(i, 9).Value
maparccolor_copy = fromSheet.Cells(i, 11).Value
End If
toSheet.Cells(i + 3, 5).Value = distance_copy
toSheet.Cells(i + 3, 6).Value = maparccolor_copy
i = i + 1
Loop
Call copySymToWork("Arc", 9, 7, 2)
End Sub

Wenn da noch was auffällt, wäre ich für Anregungen dankbar.
Keine Ahnung, ob das alles geschickt ist, ich haette nur erwartet dass es funktioniert.
Ciao
Dirk

Anzeige
AW: funktionen per vba setzen
18.08.2003 16:30:13
Knur
Hallo,
lad doch mal die Mappe hoch.
Gruß K.Rola

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige